API overview
Use SearchChamp's REST API from reporting tools, internal scripts, and custom integrations.
The SearchChamp REST API gives your own software access to rankings, tracked keywords, AI Visibility, site-audit summaries, Content Writer articles, and Research Studio sessions. It is designed for reporting, data integrations, and editorial sync. It is separate from the MCP connector, which exposes tools to AI clients.
Ten REST endpoints is the complete current public surface
The endpoint reference is not a partial list. SearchChamp currently exposes exactly ten public REST routes: eight GET reads and two PATCH status updates. Other Content Writer and Research Studio application endpoints are not public API contracts. Some publishing, research-assistance, and broader SEO workflows are available through MCP instead. See feature coverage before choosing an integration.
Nothing here starts a generation or research run
The Content Writer and Research Studio routes read content SearchChamp has already generated, and the two PATCH routes flip a status value in SearchChamp's own database. No public REST route triggers a Content Writer run or a Research Studio run, and publishing a status does not push anything to WordPress, Shopify, or any other connected CMS.
Availability
The public REST API requires a Pro plan or higher and an API key. The GET routes need the key's read permission; the two PATCH routes need write. Trial, Starter, and other below-floor plans cannot call these routes at all.
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://api.searchchamp.com |
| SearchChamp development/testing | https://api-dev.searchchamp.dev |
Use the environment that contains the organization and sites you want to read. API keys are environment-specific.
Quick start
- Create an API key under Settings → API Keys and save the value beginning with
atl_. - Export it from your shell instead of putting it in source code.
- Call a route with your site's exact domain or slug.
export SEARCHCHAMP_API_KEY='atl_your_key_here'
curl --fail-with-body \
--get 'https://api.searchchamp.com/v1/api/rankings' \
--header "Authorization: Bearer $SEARCHCHAMP_API_KEY" \
--data-urlencode 'site=example.com' \
--data-urlencode 'days=7' \
--data-urlencode 'limit=10'A successful response uses the common envelope:
{
"data": {
"site": "example.com",
"days": 7,
"movers": []
},
"meta": {},
"errors": []
}Read next
- Feature coverage: REST, MCP, or app — see which integration surface supports each SearchChamp feature.
- Authentication and API keys — permissions, expiry, revocation, and secret handling.
- Endpoint reference — every supported route, parameter, and response.
- Errors, limits, and usage — error envelopes, rate limits, metering, and retry guidance.
Current boundary
The v1 public surface contains eight GET routes and two PATCH status routes. It has no Content Writer generation endpoint, no Research Studio session-start endpoint, no CMS publish endpoint, no webhooks, no pagination cursors, and no idempotency-key header. Pagination on the two feeds is limit/offset. Do not call the internal endpoints used by the SearchChamp web app; they are not part of the public contract and can change without notice.