AI Brand Visibility Tracker - Google AI Overview and AI Mode avatar

AI Brand Visibility Tracker - Google AI Overview and AI Mode

Pricing

from $4.00 / 1,000 per-run start fees

Go to Apify Store
AI Brand Visibility Tracker - Google AI Overview and AI Mode

AI Brand Visibility Tracker - Google AI Overview and AI Mode

Ask the questions your buyers ask and find out whether Google's AI Overview and AI Mode name your brand, how early, whether they link you, and which competitors get named instead. One row per question per AI surface, plus a scorecard. Unanswered questions are free.

Pricing

from $4.00 / 1,000 per-run start fees

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a month ago

Last modified

Security

Limited permissions

Share

AI Brand Visibility Tracker for Google AI Overview and AI Mode

This AI brand visibility tracker asks the questions your buyers actually ask and finds out whether Google's AI answers name your brand, how early, whether they link you, and which competitors get named instead. Use it to measure and monitor AI brand visibility week to week, per market.

Search used to end with ten blue links and a ranking you could measure. An AI answer ends with a recommendation, and either you are in it or you are not. This measures that.

Two surfaces, not one

Google has two AI answers and they are different products. The AI Overview is the summary above the blue links: short, opinionated, three or four sources. AI Mode is the conversational tab: long, structured, often a breakdown by use case with different brands in it.

They disagree often enough that averaging them would hide the useful part, so every question is asked on both and each gets its own row. A brand can lead the Overview and be absent from AI Mode for the same question, and that is a finding, not noise.

Neither needs an API key from you.

What a row tells you

  • brand_mentioned and brand_mentions — is the brand named, and how often
  • brand_rank — 1 means the answer names you before any other brand. This is the number to watch week to week
  • brand_first_position — where in the answer, as a character offset, so earlier is lower
  • brand_context — the sentence you appear in, which is where you find out whether being named was good news
  • brand_cited and brand_citation_urls — whether the answer linked your site

brand_mentioned and brand_cited are deliberately separate. An answer can name you without linking you, and can link your domain without naming you. One is reputation, the other is traffic, and a single "visible" flag would hide which of the two is missing.

  • competitors_mentioned — who was named instead, each with the domain it cited and where it appears
  • competitor_count and share_of_voice — your slice of every brand mention in that one answer

How competitors are found

Give a list under Known competitors and they are matched by name. Leave it empty and the run works them out: it takes the brand name out of every domain the answer cited and keeps the ones the answer also names in its text.

That is grounded on the citations on purpose. Pulling capitalised words out of prose finds "The Best", "However" and every product category at least as often as it finds a rival. A cited domain that also gets named is a real competitor by both tests.

Each competitor carries the domain it came from, because a token can read as an ordinary word: scrape is the name behind scrape.do, and only the domain tells you which it is.

Questions with no answer are not failures

Google decides per request whether to offer an AI Overview at all. A question it declines comes back with answered: false, is not billed, and is counted separately in the scorecard as unanswered.

This matters more than it sounds. Folding a refusal to answer into your visibility rate would mix two different problems: "the AI does not recommend us" and "the AI does not answer this question at all" have different fixes, and only one of them is about your brand.

The scorecard

summary in the key-value store is the run's own answer:

  • visibilityRate per surface — answers naming you, over answers given
  • citationRate per surface — answers linking you
  • averageRank — where you land among the brands that do get named
  • topCompetitors — who shows up most across the whole prompt set
  • promptsWithoutBrand — the actionable list. The questions that got a real answer with no mention of you

Rates are over answered checks only, for the reason above.

Writing good prompts

This is the input that decides everything else. A question nobody asks tells you nothing, however good the measurement is.

Write them the way a buyer types them, not the way you describe yourself. "best ecommerce price monitoring tool" is a question someone asks; "enterprise retail pricing intelligence platform" is a phrase from your own homepage. Include the comparison questions ("X vs Y"), the ones with a qualifier ("for small business", "free"), and the ones where you expect to lose. The last group is where the value is.

Country and language

AI answers are regional. The same question names different brands in the US than in the Netherlands, so Country and Language are separate inputs and both are carried on every row. If you sell in several markets, run them separately and keep the rows apart.

Errors

CodeMeaning
bad_inputNo brand name or no prompts
engine_errorOne surface could not be read for one question

An engine_error on one row does not affect the others; every question and surface is measured independently.

Input

brand and prompts are required. Set brandDomain to distinguish being named from being cited. brandAliases adds other spellings; competitors adds known rivals to match by name. Leave engines at its default to read Google AI Overview and Google AI Mode, or select one surface. country defaults to us, language to en, concurrency to 3 and retries to 3. The original input names and defaults remain available. Repeated questions produce repeated checks, in input order. Checks run in parallel and the default run timeout is one hour; fifteen questions on both surfaces take a few minutes. For a very large set of questions, allow enough run time for the complete scorecard.

FieldTypeDefaultWhat it does
brandstringrequiredThe brand name to look for in each answer
brandDomainstringemptyYour site, used for brand_cited
brandAliasesarray[]Other spellings of the brand
promptsarrayrequiredThe questions to ask, one check per surface each
competitorsarray[]Known rivals; empty means they are discovered from citations
enginesarrayboth surfacesgoogle_ai_overview, google_ai_mode
countrystringusMarket the question is asked in
languagestringenLanguage of the answer
concurrencyinteger3Checks run in parallel
retriesinteger3Retry setting per check (1–20); values above 5 return a cap warning

The example below is the input behind the output that follows:

{
"brand": "Prisync",
"brandDomain": "prisync.com",
"brandAliases": [],
"prompts": [
"best ecommerce price monitoring tool",
"competitor price tracking software for retailers"
],
"competitors": [],
"engines": ["google_ai_overview", "google_ai_mode"],
"country": "us",
"language": "en",
"concurrency": 3,
"retries": 3
}

Output example from a real run

This is a field selection from the first result of the Prisync input shown in the input section, fetched on 5 October 2026. Answers change between requests, so use the full dataset rather than treating this example as a prediction.

{
"prompt": "best ecommerce price monitoring tool",
"engine": "google_ai_overview",
"engine_name": "Google AI Overview",
"brand": "Prisync",
"answered": true,
"brand_mentioned": true,
"brand_mentions": 1,
"brand_rank": 1,
"brand_cited": true,
"competitor_count": 2,
"share_of_voice": 0.3333,
"source_count": 5,
"fetched_at": "2026-10-05T08:47:05Z",
"position": 1
}

Every result keeps its question, surface, market, answer, sources and retrieval time. The dataset also includes source, query and answer_shown for consumers using the common AI answer format. These fields accompany the existing names. Unanswered rows use null for the brand measurements because an unavailable answer is not evidence that a brand was absent. The scorecard in summary covers the complete collected question set and reports each surface separately.

The competitors in that same row came from the citations, each with the domain it was learned from:

"competitors_mentioned": [
{"name": "price2spy", "domain": "price2spy.com", "mentions": 1, "first_position": 327, "source": "cited"},
{"name": "shopify", "domain": "shopify.com", "mentions": 1, "first_position": 506, "source": "cited"}
]

And the scorecard of that run, per surface, from the summary record:

"perEngine": {
"google_ai_overview": {"answered": 2, "mentioned": 1, "visibilityRate": 0.5, "citationRate": 1, "averageRank": 1},
"google_ai_mode": {"answered": 2, "mentioned": 2, "visibilityRate": 1, "citationRate": 1, "averageRank": 1}
},
"promptsWithoutBrand": ["competitor price tracking software for retailers"]

The Overview named Prisync for one of the two questions and linked it for both; AI Mode named it for both. That gap is exactly what a single "visible" flag would hide.

Use cases for AI brand visibility tracking

  • Weekly AI visibility tracking. Run the same question set every week and watch visibilityRate and averageRank per surface move. Schedule the run on Apify and export the dataset to a sheet or dashboard.
  • Competitor share of voice. topCompetitors and share_of_voice show who Google's AI recommends in your category, including rivals you had not listed yourself.
  • Content and SEO priorities. promptsWithoutBrand is a work list: the questions where an answer exists and you are not in it. Compare the cited sources to see which pages Google relies on instead.
  • Earned media and PR. brand_context shows the sentence you appear in, so you can tell a recommendation from a passing mention or a warning.
  • Market comparison. Run the same prompts for different countries and languages to see where your brand is known to the AI and where it is not.
  • Agency reporting. One run per client brand gives a scorecard and a row per question that can go straight into a monthly report.

How this AI brand visibility tracker compares

Most AI visibility tools are subscriptions with a dashboard, a seat price and a fixed prompt quota. This actor is the measurement on its own: you pay per answered check, own the raw rows, and decide how often to run.

This actorRaw AI answer scrapersSaaS AI visibility platforms
Google AI Overview and AI ModeBoth, one row eachOne surface per actorVaries by plan
Brand named vs. linked, separatelyYesNo, you parse it yourselfVaries by tool
Competitors found from citationsYesNoVaries by tool
Unanswered questions billedNoVaries by actorVaries by plan
PricingPer run and per answered checkPer resultMonthly subscription

If you want the answers without the brand measurement, to do your own analysis, google-ai-overview-scraper and google-ai-mode-scraper return the raw answers. For the blue links behind them, see the SERP actors.

Pricing

The price remains $0.004 per run plus $0.01 per answered visibility check. The fixed run_start event is charged once, including a run with invalid input. The check event is charged only after a result with answered: true has been delivered. A question for which Google gives no AI answer has no check charge. Non-paying Apify users can receive up to ten result rows per run; only the answered rows actually delivered within that limit receive a check charge. For two questions on both surfaces, four delivered answers cost $0.044 in actor events. If only two checks are answered, those events total $0.024. Apify's own platform usage is separate from the actor event prices.

Frequently asked questions

Does answered: false mean my brand was missing?

It means the surface did not supply an answer. Those rows are excluded from visibility and citation rates. A genuine answer that omits the brand instead has answered: true and brand_mentioned: false.

Can competitors be found without entering a list?

Yes. The actor learns candidate brand tokens from cited domains across the complete run, then checks whether those names occur in each answer. A rival cited only by a later answer can still be recognised in an earlier one. Public publishing platforms are excluded from automatic competitor discovery.

Can I compare different countries?

Run the same question set with separate country and language inputs and compare the resulting scorecards. Keep the questions and selected surfaces consistent. The market and language are carried on every result for that comparison.

Does naming the brand also mean Google linked it?

Use brand_mentioned for a name in the prose and brand_cited for its domain among the sources. An answer can satisfy either one independently; the actor retains both measurements and the cited URLs.

How many questions should I track?

Start with 20 to 50 questions a buyer would type, across comparisons, use cases and price qualifiers. That is enough for a stable visibility rate per surface while each run stays inexpensive. Add the questions where you expect to lose; those are where the scorecard is most useful.

Is an AI Overview answer the same every time?

No. Google can give a different answer, different sources or no answer for the same question on another request. Track trends over repeated runs rather than drawing conclusions from one row, and keep the question set constant.