CitationBench's REST API for SERP analysis automates competitor tracking across every client brand. One platform for research, gap detection, and rank monitoring at scale.
# Fetch live SERP for any queryPOST /v1/research/serp/fetch> { "query": "best seo platform for agencies", "limit": 10 }{ "results": [{ "rank": 1, "domain": "ahrefs.com", "da": 91 }, ...# Detect winnable keyword gapsresearch.serp_gap.analyze> { "keyword": "seo platform for agencies", "workspace_id": "ws_acme" }cliff_position: 6 · gap_score: 0.74 · status: winnable# Pull competitor keywords and backlinksresearch.competitor.keywords{ "overlap": 38, "unique_to_competitor": 221, "opportunity_score": 0.81 }Running SERP analysis across dozens of clients by hand burns time and introduces errors that cost rankings.
Manually pulling SERP screenshots and exports for each client means data is already stale before it reaches the report.
Tools like Ahrefs surface data but don't detect the SERP cliff — the exact position where ranking becomes realistically winnable.
Switching between separate accounts or spreadsheets to compare competitor positions across brands wastes hours every week.
The fix
CitationBench's REST API fetches live SERPs, detects winnable gaps via SERP cliff analysis, and pulls competitor keyword overlaps — all scoped per client workspace with a single API key.
Five purpose-built capabilities covering SERP fetch, gap detection, competitor intelligence, keyword labeling, and rank tracking across all client workspaces.
Live SERP Data
Fetch a live SERP for any query via research.serp.fetch. Returns top results, domain authority signals, and content types. Results are stored per workspace for downstream gap and competitor analysis.
Gap Detection
research.serp_gap.analyze detects the SERP cliff — the position where result quality drops — and flags keywords where ranking is realistically achievable. Runs across any client workspace programmatically.
Competitor Research
Add competitor URLs to pull backlink profiles and keyword universes via research.competitor.backlinks and research.competitor.keywords. Generate keyword overlap matrices to identify content and link-building targets.
Keyword Taxonomy
Every keyword discovered through SERP analysis gets tagged on two axes — intent and relevance — via research.keyword.relabel. Filter and prioritize at scale across all client keyword universes.
Rank Monitoring
Track keyword positions daily across all client workspaces. Results are scoped per client via X-Workspace-Id and available via REST, the hosted MCP server, or the dashboard for unified reporting.
How it works
An `sk_test_*` key lands in your dashboard instantly. No demo gate — start calling real endpoints with shape-complete responses.
`claude mcp add citationbench https://mcp.citationbench.com/mcp` from Claude Code, Cursor, or any MCP client. Or `curl` against `api.citationbench.com/v1/*` directly.
Every tool returns shape-complete demo data without auth, so your agent works before the user signs up. Tools across research, production, indexing, link-building, and agents.
Add `X-Workspace-Id: ws_***` to scope per client. Switch to a live `sk_live_*` key when you're ready. Same API surface, same SDK.
Why CitationBench
Hosted at mcp.citationbench.com/mcp. Works with Claude Code, Cursor, Claude Desktop, Windsurf, and ChatGPT Apps. No self-hosting required.
Every long-running call runs on Cyclonic workers — survives restarts, cancellable, resumable, streams via SSE. Production-safe by default.
One master API key, N client workspaces. Switch with a single `X-Workspace-Id` header. Per-client data isolation, bulk ops across all of them.
Every endpoint responds in shape-complete demo mode without auth, so you can build the agent before the user signs up.
FAQ
CitationBench gives agencies one REST API for SERP fetch, gap detection, competitor research, and rank tracking across every client.
Start Free