Ask ChatGPT or Perplexity "what's the best note-taking app" and you get a shortlist of three to five names. Either you're on it or you don't exist in that channel. And buying research keeps moving there.
People call measuring this GEO or AEO tracking now. The way most teams do it is pasting questions into chatbots by hand and eyeballing the answers. That stops scaling at about ten questions, and you can't trend it week over week.
Doing it programmatically
Don't scrape the chat UIs. It's fragile, against ToS, and breaks weekly. The engines all have official APIs with web search:
- Perplexity's
sonarmodels return answers with citations built in - OpenAI has
gpt-4o-search-previewfor live web search - Gemini's
gemini-2.5-flashsupports Google Search grounding
One OpenRouter key covers all three through a single endpoint, which keeps the code boring.
For each buyer question you care about, record four things per engine: was the brand mentioned, how early in the answer, was your domain cited as a source, and how often competitors appeared. That last one gives you share of voice.
The packaged version
I built this as an Apify actor: AI Brand Visibility Tracker. You give it a brand name, domain, competitors, and topics. It generates realistic buyer questions and returns one JSON row per check: brandMentioned, positionScore, brandCited, shareOfVoice, citedDomains, plus a per-engine summary. Schedule it weekly and you have an AI visibility trendline for client reports. $0.05 per check.
The field that actually matters
citedDomains is the actionable one. It tells you which sites the AI engines treat as sources for your category. Getting mentioned on those specific domains is how you move your visibility. It's link building, except the target list comes from the AI's own citations instead of a guess.
Top comments (0)