AEO Tracker — AI Answer Visibility Monitor
Pricing
from $40.00 / 1,000 aeo answer checks
AEO Tracker — AI Answer Visibility Monitor
Track AI search visibility and AEO/GEO performance across ChatGPT, Gemini, Claude, and Perplexity.
Pricing
from $40.00 / 1,000 aeo answer checks
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
AEO Tracker is an Apify Actor that measures answer engine optimization (AEO) visibility for marketers, SEO teams, and agencies by asking ChatGPT, Gemini, Claude, and Perplexity models neutral buyer questions with live web search. It returns brand mentions, official-domain citations, recommendation position, sentiment, and competitor mentions for every answer as JSON, CSV, or Excel.
Free plan limit: Every check calls paid AI models through OpenRouter, so runs on the Apify free plan deliver at most one result per run. Paid Apify plans use the configured
maxCheckslimit (up to 50 checks per run).
What does AEO Tracker do?
- Sends each query to four fixed models representing ChatGPT (OpenAI), Gemini (Google), Claude (Anthropic), and Perplexity.
- Grounds answers in current web results: OpenRouter web search for OpenAI, Google, and Anthropic, and native search for Perplexity.
- Detects brand and domain mentions, counts them, and returns the sentence with the first mention.
- Flags whether any web citation points to your official domain.
- Records the brand's explicit position in a ranked recommendation and the answer's sentiment toward it.
- Detects which of your listed competitors each answer names.
- Generates three neutral category questions from
industrywhen you supply no queries. - Writes a run summary with per-engine mention rate, citation rate, and a 0–100 directional visibility score.
Which AI models does it use?
As of October 2026, AEO Tracker uses these OpenRouter models. They are fixed in code, and no input can change them.
| Answer engine | OpenRouter model ID |
|---|---|
| ChatGPT (OpenAI) | openai/gpt-6-luna |
| Gemini (Google) | google/gemini-3.5-flash-lite |
| Claude (Anthropic) | anthropic/claude-haiku-5.5 |
| Perplexity | perplexity/sonar |
The Actor owner pays model and web-search costs inside the event price, so you do not need an OpenRouter, OpenAI, Anthropic, or Google account or API key.
What data does it return?
One dataset item per query × engine check:
| Field | Type | Description |
|---|---|---|
brand | string | Tracked brand |
brandDomain | string or null | Official domain used for citation detection |
query | string | Question sent to the model |
queryIndex | integer | Zero-based query position |
engine | string | ChatGPT, Gemini, Claude, or Perplexity |
modelRequested | string | OpenRouter model ID requested |
modelUsed | string or null | Model ID reported by OpenRouter |
responseId | string or null | OpenRouter response ID |
mentioned | boolean | Brand or domain appears in the answer or citations |
mentionCount | integer | Brand and domain occurrences |
mentionContext | string or null | Sentence with the first mention |
cited | boolean | A citation URL is on your official domain |
recommendationPosition | integer or null | Explicit rank in a recommendation list, else null |
sentiment | string | positive, negative, neutral, or mixed |
competitorMentions | string[] | Listed competitors found |
citations | object[] | Web citations as { "url", "title" } |
summary | string | Short answer summary |
answerText | string | Answer text, length-bounded |
usage | object | promptTokens, completionTokens, totalTokens |
error | string or null | Failure diagnostic; null on success |
checkedAt | string (date-time) | UTC write time |
The OUTPUT record in the run's key-value store (copied to SUMMARY) holds totals, an engineBreakdown, and visibilityScore: 70% mention rate plus 30% official-domain citation rate across successful checks.
Use cases
- SEO and content teams: check whether category questions surface your brand before and after publishing new content.
- Agencies: deliver a monthly per-engine AEO snapshot for each client from a fixed question set.
- Product marketing: see which competitors AI answers name next to you and in what order.
- Brand and PR teams: review how each answer engine describes the brand.
- Growth teams: learn whether answer engines cite your own site or only third-party pages.
When to use it and when not to
Use AEO Tracker for a brand-level question: is the brand mentioned, ranked, cited, and described well by each answer engine?
Use a sibling Actor instead for:
- Source-level citation tracking (which domains and URLs AI engines cite, citation gaps, gained or lost sources): AI Citation Monitor.
- Share of voice and rank changes across scheduled runs: AI Visibility Rank Tracker.
- ChatGPT-only checks: ChatGPT Brand Visibility Tracker.
- Auditing your own pages: GEO Content Auditor.
AEO Tracker calls models through an API. It does not reproduce logged-in, personalized, or location-specific chat sessions.
How to use AEO Tracker
- Open AEO Tracker in Apify Console.
- Enter
brandNameand, optionally,brandDomainfor citation detection. - Add neutral
queries, or setindustryto generate three questions, and list anycompetitors. - Set
maxChecks(the form starts at 1 check for a quick, low-cost first run; raise it for full coverage) and click Start. - Export the dataset as JSON, CSV, or Excel, and open
OUTPUTfor the per-engine summary.
| Field | Type | Default | Description |
|---|---|---|---|
brandName | string (required) | Notion | Brand, company, or product to track |
brandDomain | string | notion.so | Official domain for citation detection |
industry | string | productivity software | Generates three questions when queries is empty |
queries | string[] | [] | Up to 20 questions; omit the brand name for an unbiased test |
competitors | string[] | [] | Up to 30 competitor names |
maxChecks | integer | 12 | Cap on query × engine checks, 1–50 |
searchContextSize | string | low | Web-search context: low, medium, or high |
Each query goes to ChatGPT, Gemini, Claude, and Perplexity in that order until maxChecks is reached, so three queries fill the default 12 checks.
{"brandName": "Notion","brandDomain": "notion.so","queries": ["What are the best productivity software tools for a small remote team?","Which productivity apps are easiest for teams to adopt?"],"competitors": ["Asana", "Coda"],"maxChecks": 8,"searchContextSize": "low"}
Output example
{"brand": "Acme","brandDomain": "acme.example","query": "What are the best project management tools for a small remote team?","queryIndex": 0,"engine": "Perplexity","modelRequested": "perplexity/sonar","modelUsed": "perplexity/sonar","responseId": "gen-0000000000-example","mentioned": true,"mentionCount": 3,"mentionContext": "Acme suits small remote teams that want simple task boards.","cited": true,"recommendationPosition": 3,"sentiment": "positive","competitorMentions": ["Globex"],"citations": [{ "url": "https://acme.example/features", "title": "Features" },{ "url": "https://reviews.example.org/project-management", "title": "Project management tools compared" }],"summary": "Lists five tools and ranks Acme third for ease of use.","answerText": "Popular options include Globex for larger teams. Acme suits small remote teams that want simple task boards.","usage": { "promptTokens": 170, "completionTokens": 110, "totalTokens": 280 },"error": null,"checkedAt": "2026-10-20T12:00:00.000Z"}
Use it via API, MCP, and AI agents
The synchronous endpoint below waits up to 300 seconds, so keep maxChecks small or use the asynchronous run endpoint for larger runs.
curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~aeo-tracker/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"brandName":"Acme","brandDomain":"acme.example","industry":"project management software","maxChecks":4}'
JavaScript with apify-client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/aeo-tracker').call({brandName: 'Acme',brandDomain: 'acme.example',industry: 'project management software',maxChecks: 4,});const { items } = await client.dataset(run.defaultDatasetId).listItems();const summary = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('OUTPUT');console.log(items.length, summary?.value.visibilityScore);
For Claude, ChatGPT, Cursor, and other MCP clients, connect the Apify MCP server with this Actor as a tool: https://mcp.apify.com?tools=muhammadafzal/aeo-tracker.
The Apify platform also lets you schedule runs, call webhooks, and connect to Make, Zapier, n8n, or Google Sheets.
How much does it cost?
AEO Tracker uses pay-per-event pricing. Active prices (in effect since September 17, 2026; no change scheduled):
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
aeo-check: one successful query × engine check | $0.05 | $0.05 | $0.05 | $0.04 | $0.04 | $0.04 |
This Actor has no Actor start event, so you pay only for successful checks, and Apify platform usage is included. Runs default to 512 MB of memory.
- Default run: 3 generated questions × 4 engines = 12 checks: $0.60 on FREE to SILVER, $0.48 on GOLD and above.
- Spot check with
maxChecks: 4: $0.20 on FREE to SILVER, $0.16 on GOLD and above.
Failed checks are written with a non-null error and are not charged. If the AI provider rejects the Actor's key or credit balance, the run stops and charges nothing for unfinished checks. An answer that does not mention your brand is a valid, charged result. A maximum total charge set on the run stops the Actor when reached.
Limits and reliability
- Up to 20 queries, 30 competitors, and 50 checks per run; one result on the free plan.
- Default run timeout is 300 seconds and each model request times out after 120 seconds, so raise the run timeout for runs near 50 checks.
- AI answers change between runs, over time, and with web results. Compare runs that use the same queries.
sentiment,recommendationPosition, andsummarycome from the answering model. Mentions, citations, and competitors come from case-insensitive text matching, so short or generic brand names can match unrelated words.- Paid runs retry a transient provider error once; free-plan runs make one request without retry.
- Only public, web-grounded model answers are read: no logged-in accounts or personalized results.
FAQ
Do I need an OpenRouter, OpenAI, or Anthropic API key?
No. The Actor owner supplies model access and pays model costs inside the aeo-check price.
How is AEO Tracker different from AI Citation Monitor?
AEO Tracker measures your brand inside each answer: mention, rank, sentiment, competitors, and own-domain citation. AI Citation Monitor measures the sources: every cited domain and URL, citation gaps, and changes between runs.
Why do results differ between runs?
Models vary their wording, web results change, and providers update models. Read trends across several runs with the same questions.
How often should I run it, and can I schedule it?
Weekly or monthly with a fixed question set suits most teams. Apify schedules run it automatically, and webhooks push results elsewhere.
Is it legal to use?
The Actor sends ordinary questions to AI model APIs and records the answers. You are responsible for how you use the results, including statements about competitors.
Related Actors
- AI Citation Monitor: which domains and URLs AI engines cite, with run-over-run history.
- AI Visibility Rank Tracker: AI share of voice and position changes over time.
- ChatGPT Brand Visibility Tracker: ChatGPT-style answers only.
- AI Brand Reach Checker: quick check of whether major AI models mention a brand.
- AI GEO Recommendation Tracker: GEO audits with prioritized recommendations.
- GEO Content Auditor: AI answerability scores for your pages.
Legal and responsible use
Use AEO Tracker for lawful brand, content, and competitor research. AI answers can be wrong or outdated, so verify important statements against primary sources. Results do not guarantee how any AI product presents your brand.
Support
Report bugs or request features on the Issues tab of this Actor's page. Feedback is welcome.