AI Share of Voice - Brand Visibility in LLM Answers avatar

AI Share of Voice - Brand Visibility in LLM Answers

Pricing

from $4.30 / 1,000 ai answer analyzeds

Go to Apify Store
AI Share of Voice - Brand Visibility in LLM Answers

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

Centor Prat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

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 trackersThis Actor
Cost$0.05–$0.30 per query / platform check$0.005 per answer + model cost (cents per run)
Setupsome need your own OpenAI / Perplexity keysno keys: billed through your Apify account
Competitorsonly the ones you typealso discovers the brands AI recommends instead
Live web vs memoryone numbersplit: live-web engines vs model-memory engines, with the gap explained
Sourcesrarelycited domains across answers, and whether your site is cited
Outputmention yes/noscore, position, SoV, leaderboard, intents, framing, lost prompts, actions

How it works

  1. Prompts: give a category and the Actor generates realistic buyer prompts (discovery, recommendation, small-business / enterprise, alternatives, comparison vs your top competitor, budget, perception). Or give your own prompts.
  2. 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.
  3. 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.
  4. Report: visibility score (0–100) and verdict (ai-dominant / ai-visible / ai-emerging / ai-invisible), plus everything above and every analysed answer.

Input

FieldTypeRequiredDescription
brandstring✅Company/product to track.
categorystring✅*What buyers search for, e.g. "note-taking apps".
competitorsarrayCompetitors to benchmark (others are discovered automatically).
brandAliasesarrayOther names models may use.
brandDomainstringYour site, e.g. notion.com (citation check + AI-crawler site audit).
auditSitebooleanTest your site for AI crawlers and link root causes (default on with a domain).
promptsarray✅*Your own buyer questions instead of the generated set.
enginesarrayAPI: 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.
countryCodestringCountry for the app engines (e.g. us).
maxPromptsintegerPrompts per engine (default 8).
samplesPerPromptintegerRepeat each prompt to average out randomness (default 1).
marketstringLocalise prompts to a country/region.
includeFullAnswersbooleanReturn full answer texts too.
historyStorekey-value storeYour store for trend tracking (see below).
webhookUrlstringPOST 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%.

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 summary line.

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.