AI Brand Visibility & Share of Voice: ChatGPT, Perplexity avatar

AI Brand Visibility & Share of Voice: ChatGPT, Perplexity

Pricing

from $50.00 / 1,000 ai answers

Go to Apify Store
AI Brand Visibility & Share of Voice: ChatGPT, Perplexity

AI Brand Visibility & Share of Voice: ChatGPT, Perplexity

Measure how often AI answers name your brand vs competitors. Repeated samples across ChatGPT, Perplexity and Gemini give visibility %, AI share of voice, answer position, cited sources and change since your last run. Pay per answer.

Pricing

from $50.00 / 1,000 ai answers

Rating

0.0

(0)

Developer

Sama Alabed

Sama Alabed

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

When people ask AI assistants about your market, how often is your brand named, and how does that compare with your competitors?

This Actor asks ChatGPT, Perplexity and Gemini the questions your customers ask, several times each, and turns the answers into measurements:

  • visibility %, with a confidence range
  • AI share of voice against the competitors you choose
  • position in the answer
  • the sources AI cites
  • what changed since your last run

No subscription. One flat price per AI answer, the same on every platform, so you know the cost before you start.

Who it's for

  • SEO, GEO and marketing agencies: measure and report AI visibility for every client, weekly or daily.
  • Brands and SaaS companies: see whether AI assistants recommend you, or your competitors, for the questions that matter.
  • PR and communications teams: track how often AI answers mention the brand and which sources they rely on.
  • Content teams: find which sites AI cites for your topics, which shows where coverage would help.
  • Developers, automations and AI agents: clean JSON metrics, run from the API, schedules or Apify's MCP server.

How it works

  1. You enter your brand, a few competitors, the prompts (the questions customers might ask, such as "best CRM for a small business") and your target market.
  2. For each prompt, the Actor asks each chosen AI platform several times (answers per prompt). AI answers vary between runs, so one answer is an anecdote while several answers are a measurement.
  3. Every answer is analysed for your brand and your competitors: whether each is named, how often, in what order, and which web pages are cited.
  4. You get one row per AI answer, plus a summary row, a readable REPORT page and, on repeat runs, the change since your last run.

Quick start (no code)

  1. Enter Brand to track (for example HubSpot) and Competitors (Salesforce, Zoho CRM, Pipedrive). Bulk edit takes one per line.
  2. Paste your Prompts, one per line.
  3. Keep AI platforms as ChatGPT + Perplexity (add Gemini if you like) and Answers per prompt at 3.
  4. Click Start. Open the REPORT record for the summary, or the dataset for per-answer detail.
  5. To monitor over time, give the run a Monitor name and schedule it weekly. Each run is compared with the previous one automatically.

What you get

Summary (last dataset row, also saved as SUMMARY and REPORT)

MetricDefinition
visibility_pct% of AI answers that name your brand
visibility_ci95_pct95% confidence range for visibility (Wilson interval). With few answers the range is wide; more samples narrow it
share_of_voice_pctAI share of voice: your brand's appearances ÷ all appearances of tracked brands, counting each brand at most once per answer
mention_share_pctThe same, counting every mention (long answers that repeat a name count more)
named_first_pct, avg_position_when_mentionedHow often you are the first tracked brand named, and your average order of first mention
visibility_score + visibility_score_factors0 to 100 summary score; formula below
by_platform, by_promptThe same metrics split by AI platform and by prompt, including the most visible brand per prompt
competitor_comparisonVisibility, share of voice, position and citation rate for every tracked brand, sorted
citationsAnswers with sources, how often your site was cited, and the most cited domains
prompts_with_brand, prompts_without_brandWhere you appear, and where you don't
change_vs_previousChange in visibility, share of voice and score since the last run; prompts gained and lost; competitor movements

One row per AI answer

prompt, platform, model, sample_number, web_search_used, brand_mentioned, brand_mentions_count, brand_position, brands_in_answer (in order), competitors_mentioned, competitor_mentions, share_of_voice, citation_count, citation_domains, brand_cited, competitor_citations, citations (URL, title, domain, and the brand that owns the site), checked_at, answered_at, and stable IDs (measurement_id, prompt_id, monitor_id, run_id).

With Include answer excerpts on, each row also gets answer_excerpt: up to 300 characters of the answer around your brand's first mention, labelled "AI-generated excerpt" with the platform, model and answer time, and always delivered with the answer's cited sources. Gemini excerpts are never included. The product is the measurement, not the AI answer.

How the measurements are defined

  • Position is the order in which tracked brands are first named in an answer (1 = named first). It is not a claim that the AI "ranked" brands.
  • Brand detection is our own deterministic matching, with no AI model involved:
    • It handles capitalisation, possessives ("HubSpot's"), punctuation, spacing variants ("Hub Spot"), multi-word names and dotted names ("monday.com").
    • Add website and extra names like this: Zoho CRM (zoho.com) = Zoho, Zoho One.
    • Brands that are also everyday words (Close, Copper, Monday) are only matched when written with a capital letter. Add a clearer alias such as Close CRM if needed.
  • Citations come only from the platform's own source list. Links inside the answer text are not counted as brand mentions.
    • A cited page belongs to a brand when its domain matches the website you gave, or, if you gave none, when the domain contains the brand's distinctive name.
    • Gemini runs without live search, so it has no citations; they are reported as unavailable, never guessed.
  • Visibility score (vis-v1): 100 × (0.5 × mention rate + 0.3 × prominence + 0.2 × citation rate)
    • Prominence is the average of 1 ÷ position over all answers (named first = 1, second = 0.5, not named = 0).
    • Citation rate is the share of answers with sources that cite your site.
    • When no answer had sources, the weights become 0.625 and 0.375. The factors and weights are returned with every score.

Repeated sampling

  • The same question can produce different brand lists from one run to the next. Our own tests saw this on ChatGPT and Perplexity.
  • 3 samples per prompt is the default balance of cost and reliability. 5 samples tightens results; 1 gives a quick look.
  • Visibility always comes with a 95% range, so you can tell a real change from noise.

Monitoring over time

  • Each complete run stores a compact summary (derived metrics only, no answer text) in a small named storage in your own Apify account.
  • The next run of the same monitor reports what changed. A run that stopped early (for example at your maximum cost) is not stored, so it never becomes the baseline.
  • Give runs a Monitor name to keep one history even when you edit prompts. Without a name, runs with identical settings are grouped automatically.
  • Schedule the Actor (for example weekly) in Apify to build a trend.

AI platforms

PlatformHow it is queriedSources
ChatGPTOpenAI API. By default the latest model decides whether to search the web, as it does for real users (it often answers from its own knowledge). Turn on Always use web search for ChatGPT to make every answer search and list its sourcesWhen it searched
PerplexityPerplexity Sonar API, which always searchesYes
GeminiGemini API with model knowledge only. Live search grounding is off, because its terms don't allow analysing grounded resultsNo

Honest note: answers come from the official APIs, not the consumer apps. Independent studies show API answers and consumer-app answers can differ in the sources they cite and the brands they name. Treat results as a consistent, repeatable measurement of AI behaviour rather than a screenshot of one user's app.

Pricing

One event: AI answer. You pay the same price for every AI answer that is received and measured, on ChatGPT, Perplexity or Gemini, whether or not it searched the web. The current price is on the Pricing tab.

  • Cost of a run = prompts × platforms × answers per prompt × price per answer. It is shown as the run's first status line ("Planned: 24 AI answers · at most $…") before any answer is requested.
  • Free: failed or empty answers, answers that were never run, the summary row, the REPORT and the monitor history.
  • Maximum cost per run is always respected: answers that would go over it are never requested or charged, and you still get the summary of everything measured. If your maximum is below the price of one answer, the run stops before asking anything.
  • Examples (at $0.05 per answer): 1 prompt on ChatGPT, 1 answer = $0.05. 4 prompts × ChatGPT + Perplexity × 3 answers = 24 answers = $1.20. 10 prompts × 3 platforms × 3 answers = 90 answers = $4.50.
  • Apify adds its standard run-start fee of $0.00005 per run.
  • On Apify's free plan you get a small real sample (see Limits below).

API, automations and AI agents

curl -X POST "https://api.apify.com/v2/acts/ACTOR_ID/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{
"brand": "HubSpot",
"brandDomain": "hubspot.com",
"competitors": ["Salesforce", "Zoho CRM (zoho.com)", "Pipedrive"],
"prompts": ["best CRM for a small business", "best CRM for startups"],
"platforms": ["chatgpt", "perplexity"],
"samplesPerPrompt": 3,
"monitorName": "HubSpot US weekly"
}'

The response rows have record_type: "answer", and the final row has record_type: "summary".

Input reference:

FieldTypeDefaultNotes
brandstringrequired
competitorsstring[]noneUp to 10; Name (domain.com) = alias, alias
promptsstring[]requiredUp to 50 per run, 400 characters each
platformschatgpt, perplexity, gemini["chatgpt","perplexity"]
samplesPerPrompt1 to 53
chatgptAlwaysSearchbooleanfalse
countryUS, GB, CA, AU, IN, IE, NZ, DE, FR, ES, IT, NL, BR, MX, JP, SE, PL, AE, SG, ZAUS
brandDomainstringnone
brandAliasesstring[]none
includeCitationsbooleantrue
includeAnswerTextbooleanfalseUp to 300 characters around your brand's first mention, labelled AI-generated, with sources
monitorNamestringnone
compareWithPreviousbooleantrue

Limits:

  • Up to 150 AI answers per run. For bigger jobs, split the prompts across runs or monitors.
  • Free Apify plan: a small real sample, measured exactly like a paid run: your first prompt, 1 answer on up to 2 of your platforms (ChatGPT decides when to search). Free samples share a small daily allowance that resets at 00:00 UTC; when it is used up, free runs stop before asking anything and any paid Apify plan can run immediately.

Acceptable use

  • Track businesses, products and brands, not private individuals.
  • By using this Actor you agree to follow the usage policies of the AI providers queried (OpenAI, Perplexity, Google).
  • Do not use results to train AI models.
  • Answer excerpts are optional, at most 300 characters, labelled as AI-generated with the platform, model and date, and always delivered with their cited sources.

Accuracy and limitations

  • AI answers are probabilistic. The same question can name different brands, in a different order, from one run to the next. That is why each prompt is asked several times and visibility comes with a 95% range. A change smaller than that range may be noise.
  • Official APIs, not consumer apps. Answers come from the OpenAI, Perplexity and Gemini APIs. Consumer apps add personalisation, memory and their own search settings, so a person's app may answer differently.
  • Citations depend on the provider. Only ChatGPT (when it searches) and Perplexity return sources. Which pages they cite, and how local they are to your target market, is the provider's choice. Gemini runs without live search and has no sources.
  • Brand detection is exact-name matching. Misspellings and nicknames are missed unless you add them as other names. A brand that is also an everyday word (Close, Monday) is only counted when capitalised.
  • Position is the order of first mention among the brands you track, not a ranking claimed by the AI.
  • Not affiliated with OpenAI, Perplexity or Google. Product and company names belong to their owners. AI answers can be wrong; check anything important before acting on it.

FAQ

Why does ChatGPT sometimes show no sources? By default ChatGPT decides whether to search the web. When it answers from its own knowledge, there are no sources. Turn on Always use web search for ChatGPT to make it search every time.

Why did ChatGPT name different brands this time? AI answers vary between runs even for the same question. Several answers per prompt turn that variation into a measurement with a range, instead of one anecdote.

Why is my visibility range so wide? Few answers make a wide range. Add answers per prompt, or more prompts, to narrow it.

Can I track several brands? Run once per brand, with its own monitor name, or list the other brands as competitors to see them side by side.