AI Share of Voice - Brand Visibility in LLM Answers
Pricing
from $4.30 / 1,000 ai answer analyzeds
AI Share of Voice - Brand Visibility in LLM Answers
Measure how often AI models recommend your brand: asks GPT, Gemini, Claude, Perplexity and more your buyers' questions, then reports mention rate, list position, share of voice vs competitors, AI-discovered rivals, cited sources and fixes. No API keys.
Pricing
from $4.30 / 1,000 ai answer analyzeds
Rating
0.0
(0)
Developer
Centor Prat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share
AI Share of Voice — How Often AI Models Recommend Your Brand
When buyers ask an AI "what's the best CRM?", are you in the answer? This Actor asks several AI models the questions your buyers actually ask: OpenAI GPT, Google Gemini, Anthropic Claude, Perplexity Sonar (live web + citations), and optionally DeepSeek, Llama and Grok. It then measures your brand in every answer:
- mention rate, list position, share of voice vs competitors
- competitors the AI recommends that you didn't even list
- the live-web vs model-memory gap (are you in today's search results, in what the model has learned, or both?)
- which sources AI cites for your category (where to get mentioned)
- framing of your mentions, lost prompts, and prioritised actions
No API keys. Models are called through Apify's own OpenRouter proxy, so model usage is billed to your Apify account at cost. Agent-callable.
Built for marketing, SEO/GEO and brand teams, and the agencies who serve them, tracking "AI search visibility" (GEO / AEO).
Why this one
| Typical AI-visibility trackers | This Actor | |
|---|---|---|
| Cost | $0.05–$0.30 per query / platform check | $0.005 per answer + model cost (cents per run) |
| Setup | some need your own OpenAI / Perplexity keys | no keys: billed through your Apify account |
| Competitors | only the ones you type | also discovers the brands AI recommends instead |
| Live web vs memory | one number | split: live-web engines vs model-memory engines, with the gap explained |
| Sources | rarely | cited domains across answers, and whether your site is cited |
| Output | mention yes/no | score, position, SoV, leaderboard, intents, framing, lost prompts, actions |
How it works
- Prompts: give a
categoryand the Actor generates realistic buyer prompts (discovery, recommendation, small-business / enterprise, alternatives, comparison vs your top competitor, budget, perception). Or give your ownprompts. - Engines: each prompt goes to each selected model. Memory engines answer from training data; web engines (Perplexity Sonar, GPT with web search) search the live web and cite sources.
- Analysis: deterministic parsing; no LLM grades another LLM. It detects your brand and aliases, list rank, first mention, competitors, list entities (to discover rivals), framing words around your mention, and cited URLs.
- Report: visibility score (0–100) and verdict (
ai-dominant/ai-visible/ai-emerging/ai-invisible), plus everything above and every analysed answer.
Input
| Field | Type | Required | Description |
|---|---|---|---|
brand | string | ✅ | Company/product to track. |
category | string | ✅* | What buyers search for, e.g. "note-taking apps". |
competitors | array | Competitors to benchmark (others are discovered automatically). | |
brandAliases | array | Other names models may use. | |
brandDomain | string | Your site, e.g. notion.com (citation check + AI-crawler site audit). | |
auditSite | boolean | Test your site for AI crawlers and link root causes (default on with a domain). | |
prompts | array | ✅* | Your own buyer questions instead of the generated set. |
engines | array | API: openai-gpt, google-gemini, anthropic-claude, perplexity-sonar, openai-gpt-web, deepseek, meta-llama, xai-grok. Real apps: app-chatgpt, app-perplexity, app-gemini, app-copilot, app-google-ai-mode, app-google-ai-overview. | |
countryCode | string | Country for the app engines (e.g. us). | |
maxPrompts | integer | Prompts per engine (default 8). | |
samplesPerPrompt | integer | Repeat each prompt to average out randomness (default 1). | |
market | string | Localise prompts to a country/region. | |
includeFullAnswers | boolean | Return full answer texts too. | |
historyStore | key-value store | Your store for trend tracking (see below). | |
webhookUrl | string | POST the report here. |
* category or prompts.
Example input
{ "brand": "Notion", "category": "note-taking apps", "competitors": ["Evernote", "Obsidian"], "brandDomain": "notion.com" }
Output
One report per run. Example (real run, 2 prompts × 4 engines, trimmed):
{"brand": "Notion","visibilityScore": 69,"signal": "ai-visible","mentionRatePct": 88,"shareOfVoicePct": 15.9,"avgListPosition": 3.5,"liveWebMentionRatePct": 100,"modelMemoryMentionRatePct": 83,"byEngine": {"openai-gpt": {"mentionRatePct": 100, "avgListRank": 5},"google-gemini": {"mentionRatePct": 50, "avgListRank": 2},"anthropic-claude": {"mentionRatePct": 100, "avgListRank": 1},"perplexity-sonar": {"mentionRatePct": 100, "avgListRank": 4, "lens": "web"}},"leaderboard": [{"rank": 1, "name": "Notion", "isYou": true, "mentionRatePct": 88},{"rank": 2, "name": "Google Keep", "mentionRatePct": 75, "discovered": true},{"rank": 3, "name": "Apple Notes", "mentionRatePct": 75, "discovered": true},{"rank": 4, "name": "Evernote", "mentionRatePct": 62}],"citedDomains": [{"domain": "theverge.com", "answers": 2}, {"domain": "wired.com", "answers": 2}, {"domain": "zapier.com", "answers": 2}],"yourDomainCitedInAnswers": 0,"actions": [{"priority": "medium", "action": "Your domain isn't cited. AI cites these sources for your category - earn a mention/listing there: pocket-lint.com, clickup.com, theverge.com, wired.com, tomsguide.com."},{"priority": "low", "action": "AI also recommends brands you didn't list: Google Keep, Apple Notes, Microsoft OneNote, Bear, Roam Research - add them to your competitor set."}],"llmCostUsd": 0.01491}
Model cost for that whole run was $0.015 (paid-plan rate).
AI visibility audit: visibility + root causes in one call
Give your brandDomain and the report also tests your site the way AI bots see it:
- robots.txt per AI bot (search vs training)
- a live fetch as each bot vs a browser, to catch CDN/firewall blocks
- JavaScript-only content
- llms.txt
- Organization / sameAs schema
It then links the findings to your visibility numbers in siteDiagnosis, with root-cause actions at the top of actions. For example: "ROOT CAUSE: AI answer bots can't fetch your site (OAI-SearchBot, PerplexityBot blocked…) - this caps your live-web mention rate". Or, when the site is fully readable: "the gap is OFF-site - earn mentions on the domains AI cites". Included in the report price (auditSite: false turns it off).
Real consumer apps + API-vs-app calibration
Besides the cheap API engines, you can add the real consumer products as app engines: ChatGPT search, Perplexity, Gemini, Microsoft Copilot, Google AI Mode and Google AI Overviews. These run through Apify's own scrapers, billed to your account per prompt (~$0.20; Google AI Overviews ~$0.003). They capture what a real user sees, including each app's own live browsing and citations.
Mix API and app engines and the report adds apiVsAppCalibration: on the same prompts, how often the cheap API engines agree with the real apps about whether you're mentioned. High agreement means you can track weekly via API for cents and spot-check the apps monthly. Low agreement means you should keep the apps in your tracking. googleAiOverviewShownPct tells you how often Google even shows an AI Overview for your prompts.
Real check from our tests (HubSpot, "CRM software"):
- Google AI Overviews: shown for 100% of prompts, HubSpot in 100%, citing forbes.com, g2.com and business.com.
- ChatGPT search (real app): ranked HubSpot #1 and cited hubspot.com.
- API vs app agreement: 100%.
Track trends over time (GEO monitoring)
Pick a key-value store in historyStore (create one in the picker) and schedule the Actor, say weekly. Each run saves a snapshot per brand + category and adds a trend block plus trendAlerts:
- change in visibility score, mention rate, share of voice, live-web and memory rates
- per-engine moves (e.g. "openai-gpt now mentions you 40 points less often")
- rising competitors and new competitors appearing in AI answers
- newly cited / dropped source domains
- a visibility series for charts
The store is yours, and the Actor only gets access to the store you select.
Use cases
- GEO / AEO tracking: schedule weekly and watch mention rate and share of voice move.
- Competitive intelligence: who AI recommends in your category, and for which intents.
- Content & PR planning: the cited domains are your outreach list; lost prompts are your content gaps.
- Agency reporting: one structured report per client brand.
- AI agents: "is brand X recommended by AI for Y?" in one call, with a
summaryline.
One API call, JSON back
Run it synchronously: one POST starts the run and returns the results in the same response. No run to poll, which is what an AI agent wants mid-task:
curl -X POST "https://api.apify.com/v2/acts/centorprat~ai-share-of-voice/run-sync-get-dataset-items" -H "Authorization: Bearer <APIFY_TOKEN>" \-H "Content-Type: application/json" -d '{"brand": "Notion", "category": "note-taking apps", "competitors": ["Evernote"], "engines": ["openai-gpt", "perplexity-sonar"], "maxPrompts": 4}'
The body takes the same fields as the normal input. Same pay-per-event price; failed checks aren't charged.
Ready-made tasks
For AI agents / MCP
https://mcp.apify.com/?tools=actors,docs,centorprat/ai-share-of-voice
Loads as centorprat--ai-share-of-voice. Claude Code:
claude mcp add apify -- npx -y @apify/actors-mcp-server --actors centorprat/ai-share-of-voice
FAQ
Is this the same as the ChatGPT app? The default engines query the models through their APIs (the model families behind ChatGPT, Gemini, Claude and Perplexity). Add the app-* engines to capture the real consumer apps as well. API answers can differ from the consumer apps, which add their own browsing and personalisation. Use the trend across repeated runs, which is what matters for GEO.
Why do answers vary between runs? LLMs are non-deterministic. Use samplesPerPrompt (2–3) for steadier numbers, and track over time.
What do "web" and "memory" mean? Memory engines answer from what the model learned in training, which reflects your long-term footprint. Web engines search the live web first, which reflects today's content and citations. A big gap between the two tells you which kind of work to do.
Do I need API keys? No. The Actor uses Apify's OpenRouter proxy with your Apify account. Note that Apify bills model usage on its Free plan at 10× the paid-plan rate.
What does it cost? $0.005 per analysed answer + $0.05 per report, plus model usage. A default run of 8 prompts × 4 engines (32 answers) costs $0.21 + model usage: about $0.07 on a paid Apify plan, more on the Free plan.
Does it use an LLM to judge the answers? No. Mention, position, competitor and citation analysis is deterministic text parsing, so the same answers always give the same scores.
Data & attribution
Answers generated by third-party AI models via OpenRouter, accessed through Apify's OpenRouter proxy. These are visibility signals for marketing and research, not guarantees of how any AI product will answer a given user.
Related actors
- AI Overview Citation Tracker: cited vs ranking on Google's AI Overviews, click-loss risk per keyword.
- AI Crawler Access Test: can GPTBot, ClaudeBot and PerplexityBot actually read your site?
- On-Page SEO Audit