Docs

How we measure

Engines

EngineMethodDefault cadence
ChatGPTResponses API + web_searchDaily
PerplexitySonar APIDaily
Google AI OverviewsDataForSEO SERP (ai_overview)Daily
GeminiGemini API + Google Search groundingWeekly
Google AI ModeDataForSEO SERP (ai_mode)Weekly
ClaudeMessages API + web_searchWeekly
GrokxAI API + searchWeekly
Microsoft Copilotconnector (no public API) - demo until configuredWeekly
DeepSeekDeepSeek API (model memory, no web)Weekly
Meta AIconnector (no public API) - demo until configuredWeekly

REST API

Create a key in Settings → API keys. Send Authorization: Bearer sav_… (or ?key= for spreadsheet imports).

GET/api/v1/projectsList projects in the key's workspace
GET/api/v1/projects/{id}/metrics?days=30Visibility, SOV, position, sentiment, by engine, trend, leaderboard, sources, prompts
GET/api/v1/projects/{id}/results?days=7&limit=500Raw answers with brands and cited URLs
GET/api/v1/projects/{id}/runsRecent runs and their cost
POST/api/v1/projects/{id}/runsStart a run now (202)
GET/api/v1/export/{results|daily|prompts|sources|outreach}.{csv|json}?project=Exports; daily.csv is the Looker Studio feed
POST/api/ingest/crawlers?key={tracking key}Log drain: access-log lines, JSON lines or a JSON array
POST/api/trackReferral beacon used by /t.js

MCP server

Remote MCP (Streamable HTTP) at /api/mcp, same API key as the REST API. Tools: list_projects, get_visibility (by engine and market, with 95% ranges), get_fix_plan, get_sources, get_outreach, write_fix (saves a draft; never publishes).

Multiple markets

Scale tracks 2 extra countries per project, Agency 4 (Settings → Extra markets). Each prompt is asked as a user in each country; the dashboard and ?country=US on the metrics API filter by market. Each market adds the same number of answers again.

Why visibility shows a range

AI answers change from run to run. We show the 95% Wilson interval next to each visibility number, so 4 of 10 answers reads as 17-69%, not a precise 40%. More answers (more engines, days or markets) narrow the range.

Looker Studio

In Google Sheets: =IMPORTDATA("https://your-host/api/v1/export/daily.csv?key=sav_…"), then add the Sheet as a Looker Studio data source.

AI referral tracker

Paste <script async src="https://your-host/t.js" data-key="tk_…"></script> before </body>. It only fires when the visitor came from an AI engine, sets no cookies and sends the referrer host and landing path only.