AI Answer Visibility Tracker
Pricing
from $26.86 / 1,000 google ai overviews samples
AI Answer Visibility Tracker
Check whether Google AI Overviews, ChatGPT, Claude, Perplexity, and Gemini name and cite your brand for your buyers' questions. Named and cited rates, competitor rates, and every cited source. Covers AI Overviews on the normal Google results page, not Google AI Mode.
Pricing
from $26.86 / 1,000 google ai overviews samples
Rating
0.0
(0)
Developer
Mamba Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Find out whether AI answers name your brand. Give your brand and the questions your buyers ask; each question is asked several times on Google AI Overviews and, on your own API keys, on ChatGPT, Claude, Perplexity, and Gemini. Every sample row says whether the answer named your brand, whether it cited your website, where you came in the order of mention, which competitors it named, and which sources it cited. Each question then gets a rates row: how often you were named and cited over its samples, with a range. Rows are flat, so they export to CSV or drop into a Clay table.
Google AI Mode is not covered. This actor reads the AI Overview, the summary box at the top of the normal Google results page. It does not read Google's AI Mode, the separate chat style tab, so a question asked there will not appear in your results.
Features
- Named and cited, sample by sample. AI answers change from one ask to the next. The actor asks each question as many times as you set (1 to 10, default 3) and reports every answer, so you see the spread, not one lucky or unlucky answer.
- Rates per question. One rates row per question and engine: samples read, named rate, cited rate, a 95 percent range for the named rate, the 10 most cited domains, and the named and cited rate of each competitor.
- Google AI Overviews with no key. The Google result page is read for the overview text and the sources it shows. A page with no overview is reported as
not_shown, which is a result in itself. An overview Google generates live and loads after the page is reported asdeferred, free, and left out of the rates. - ChatGPT, Claude, Perplexity, and Gemini on your own keys. Each engine is asked the question as written, with its web search on, through its official API. The model use is billed to you by that vendor. Mamba Labs never sees your bill and keeps no key.
- Competitors in the same answers. Up to 20 competitors, by name, domain, or both. Each sample lists the ones named and cited.
- Order of mention.
first_mention_rank1 means the answer named you before any competitor you listed. - Schedules. Save the input as a task and schedule it weekly to track the rates over time.
How it reads the answers
Google result pages are read through the Apify Google search proxy, one page per sample, from the country you choose. The overview text includes the part Google sends further down the same page; source cards and buttons are left out of the text, and their links are the cited sources. For some questions Google writes the overview live and loads it after the page with a second request that the proxy does not allow; those samples are deferred. The answer engines are called on their public APIs with your key, which is sent only to that vendor and is never logged, stored, or written to a row. No login, no browser, and no other developer's actor.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
brand_name | string | Required. The brand to look for, matched as a whole word in any case | |
brand_domain | string | Your domain, such as hubspot.com. A cited page on it, or on a subdomain, counts as cited | |
questions | array | Required. 1 to 50 questions, one per line | |
engines | array | google_ai_overview | Any of google_ai_overview, openai, anthropic, perplexity, gemini |
samples | string | 3 | Asks per question per engine, 1 to 10 |
competitors | array | Up to 20, as Name, domain.com, or Name|domain.com | |
brand_aliases | array | Other ways answers write your brand | |
country, language | string | us, en | For Google |
include_answer_text | string | true | Off: the 300 character excerpt only |
openai_api_key, anthropic_api_key, perplexity_api_key, gemini_api_key | secret string | Your own key, needed only for that engine | |
openai_model, anthropic_model, perplexity_model, gemini_model | string | gpt-5-mini, claude-sonnet-5-5, sonar, gemini-2.5-flash | The model each engine is asked with |
max_charge_usd | string | Stop before a charge would pass this amount |
Every field accepts text, as Clay sends it: "2", "true", a list with one item per line, or a JSON array. Questions split on new lines only, so a question can contain a comma.
Output
One row layout for every row type, so no column is lost between them. Key fields:
| Field | Rows | Example |
|---|---|---|
row_type | all | sample, question_summary, brand_summary, run_note |
question, engine, sample_index, model | samples | best crm for small business, google_ai_overview, 1 |
answer_found, overview_state | samples | true, shown (Google: shown, not_shown, deferred) |
brand_named, brand_cited, first_mention_rank | samples | true, false, 1 |
competitors_named, competitors_cited | samples | ["Pipedrive","Zoho"], ["Zoho"] |
cited_urls, cited_domains | samples | ["zoho.com","uschamber.com","reddit.com"] |
answer_excerpt, answer_text | samples | The first 300 characters, and the full text up to 8,000 |
samples_run, brand_named_rate, brand_cited_rate, named_rate_low, named_rate_high | rates rows | 3, 0.667, 0, 0.208, 0.939 |
top_cited_domains, competitor_rates_json | rates rows | ["reddit.com","g2.com"], {"Pipedrive":{"named_rate":1,"cited_rate":0}} |
row_status, error_reason, billable_events_json | all | ok, null, {"ai-overview-sample":1} |
A sample from Google where the page had no overview is an ok row with answer_found false: the answer to "does Google show an AI Overview for this question" is no. A deferred sample is free and is not counted in samples_run or the rates; a question where every sample was deferred gets no rates row. The run summary (key-value store record RUN_SUMMARY) lists samples done, Google requests, engine errors, and any stop reason.
Pricing
Pay per event. You pay only these events; the Apify platform and proxy costs of your run are paid by Mamba Labs. The model use of the engines that run on your own key is billed to you by OpenAI, Anthropic, Perplexity, or Google, not by Mamba Labs.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
Google AI Overviews sample (ai-overview-sample), one Google result page read for one question | $0.0316 | $0.03002 | $0.02844 | $0.02686 |
AI engine sample (answer-sample), one answer from ChatGPT, Claude, Perplexity, or Gemini on your key | $0.009 | $0.00855 | $0.0081 | $0.00765 |
Question rates (question-summary), one rates row per question and engine | $0.003 | $0.00285 | $0.0027 | $0.00255 |
Actor start (apify-actor-start), once per run | $0.001082 | $0.001082 | $0.001082 | $0.001082 |
Free rows: the brand rates row per engine, a deferred Google sample, a sample Google did not return a readable page for (blocked), an engine error (a rejected key, a rate limit, an empty answer), and a refused input. On the Apify free plan the actor stops at 1.50 USD of evaluation a month (about 47 Google AI Overviews samples); any paid Apify plan removes that cap.
Example: 10 questions, 3 samples each, on Google AI Overviews costs 30 samples ($0.95) plus 10 rates rows ($0.03), $0.979 with the actor start.
Usage examples
Apify Console or API
{ "brand_name": "HubSpot", "brand_domain": "hubspot.com", "questions": ["best crm for small business"], "samples": "1" }
{ "brand_name": "Attio", "brand_domain": "attio.com", "questions": ["best crm for startups", "hubspot alternatives for a 10 person team"], "competitors": ["HubSpot|hubspot.com", "Pipedrive|pipedrive.com", "Folk|folk.app"], "samples": "5" }
{ "brand_name": "Notion", "brand_domain": "notion.so", "questions": ["best wiki tool for a remote team"], "engines": ["google_ai_overview", "openai", "perplexity"], "openai_api_key": "sk-...", "perplexity_api_key": "pplx-...", "samples": "3" }
Clay
Add an Apify column that sends your brand in brand_name and a question column in questions, with samples set to 3, and read brand_named_rate and brand_cited_rate from the question_summary row.
Scheduled tracking
Save the input as an Apify task with your full question list and schedule it weekly. Compare brand_named_rate and brand_cited_rate per question from week to week, and read top_cited_domains to see which sites the answers lean on.
MCP
The MCP server @mambalabsdev/mcp-ai-answer-visibility-tracker exposes this actor as a tool for Claude and other MCP clients.
Error handling
| Situation | What you get |
|---|---|
| The input has no brand, no questions, an engine without its key, or a value out of range | One free row with row_type run_note, row_status error, and error_reason starting input_invalid: with what to fix. The run ends successfully and nothing is charged except the actor start |
| Google does not return a readable page after 3 requests | One free sample row with row_status blocked |
| Google shows an overview but its text cannot be read | One free sample row with error_reason starting source_changed:; Google changed the page and the actor needs an update |
| Your key is rejected, or the model name is not found | One free error row, and that engine is not asked again in the run; the other engines carry on |
| An engine rate limits or fails after 3 tries | One free error row for that sample |
| Max charge reached | The run stops before the next charged row and says so in the status message |
Limitations
- AI answers vary. A rate from 3 samples is a rough read;
named_rate_lowandnamed_rate_highshow how rough. Use more samples for questions that matter. - On questions where Google writes the overview live, many samples come back
deferred: in a test of 10 long tail questions on 2026-10-28, 8 of 20 samples were deferred, while 10 of 10 samples of 5 common CRM questions were read. Popular questions read best. - Google AI Mode, the chat style tab in Google search, is not covered. The actor reads only the AI Overview on the normal Google results page.
- The answer engines are asked through their APIs with web search on. A consumer app can answer differently, for example with personalization or a different default model.
- Brand matching is by whole word. A brand name that is also a common word (such as "Notion" in "the notion of") can be over counted; add the domain and aliases, and read the excerpt.
- Google pages are read from the country you set, signed out, with personalization off.
- You are responsible for how you use the data and for the terms of the AI services you use with your keys.
More from Mamba Labs
Built by Mamba Labs.