Skip to content
rctrl Docsrctrl Docs

CLI reference

Every rankcontrol command, grouped by area, with flags and examples.

All commands print JSON. Authenticate once with rankcontrol login or export RANKCONTROL_API_KEY. Commands marked dry run do nothing until you add --confirm.

Setup

Command What it does
login Browser device authorization; saves a scoped key to ~/.rankcontrol. --scopes a,b,c to narrow.
logout Remove the locally stored key.
mcp Start the MCP server on stdio, for Claude, Cursor, and other agents.

Overview and reports

Command What it does
funnel AI pipeline, last 30 days: crawler hits, AI-referred visits.
report Executive summary: last 30 days vs the 30 before.
wins Biggest wins: most-cited page, cite-rate jump, ranking climb, best backlink.
agent-activity Recent runs per agent lane. --per-agent <n>, --since-days <n>.
jobs Recent agent runs, async job status. --limit <n>.
traffic Page views, visitors, sessions, bounce rate. --days 7|30|90.
engagement Per-page views and citations with 30-day sparklines.
rankings Google and Bing positions per keyword, Search Console clicks and impressions, and how often Google’s AI Overview shows above each keyword and names you. --scope ours|site.

Visibility

Command What it does
score Composite visibility score with per-pillar subscores.
visibility Daily AI visibility trend. --days 30|60|90.
sov Share of voice vs competitors. --days <n>.
competitors Tracked competitors with visibility score, 30-day citations of checks, domain metrics and positioning analysis.
web-totals Monthly web total for your domain and every competitor you track, last 3 months, oldest month first.
sources Domains AI answers cite for your tracked queries. --days <n>.
sentiment How AI answers frame your brand when cited. --days <n>.
citations Recent citation checks. --model chatgpt|perplexity|..., --limit <n>.
queries The tracked-query pool checked weekly across AI engines.
query-add <queryText> Add a query to the pool; tracks immediately when a slot is free.
crawler-access Daily probe: is your edge or robots.txt blocking the AI search crawlers.

Content

Command What it does
content List content pages with status.
ideas Scored idea backlog: uncovered queries, citation gaps, quick wins.
plan-idea <queryText> Put an idea on the calendar. --title to pin the headline.
idea-hide <queryId> Hide an idea from Content Ideas. A tracked query keeps its weekly checks.
plan-content Generate candidate titles. Nothing schedules until commit-titles.
commit-titles Approve reviewed titles onto the calendar from JSON (--file or stdin).
capacity Remaining plan slots on the calendar.
generate <contentId> Write a planned article’s body now. Dry run; spends LLM budget on --confirm.
publish <contentId> Publish to the connected CMS. Dry run until --confirm.
reschedule <contentId> <date> Move a planned article to a day (YYYY-MM-DD).
archive <contentId> Archive an article out of the working set.
optimizer Published pages ranked by citability, worst first, with open fixes.
internal-links <contentId> Inbound and outbound internal links for an article.

plan-content filters: --topics a,b, --content-types a,b, --max-difficulty <n>, --intents informational,commercial,transactional, --citation-gaps, --ranking-gaps.

rankcontrol plan-content --topics "travel insurance" --citation-gaps
rankcontrol commit-titles --file approved.json
rankcontrol publish mx7... --confirm

Article policy

Command What it does
settings Show the article policy: per-article defaults plus scheduling mode.
settings-set Merge-patch the policy. Only flags you pass change.

settings-set flags: --auto-publish on|off, --auto-generate on|off, --images on|off, --title-in-hero on|off, --section-infographics on|off, --related-reading on|off, --youtube on|off, --emojis on|off, --internal-links <n>, --external-links <n>, --instructions <text>, --flexible-schedule on|off, --image-style <set>.

Command What it does
site-pages Pages used for in-article links and Related Reading.
detect-links <url> Scan a sitemap for site pages. --blog-root to crawl a page instead.
add-pages <urls...> Add page URLs for internal linking; dedupes, titles auto-fill.

Repurposing

Command What it does
repurpose [contentId] The repurpose queue, or full drafts for one article.
repurpose-generate <contentId> Draft social posts. Dry run; --platforms a,b to narrow.
repurpose-edit <draftId> Edit a draft. --body, --title.
repurpose-channels Connected Buffer and Postiz channels and their ids.
repurpose-push <draftId> Send to Buffer or Postiz. Dry run; --scheduler postiz|buffer (needed when both are connected), --channels id1,id2, --when now|schedule|draft|queue (queue is Buffer only), --date <iso>.
repurpose-mark-posted <draftId> Mark a draft posted when you published it yourself.
Command What it does
backlinks The backlink table, newest first. --status <status>.
backlink-stats Totals plus outreach pipeline counts.
outreach-prospects Prospect sites per published article, with Domain Rating (dr, drSource: ahrefs, or dataforseo for an estimate) and found contacts.
outreach-stats Outreach funnel for the last 90 days by how each prospect was found: prospects, sent, replied, placed, with reply and placement rates per send.
outreach-find-contact <backlinkId> Find a contact email for a prospect.
outreach-draft-reply <backlinkId> AI-draft a reply to an inbound response. Nothing sends.
outreach-queue <backlinkId> Queue an outreach email. Dry run; --subject, --body.
outreach-status <backlinkId> <status> Move a prospect: identified, contacted, replied, link_placed, rejected.
network Link Network credits, membership state, and placements.
network-opt-in <on|off> Join or leave the network. Dry run; leaving retires live links.
network-remove-placement <id> Retire one placement. Dry run; visible on the partner site.

Social

Command What it does
social Thread prospects (Reddit/X) with rules context. --platform, --status, --age ranked|new.
social-stats Thread pipeline counts.
social-status <threadId> skipped Skip a thread. The only manual status; Posted is detected automatically.
social-draft-reply <threadId> AI-draft a reply for review. --mention none|natural|founderOpen. Nothing posts.
social-open <threadId> Take the draft to the platform yourself: prints the thread URL (X: a composer link with the reply filled in) and starts the checks that mark it Posted. --text for an edited reply (X: 280 characters or fewer).
social-x-handle <handle|clear> Optional X handle used to recognise your posted replies.
social-reddit-profile Save the Reddit account the Social tab drafts for: --karma, --age, --goal, --story, --tone, optional --username. Replaces the stored profile.

Brand

Command What it does
topics The pillar list (topic clusters).
topics-set <topics...> Replace the full pillar list, up to 20 topics.
brand Brand profile, products, and buyer profiles in one read.
brand-set Update identity: --name, --industry, --description, --aliases (other spellings searched as brand mentions, comma-separated), --not-us (same-name brands to skip), or --json for authors and styleReferenceUrls. Arrays replace the stored list.
brand-profile-set Patch voice and style fields. --json '{"tone":"..."}' or --json @file.json.
brand-product Create, update, or delete a product. --json (create: name, description, category; update: productId; delete: productId plus "del": true).
brand-icp Same semantics for buyer profiles (create: title, industry, demographics).
icp-suggest Up to 8 audiences for this site from its brand, products, competitors and topics. Saves nothing. --exclude titles already shown.
icp-draft Draft one buyer profile from --describe "<sentence>" or --title/--who from icp-suggest; --json fields are kept as written. Saves nothing; save it with brand-icp.
rankcontrol brand-profile-set --json '{"tone":"plainspoken, practical, no hype"}'
rankcontrol brand-product --json '{"name":"Acme API","description":"...","category":"product"}'

Team

Command What it does
team Members and pending invites with per-screen permissions.
team-invite <email> Invite a member. Dry run; --perms content=write,analytics=read.
team-revoke <invitationId> Revoke a pending invite.
team-remove <userId> Remove a member. Requires --confirm.

Support

Command What it does
support <subject> Send a message or bug report to the RankControl team. --message <text> required, --page <url> optional. Capped at 3 per minute.
Navigation

Type to search…

↑↓ navigate↵ selectEsc close