September 23, 2026
The public API and API keys
What you get
The public API returns the same numbers the dashboard shows — scores, tracked questions with their per-engine results, score history, GEO topics, cited sources and share of voice — as JSON, keyed to your company. It is on Pro, Agency and Enterprise (the api_access capability). The same key drives the Google Sheets and Looker Studio feeds and the MCP server.
API keys
Keys live under Settings → Company → API keys. Owners and admins can create and revoke them; other roles see the list but cannot change it.
- Create key — give it a name that says what will use it (
Looker,weekly report script, up to 80 characters). The key is shown once, on creation; copy it then. If you lose it, revoke it and create another. - Keys start with
aeo_live_and the list shows only the prefix afterwards, with when the key was created and last used. - Five active keys per company. Revoke one to add another; revoked keys stay listed so their name and last use remain visible.
- Revoke takes effect immediately — anything using the key gets a 401 on its next call.
A key carries the whole account's scope: it is not read-only. Besides the read endpoints, it can track a new question and trigger a check that spends from your on-demand re-check pool (the two POST routes below). Treat it like a password: keep it in a secrets store, never in a shared sheet or a prompt, and give each system its own key so you can revoke one without touching the others.
Authentication
Send the key as an X-API-Key header:
curl -H "X-API-Key: aeo_live_xxxxxxxx" https://api.aeotrack.io/api/v1/domains
For clients that cannot set headers (Google Sheets' IMPORTDATA), the Sheets feeds also accept ?key= in the URL; the /api/v1 routes take the header only.
Endpoints
| Method and path | Returns | Needs |
|---|---|---|
GET /api/v1/domains | The websites on the account, with their domain_id | — |
GET /api/v1/domains/{id}/score | AEO score with its confidence range, mention and citation rates, engine coverage | — |
GET /api/v1/domains/{id}/questions | Every tracked question with its latest per-engine results | — |
POST /api/v1/domains/{id}/questions | Track a new question ({"question": "…"}, 3–255 characters) | Room under your prompt ceiling |
POST /api/v1/domains/{id}/questions/{qid}/check | Re-check one question on every engine now; 24-hour cooldown per question | One on-demand re-check (a question's first check is free) |
GET /api/v1/domains/{id}/score-history | One row per score point: score, range, rates, scoring version | — |
GET /api/v1/domains/{id}/geo/score | GEO score | — |
GET /api/v1/domains/{id}/geo/topics | Every tracked topic with its latest per-engine results | — |
GET /api/v1/domains/{id}/sources | Most-cited source domains and your own cited URLs | Citation tracking |
GET /api/v1/domains/{id}/share-of-voice | Mentions against named competitors, last 30 days | Competitor tracking |
The two POSTs go through exactly the plan checks, cooldown and pool charging the dashboard's own buttons do, so a script cannot spend more than a person could. Once the monthly pool is used up on a paid plan, further checks are billed at the overage rate shown on the Billing page.
Limits and errors
- 120 requests a minute per key. A
429means slow down; a dashboard refreshing every minute is well inside the limit, a loop over every question on every site is not — fetch/questionsonce instead. 401— missing, wrong or revoked key.402— your plan does not include the API (or the capability a route needs); the response says which plan has it.404— thedomain_idis not on this account.- Responses for a re-check can take a minute or two while the engines answer.
The Google Sheets feed
Four CSV feeds — scores, questions, sources and share_of_voice — are served per website at https://api.aeotrack.io/exports/sheets/{feed}.csv?domain_id=…&key=…, built for IMPORTDATA in Google Sheets and, through a sheet, Looker Studio. Integrations → Google Sheets & Looker builds the formula for you from a key you pick or create. Columns, refresh and the Looker Studio route are in the Google Sheets and Looker Studio export article.
The MCP server
The MCP server (Agency and Enterprise) uses the same key so Claude Desktop, Cursor or another assistant can ask your account questions in plain language.