v1Resources/AEO/getGet a location's AEO report
Get a location's AEO report
Returns the latest AI-visibility report for a location: overall and per-engine scores, the keyword/prompt matrix, competitor gap and ranking comparisons, citation coverage, sentiment, and recommended fixes. Report generation is asynchronous — this is also the poll target for POST /api/v1/aeo/reports/enqueue: keep calling this endpoint and watch the generating field until it flips back to false and generatedAt updates. Pass prompt to drill into one tracked prompt instead of the full report.
get
aeo:read/api/v1/aeo/reportsQuery parameters
locationIdstringrequired
The location to look up.
clientIdstringoptional
The location's client.
promptstringoptional
Drill into one tracked prompt (matched case-insensitively) instead of returning the full report. Returns null cells if the prompt isn't in this location's matrix.
Response
dataobjectoptional
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
404The resource wasn't found, or doesn't belong to your agency.
429Too many requests. Retry after the number of seconds in the Retry-After header.
get/api/v1/aeo/reports
Your API key
locationId *
clientId
prompt
{
"data": {
"generatedAt": "2026-02-01T06:00:00.000Z",
"generating": false,
"configuredEngines": [
"ChatGPT",
"Gemini"
],
"visibility": {
"overall": 62,
"label": "GOOD",
"message": "Your business shows up for most of the prompts you're tracking.",
"engines": {
"ChatGPT": {
"score": 68,
"comparisonPct": 12,
"configured": true
},
"Gemini": {
"score": 56,
"comparisonPct": -4,
"configured": true
},
"Perplexity": {
"score": null,
"comparisonPct": null,
"configured": false
}
}
},
"metrics": {
"visibility": {
"value": 62,
"delta": 5
},
"mentionRate": {
"value": 71,
"delta": 3
},
"avgPosition": {
"value": 2.1,
"delta": -0.4
},
"promptsCovered": {
"value": 8,
"total": 10
},
"sourcesCited": {
"value": 14,
"delta": 2
}
},
"keywordMap": {
"ChatGPT": [
{
"keyword": "best dentist austin",
"percentage": 82,
"dataSources": [
{
"name": "Google Business Profile"
}
]
}
],
"Gemini": [
{
"keyword": "emergency dentist austin",
"percentage": 54,
"dataSources": []
}
],
"Perplexity": []
},
"matrix": [
{
"keyword": "best dentist austin",
"cells": {
"ChatGPT": {
"score": 82,
"mentioned": true,
"rank": 1,
"answerExcerpt": "Acme Dental — Downtown is highly rated for..."
},
"Gemini": {
"score": 54,
"mentioned": true,
"rank": 3,
"answerExcerpt": null
},
"Perplexity": null
},
"best": 82
}
],
"gap": [
{
"business": "Acme Dental — Downtown",
"isYou": true,
"overall": 62,
"chatgpt": 68,
"gemini": 56,
"perplexity": null,
"comparisonPct": null
},
{
"business": "Smile Bright Dental",
"isYou": false,
"overall": 71,
"chatgpt": 74,
"gemini": 68,
"perplexity": null,
"comparisonPct": 9
}
],
"ranking": {
"All": {
"primary": {
"good": 6,
"neutral": 2,
"bad": 2
},
"competitors": []
},
"ChatGPT": {
"primary": {
"good": 7,
"neutral": 1,
"bad": 2
},
"competitors": []
},
"Gemini": {
"primary": {
"good": 5,
"neutral": 3,
"bad": 2
},
"competitors": []
},
"Perplexity": {
"primary": {
"good": 0,
"neutral": 0,
"bad": 0
},
"competitors": []
}
},
"radar": {
"ChatGPT": {
"relevance": 78,
"reviews": 88,
"engagement": 65,
"freshness": 74,
"citations": 81
},
"Gemini": {
"relevance": 70,
"reviews": 80,
"engagement": 75,
"freshness": 85,
"citations": 65
},
"Perplexity": {
"relevance": 0,
"reviews": 0,
"engagement": 0,
"freshness": 0,
"citations": 0
}
},
"factors": [
{
"key": "citations",
"label": "Citations",
"value": 81,
"detail": "Cited by 14 of 20 tracked sources across configured engines.",
"action": {
"label": "Fix missing citations",
"target": "citations"
}
}
],
"citations": {
"summary": {
"totalSources": 20,
"active": 14,
"detected": 4,
"missing": 2,
"missingDirectories": [
"Yelp"
]
},
"byEngine": {
"ChatGPT": [
{
"name": "Google Business Profile",
"status": "active"
}
],
"Gemini": [],
"Perplexity": []
}
},
"sentiment": {
"positive": 62,
"neutral": 30,
"negative": 8,
"mentions": []
},
"attention": [
{
"text": "Bing Places is missing your current hours.",
"tone": "warn"
}
],
"recommendations": [
{
"id": "rec_reviews_1",
"kind": "opportunity",
"priority": "high",
"title": "Add more customer reviews mentioning services",
"detail": "Reviews that name specific services improve how often engines cite you for those prompts.",
"action": {
"label": "Request reviews",
"target": "reviews"
}
}
],
"history": [
{
"yearMonth": "2026-01",
"overall": 57,
"chatgpt": 61,
"gemini": 53,
"perplexity": null,
"sources": 12
},
{
"yearMonth": "2026-02",
"overall": 62,
"chatgpt": 68,
"gemini": 56,
"perplexity": null,
"sources": 14
}
],
"competitorHistory": [
{
"name": "Smile Bright Dental",
"points": [
{
"yearMonth": "2026-01",
"overall": 65
},
{
"yearMonth": "2026-02",
"overall": 71
}
]
}
]
}
}Guides that use this endpoint
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- What Is an AEO API?An AEO API measures how AI answer engines like ChatGPT, Gemini and Perplexity describe and recommend a business, and tracks that visibility over time.
- How to Build an AI Agent for Local SEOBuild an AI agent that audits and fixes listings, tracks local rankings, checks AI visibility and drafts review replies with Synup's MCP server or REST tools.
- How to Track AI and AEO Visibility ProgrammaticallyMeasure how ChatGPT, Gemini and Perplexity describe and recommend a business through an API, enqueue reports, poll for results and roll up a portfolio.