AI Visibility Tracker for Brands | GEO / AEO Monitoring avatar

AI Visibility Tracker for Brands | GEO / AEO Monitoring

Pricing

from $1.00 / 1,000 results

Go to Apify Store
AI Visibility Tracker for Brands | GEO / AEO Monitoring

AI Visibility Tracker for Brands | GEO / AEO Monitoring

Know exactly where your brand stands when buyers ask AI for recommendations. Track mentions, sentiment, and share of voice across ChatGPT, Gemini, Perplexity & Claude and what changes run after run.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Leafy

Leafy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Brand AI Visibility Tracker: GEO / AEO Monitoring for ChatGPT, Gemini, Perplexity & Claude

Track whether your brand actually gets mentioned or cited when real buyers ask AI assistants for recommendations. This is an AI visibility tracker and GEO tracker (Generative Engine Optimization) that runs buyer-intent questions through ChatGPT, Gemini, Perplexity, and Claude, detects your brand and competitors in the answers, and scores your share of voice in AI search. It runs on a schedule, so you can watch that score move over time.

Unlike the subscription-only tools in this space, this Actor is pay-per-check, has no monthly minimum, and runs on a free Google Gemini API key, so your model cost can be $0.

Keywords: AI visibility tracker, GEO tracker, AEO audit, ChatGPT brand monitoring, Gemini brand tracking, Perplexity brand monitoring, Claude brand tracking, generative engine optimization, share of voice AI search, LLM brand monitoring, answer engine optimization.


Why this exists (the price & access gap)

When someone asks ChatGPT, Gemini, Perplexity, or Claude "what's the best moisturizer for sensitive skin?", a handful of brands get named, and the rest are invisible. Generative Engine Optimization (GEO) / Answer Engine Optimization (AEO) is about being one of the named brands. To manage it, you first have to measure it.

This Actor is built differently:

  • Bring your own free Gemini key. Google AI Studio's free tier (~250 requests/day, no credit card) covers the model calls. You pay Google nothing.
  • Pay-per-check, not per-month. You're billed a tiny fee per prompt-check for the orchestration, canonicalization, scoring, and localization logic. It's not a subscription, and it's not the model cost.
  • Built for recurring use. Delta mode compares each run to the last and tells you what changed, so it's something you schedule weekly or monthly rather than a one-time report.

What it does

  1. Generates realistic buyer-intent prompts for your category (or you supply your own). These are the kinds of questions a real customer types, not stiff templates.
  2. Asks each AI engine those questions with live web search / grounding enabled.
  3. Detects your brand (and its aliases) plus each competitor in every answer, with fuzzy/canonical matching and an optional LLM false-positive check.
  4. Scores each answer: mentioned or not, position/prominence (leading vs. buried), and sentiment.
  5. Aggregates into a 0–100 Visibility Score, plus breakdowns by engine and language and share of voice vs. competitors.
  6. Diffs against your last run (delta mode) to report which prompts gained or lost a brand mention.

AI assistants covered

You choose which assistants to check, by name. Each uses one key, and any engine without its key is skipped automatically (no errors), so you can start free with Gemini and add the others when you want multi-engine coverage.

AssistantCostWhich key it usesWhere to get the key
Gemini (default)Free tiergeminiApiKeyaistudio.google.com/apikey
ChatGPT (GPT)You pay OpenRouteropenrouterApiKeyopenrouter.ai/keys
PerplexityYou pay OpenRouteropenrouterApiKeyopenrouter.ai/keys
ClaudeYou pay AnthropicanthropicApiKeyconsole.anthropic.com

One OpenRouter key covers both ChatGPT and Perplexity. Both are reached through the OpenRouter gateway (ChatGPT via a GPT model with live web search, Perplexity via a Sonar model). Claude uses your Anthropic key directly. Gemini is direct and free, and also powers the internal prompt generation and analysis.


Bring your own free Gemini key (the $0 path)

  1. Go to aistudio.google.com/apikey and click Create API key (free, no credit card).
  2. Paste it into the Gemini API key field in this Actor's input.
  3. Run. That's it. Gemini's free tier (~250 requests/day) covers a typical run at $0 in model cost.

Your key stays yours. Each run uses the key you enter in its input. Keys are never shared between users, so you never end up paying for, or rate-limited by, someone else's runs.


Example input

{
"brand": "CeraVe",
"brandAliases": ["Cera Ve"],
"category": "affordable skincare for sensitive skin",
"competitors": ["Cetaphil", "La Roche-Posay", "Neutrogena"],
"languages": ["en"],
"country": "United States",
"promptCountPerLanguage": 5,
"engines": ["gemini"],
"geminiApiKey": "YOUR_FREE_GEMINI_KEY",
"useLlmAnalysis": true,
"enableDeltaMode": true,
"runsToKeep": 5
}

Example output

Per prompt × engine (one dataset row each):

{
"recordType": "detail",
"brand": "CeraVe",
"language": "en",
"prompt": "What's the best affordable moisturizer for sensitive skin?",
"engine": "gemini",
"engineModel": "gemini-2.5-flash",
"brandMentioned": true,
"position": 1,
"prominence": "lead",
"sentiment": "positive",
"competitorsMentioned": ["Cetaphil", "La Roche-Posay"],
"visibilityScore": 100,
"citations": [{ "title": "Best drugstore skincare 2026", "url": "https://example.com/best-skincare" }],
"answerExcerpt": "For sensitive skin on a budget, CeraVe's Moisturizing Cream is often the top recommendation...",
"timestamp": "2026-07-08T09:20:00.000Z"
}

Run summary (one record):

{
"recordType": "summary",
"brand": "CeraVe",
"category": "affordable skincare for sensitive skin",
"country": "United States",
"runDate": "2026-07-08T09:20:12.000Z",
"visibilityScore": 72.4,
"scoreByLanguage": { "en": 72.4 },
"scoreByEngine": { "gemini": 72.4 },
"shareOfVoice": { "CeraVe": 41.7, "Cetaphil": 25.0, "La Roche-Posay": 20.8, "Neutrogena": 12.5 },
"mentionRate": 80,
"sentimentBreakdown": { "positive": 3, "neutral": 1, "negative": 0, "unknown": 0 },
"deltaSinceLastRun": {
"available": true,
"previousRunDate": "2026-07-01T09:10:00.000Z",
"scoreChange": 6.5,
"gained": [{ "language": "en", "engine": "gemini", "prompt": "which moisturizer do dermatologists recommend?" }],
"lost": []
}
}

Input reference

FieldTypeDefaultDescription
brandstringnoneRequired. The brand/company to track.
brandAliasesstring[][]Alternate names/spellings canonicalized into the same brand.
categorystringnoneRequired. What the brand does; drives prompt generation.
competitorsstring[][]Competitor names for share-of-voice.
languagesstring[]["en"]Languages to run. English today; more coming (see FAQ).
countrystringnoneOptional market context for prompt framing.
customPromptsstring[][]Your own prompts. If set, generation is skipped.
promptCountPerLanguageinteger5Prompts to generate per language (max 20).
enginesstring[]["gemini"]Assistants to check: gemini, chatgpt, perplexity, claude.
geminiApiKeystring (secret)noneFree Gemini key; required unless you exclusively use another engine and supply custom prompts.
openrouterApiKeystring (secret)noneOptional OpenRouter key that powers both the chatgpt and perplexity engines.
anthropicApiKeystring (secret)noneOptional Anthropic key that powers the claude engine.
chatgptModelstringopenai/gpt-4o-mini:onlineAdvanced: OpenRouter model slug for ChatGPT (:online enables web search).
perplexityModelstringperplexity/sonarAdvanced: OpenRouter model slug for Perplexity.
claudeModelstringclaude-sonnet-5Advanced: Anthropic model id for Claude.
useLlmAnalysisbooleantrueOne extra Gemini call per answer for sentiment + false-positive checks. Turn off to save quota.
enableDeltaModebooleantrueCompare to the previous run; report gained/lost mentions.
regeneratePromptsbooleanfalseGenerate a fresh prompt set instead of reusing the persisted one.
runsToKeepinteger5Historical run snapshots to retain for trends.

FAQ

How do I schedule this Actor? Use Apify Schedules to run it weekly or monthly. Keep enableDeltaMode: true and regeneratePrompts: false so each run asks the same questions and the delta (gained / lost) is meaningful. That's the whole point: come back and see what moved.

What is delta mode? After each run, the Actor saves a snapshot (which prompts mentioned your brand, on which engine). On the next run it compares and reports which prompts gained or lost a brand mention, plus the change in your Visibility Score. To keep deltas comparable, auto-generated prompts are persisted and reused across runs.

Which languages are supported? English today. The architecture is multi-language-ready by design, and the prompt generator is language-parameterized, so native-language prompt packs (Taglish, Bahasa Indonesia, Vietnamese, Thai, and more) are a planned fast-follow. English-first keeps the addressable market wide at launch.

How is the Visibility Score calculated? Per answer (0–100): not mentioned = 0; mentioned = 40 base, plus prominence (leading +35, in-body +20, passing +10) and sentiment (positive +25, neutral/unknown +10, negative +0), capped at 100. The run score averages across all prompt×engine answers, with breakdowns by engine and language.

Do I need a paid API key? No. Gemini's free tier covers the default path at $0 model cost. ChatGPT and Perplexity (one OpenRouter key) and Claude (an Anthropic key) are optional add-ons for multi-engine coverage and are skipped if no key is provided.

Why do ChatGPT and Perplexity use an OpenRouter key? OpenRouter is a single gateway that reaches GPT (ChatGPT's model) and Perplexity Sonar with one key and one integration, so you don't manage separate OpenAI and Perplexity accounts. ChatGPT runs on a GPT model with live web search; Perplexity runs on a Sonar model that searches natively. Claude, by contrast, uses your Anthropic key directly.

Does it scrape Google/ChatGPT? No. It calls official APIs (Gemini directly, ChatGPT/Perplexity via OpenRouter, Claude via Anthropic) with web search / grounding enabled. No proxies, no browser, no scraping.


Contact / feedback

Bug reports, feature requests, and use-case tips welcome. Email the developer at leafydevjr@gmail.com.