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, AI leads. |
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. |
leads |
Captured leads with AI source attribution. --limit <n>. |
engagement |
Per-page views and citations with 30-day sparklines. |
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>. |
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. |
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... --confirmArticle 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>.
Site links
| 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 Postiz channels and their ids. |
repurpose-push <draftId> |
Send to Postiz. Dry run; --channels id1,id2, --when now|schedule|draft, --date <iso>. |
repurpose-mark-posted <draftId> |
Mark a draft posted when you published it yourself. |
Link building
| 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 found contacts. |
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> <status> |
Move a thread through the pipeline. |
social-draft-reply <threadId> |
AI-draft a reply for review. --mention none|natural|founderOpen. Nothing posts. |
Brand
| Command | What it does |
|---|---|
brand |
Brand profile, products, and buyer profiles in one read. |
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). |
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. |