API
Your rankings and AI citations, as JSON
A REST API over the keywords you already track. One key also authorises the MCP server, so connecting Claude or Cursor needs nothing extra.
Request
curl https://api.serps.io/v1/projects/prj_8f2b/keywords \ -H "Authorization: Bearer $SERPS_API_KEY"
Response
{
"data": [
{
"keyword": "ai rank tracker",
"location": "United States",
"device": "desktop",
"position": 4,
"previous_position": 11,
"best_position": 3,
"url": "https://example.com/ai-rank-tracker",
"checked_at": "2026-11-06T04:12:08Z",
"ai_overview": { "present": true, "cited": true, "rank": 2 },
"citations": { "chatgpt": 12, "claude": 4, "gemini": 7 }
}
],
"has_more": true,
"next_cursor": "kw_5c1d9a"
}Not a SERP scraping API
The endpoints read your own projects. You get the keywords you chose to track, the positions recorded for them on your plan's schedule, the URL that actually ranked, and the citations each answer engine returned. You cannot pass an arbitrary keyword and have it fetched on demand, because that is a different product sold by the call.
That constraint is the point. A raw SERP is a commodity anyone can resell, and the response shape here is the thing that is hard to assemble: positions and AI citations for the same keyword, on the same row, with the history behind both. It is the same data the dashboard renders, so there is no second source to reconcile.
Everything is read only and every endpoint is a GET. SERPs answers questions through the API and changes nothing: no adding keywords, no starting crawls, no touching a plan or a bill.
Endpoints
- GET /v1/projects
Every project on the account, with its domain, tracked keyword count and last check time.
- GET /v1/projects/:id/keywords
Tracked keywords with current position, best-ever position, and the URL actually ranking.
- GET /v1/projects/:id/keywords/:id/history
The full position series for one keyword, by day, with the ranking URL at each point.
- GET /v1/projects/:id/citations
AI citations per engine and per prompt, with the sources each answer named.
- GET /v1/projects/:id/competitors
Share of voice against the competitors on the project, per keyword.
- GET /v1/projects/:id/audit/findings
Open findings from the latest crawl, ranked by severity across all 87 rules.
Authentication and limits
- Authentication
- Bearer key
- Pagination
- Cursor
- Methods
- GET only
- Included on
- Pro and Agency
- Position freshness
- Daily on Pro
- Response format
- JSON
Frequently asked questions
Related pages
- MCPAsk for a ranking without opening a dashboard
- Rank TrackingKnow where every keyword stands, every day
- AI VisibilityKnow whether the answer engines cite you
- IntegrationsThe tools SERPs reads from and writes to.
- PricingStarter, Pro, and Agency, with every plan limit listed.
- SEO glossaryEvery SEO and AI search term, defined plainly.
Start ranking without the enterprise tax
Every plan starts with a 7 day trial. Connect Search Console and see where you stand in minutes.
Start your trial7 day trial, card required, cancel any time.