AI answers are now the first place buyers meet your brand. ChatGPT, Gemini, Copilot and Google AI Overviews all have an opinion about your product — and they cite sources. The problem: there's no UI to query them programmatically at scale.
This post shows the pattern I use to pull those answers as JSON so you can diff them over time.
The shape of the problem
Every engine answers differently:
- ChatGPT gives a synthesized answer plus cited sources and (in search mode) the fan-out queries it ran
- Gemini returns an answer with grounding links
- Copilot cites Bing results
- Google AI Overviews / AI Mode return answer text plus ranked source positions
What you actually want as a developer is one normalized object: { answer, sources[], rank, country } per engine.
The API call
I'm using AnswerLine — an API I work on that wraps exactly this. One POST per engine, bearer token auth:
curl -X POST https://api.answerline.dev/v1/monitor/chatgpt \
-H "Authorization: Bearer $ANSWERLINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "What is AnswerLine and how is it reviewed?",
"country": "US",
"include": { "searchQueries": true }
}'
The response gives you the answer text plus the sources ChatGPT cited — which is the actionable part. If your docs or blog aren't in the source list, the model is learning about you from someone else's content.
{
"answer": "...",
"sources": [{ "url": "...", "position": 1 }],
"searchQueries": ["answerline reviews", "..."]
}
Why this matters for SEO in 2026
- Cited sources are the new SERP. Being source #1 in a ChatGPT answer drives referral traffic the same way position #1 did.
- Answers drift. The same prompt answered differently week-over-week is a signal, not noise. Snapshot it.
- Country targeting matters — an answer in the US cites different sources than in DE or HU.
The other engines are the same call with a different path: /v1/monitor/gemini, /v1/monitor/copilot, /v1/monitor/google (AI Overviews), /v1/monitor/aimode, /v1/monitor/google/news.
Polling pattern
I run a nightly cron over ~40 brand/competitor prompts, store the JSON, and diff the cited-source sets. When a new domain starts getting cited about you, that's an outreach target. When your pages stop being cited, that's a content-refresh signal.
There are TypeScript and Python SDKs, an n8n node, and an MCP server if you want the agent-native path (docs). Free tier exists if you want to try the shape of the data first.
Curious how others are tracking this — are you diffing AI answers at all, or still treating them as a black box?
Top comments (0)