# AI Answer Visibility Tracker (`mambalabs/ai-answer-visibility-tracker`) Actor

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.

- **URL**: https://apify.com/mambalabs/ai-answer-visibility-tracker.md
- **Developed by:** [Mamba Labs](https://apify.com/mambalabs) (community)
- **Categories:** AI, SEO tools, Automation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $26.86 / 1,000 google ai overviews samples

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## AI Answer Visibility Tracker

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 as `deferred`, 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_rank` 1 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

```json
{ "brand_name": "HubSpot", "brand_domain": "hubspot.com", "questions": ["best crm for small business"], "samples": "1" }
```

```json
{ "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" }
```

```json
{ "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_low` and `named_rate_high` show 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

| Actor | Actor ID |
|---|---|
| [Account Hiring Watch](https://apify.com/mambalabs/account-hiring-watch?fpr=mamba) | `gRAZA5WBi1r6L0gy7` |
| [Agent Accessibility Auditor](https://apify.com/mambalabs/agent-accessibility-auditor?fpr=mamba) | `anxbRv0lKrpQ1pnua` |
| [Agent to Brokerage Resolver](https://apify.com/mambalabs/agent-brokerage-resolver?fpr=mamba) | `ePRRGLxOGyaVHO4dI` |
| [AI Tooling Detector](https://apify.com/mambalabs/ai-tooling-detector?fpr=mamba) | `EwkHhmqiuJgRoVEbE` |
| [B2B Reddit Conversation Monitor](https://apify.com/mambalabs/b2b-reddit-conversation-monitor?fpr=mamba) | `SoDryzzsjmY3SsiyG` |
| [Bluesky Brand Presence Mapper](https://apify.com/mambalabs/bluesky-brand-presence-mapper?fpr=mamba) | `eLpxzP4IuXznlFVND` |
| [Career Change Signal Engine](https://apify.com/mambalabs/career-change-signal-engine?fpr=mamba) | `vX2Yga1a6wGaXaP14` |
| [Company Change Event Feed](https://apify.com/mambalabs/company-change-event-feed?fpr=mamba) | `oX44rS0fkEJ3rXLWe` |
| [Company Contact Details Extractor](https://apify.com/mambalabs/company-contact-details-extractor?fpr=mamba) | `4mMncKaJykiq94grz` |
| [Company Discovery List Builder](https://apify.com/mambalabs/company-discovery-list-builder?fpr=mamba) | `jch0HdaZnpbMqlcGS` |
| [Company Firmographic Enricher](https://apify.com/mambalabs/company-firmographic-enricher?fpr=mamba) | `YlUtLWjfPpqykmB8g` |
| [Company Funding Record](https://apify.com/mambalabs/funding-investor-record?fpr=mamba) | `OFS4Mt1gyYNtGfUbE` |
| [Company Headcount Estimator](https://apify.com/mambalabs/company-headcount-estimator?fpr=mamba) | `aHC4GROnNt6kfZe5r` |
| [Company Identity Resolver](https://apify.com/mambalabs/company-identity-resolver?fpr=mamba) | `lr8fTRAmZCBZmuwwh` |
| [Company Social Presence Mapper](https://apify.com/mambalabs/company-social-presence-mapper?fpr=mamba) | `4k6CCemkgBDz18m2h` |
| [Competitor Price, Stock, and Changelog Monitor](https://apify.com/mambalabs/competitor-price-stock-changelog-monitor?fpr=mamba) | `yxdgCbUQ4PYQWwRNU` |
| [Contact Classifier](https://apify.com/mambalabs/contact-classifier?fpr=mamba) | `0lGSeYJmniXhGANnO` |
| [Contractor License Lookup](https://apify.com/mambalabs/contractor-license-lookup?fpr=mamba) | `WBYK3CPI2kdeq4bP1` |
| [Cookie Consent Audit](https://apify.com/mambalabs/cookie-consent-audit?fpr=mamba) | `TrKyOS0KBoGC35nbr` |
| [Domain Deliverability Checker](https://apify.com/mambalabs/domain-deliverability-checker?fpr=mamba) | `0tVgxI7A6o9jMlxmc` |
| [Domain to LinkedIn URL Resolver](https://apify.com/mambalabs/domain-to-linkedin-url-resolver?fpr=mamba) | `3HtnSaqPHOg1Qg5gx` |
| [Ecommerce Platform Profiler](https://apify.com/mambalabs/ecommerce-platform-profiler?fpr=mamba) | `5G2NeYjBbQTjaTn9L` |
| [Ecommerce Store Discovery](https://apify.com/mambalabs/ecommerce-store-discovery?fpr=mamba) | `PeHu4sLyFvQHXUUrX` |
| [Event Presence Index](https://apify.com/mambalabs/event-presence-index?fpr=mamba) | `WLhMy8fMDgsxdYxv5` |
| [Expert Witness Directory](https://apify.com/mambalabs/expert-witness-directory?fpr=mamba) | `LIpwlgfE3LaQBaXd4` |
| [Funding and Press Signal Scanner](https://apify.com/mambalabs/funding-press-signal-scanner?fpr=mamba) | `FS13X6dhQVgX3XOM6` |
| [GitHub Organization Signal Scanner](https://apify.com/mambalabs/github-organization-signal-scanner?fpr=mamba) | `ahF8RRpv5mzPao5CN` |
| [Google Ads Transparency Monitor](https://apify.com/mambalabs/google-ads-transparency-monitor?fpr=mamba) | `1eOwxhBVxzvOXAm4s` |
| [Government Contract Award Monitor](https://apify.com/mambalabs/public-award-monitor?fpr=mamba) | `zhEtllASykOcx9hJ8` |
| [GTM Hiring Signal Scraper](https://apify.com/mambalabs/gtm-hiring-signal-scraper?fpr=mamba) | `D7O1SA2EqwHGsGr1P` |
| [GTM Signals Aggregator](https://apify.com/mambalabs/b2b-buying-signals-hiring-tech-stack-intent-for-clay?fpr=mamba) | `xKdRfnfFNkdMpFuNs` |
| [ICP Fit Scorer](https://apify.com/mambalabs/icp-account-lead-scoring-fit-scorer-0-100-for-clay?fpr=mamba) | `W161DT8W4kW55dMFh` |
| [Influencer Change Monitor](https://apify.com/mambalabs/creator-change-monitor?fpr=mamba) | `d2VVgahNL6UmcLkhg` |
| [Influencer Finder](https://apify.com/mambalabs/creator-finder?fpr=mamba) | `tpkedmloIIWtXx6sg` |
| [Influencer Lead List Builder](https://apify.com/mambalabs/creator-lead-list-all-in-one?fpr=mamba) | `KnmByszcv135yM30G` |
| [Influencer Profile Scraper](https://apify.com/mambalabs/creator-profile-reader?fpr=mamba) | `EqEnklDVMIcB1V499` |
| [Influencer Talent Agency Lookup](https://apify.com/mambalabs/talent-agency-lookup?fpr=mamba) | `zCuX4Mgyg6JvXgGzd` |
| [Instagram Facebook Brand Presence Mapper](https://apify.com/mambalabs/meta-brand-presence-mapper?fpr=mamba) | `HXh65I0JBjPsunbY8` |
| [Integration and Marketplace Presence Mapper](https://apify.com/mambalabs/integration-marketplace-presence-mapper?fpr=mamba) | `V0guNuvM85Q61f2gj` |
| [Job Board Keyword Signal Scanner](https://apify.com/mambalabs/job-board-keyword-signal-scanner?fpr=mamba) | `4DvqpvhMR74NLcDDY` |
| [Job Change Tracker](https://apify.com/mambalabs/job-change-tracker?fpr=mamba) | `L8UbEmMJC1XYPSZOb` |
| [Job Posting Monitor](https://apify.com/mambalabs/gtm-job-discovery?fpr=mamba) | `QCfICD9kOPiOdj5iI` |
| [Legal Entity Resolver](https://apify.com/mambalabs/legal-entity-resolver?fpr=mamba) | `KHFyPCDIx7CyqULYm` |
| [Link in Bio Scraper and Newsletter Detector](https://apify.com/mambalabs/link-in-bio-newsletter-checker?fpr=mamba) | `OorucdheTIgu7RFzK` |
| [LinkedIn Company Page Mapper](https://apify.com/mambalabs/linkedin-company-presence-mapper?fpr=mamba) | `zOPm6A9JEhUGcIdFW` |
| [LinkedIn Post Tracker](https://apify.com/mambalabs/linkedin-post-engager-capture?fpr=mamba) | `oiGLNPuaf5BRaz9K5` |
| [Local Business Lead Builder](https://apify.com/mambalabs/local-business-lead-builder?fpr=mamba) | `qMN97aoHhsAS5bznV` |
| [Local Rank and Map Pack Tracker](https://apify.com/mambalabs/local-rank-map-pack-tracker?fpr=mamba) | `gv0kyHGDIg8XscclB` |
| [Lookalike Company Finder](https://apify.com/mambalabs/lookalike-company-finder?fpr=mamba) | `e2O426WBAbLLQL4Z2` |
| [Manufacturer and Supplier Finder](https://apify.com/mambalabs/manufacturer-supplier-finder?fpr=mamba) | `Qcsdmd0lUfPzVkonh` |
| [Meta Ad Library Monitor](https://apify.com/mambalabs/meta-ad-library-monitor?fpr=mamba) | `J1GWlSXfSGU3u8Wng` |
| [Mobile Phone Waterfall](https://apify.com/mambalabs/mobile-phone-waterfall-orchestrator?fpr=mamba) | `6OOgPktf7RIa5XCOP` |
| [New Company Registrations Feed](https://apify.com/mambalabs/new-company-registrations-feed?fpr=mamba) | `g2WfZhWvCtc57g2Jo` |
| [New Hire Finder](https://apify.com/mambalabs/new-hire-finder?fpr=mamba) | `cKuc38p4nYHNF3IW8` |
| [Newsletter Sponsor Tracker](https://apify.com/mambalabs/newsletter-sponsor-tracker?fpr=mamba) | `qSwpqxD1TiPZpLQHv` |
| [Open Tender and RFP Finder](https://apify.com/mambalabs/open-tender-rfp-finder?fpr=mamba) | `kPTGz6t6TFoUUyfaO` |
| [Outbound Stack Detector](https://apify.com/mambalabs/outbound-infrastructure-fingerprint?fpr=mamba) | `v43UJC8r7qW7cBSTG` |
| [Page Finder and Extractor](https://apify.com/mambalabs/page-finder-extractor?fpr=mamba) | `TpurgcOZbVnknlaiC` |
| [Partner and Member Directory Extractor](https://apify.com/mambalabs/partner-member-directory-extractor?fpr=mamba) | `ZX0XJPPUvnFJxeC1a` |
| [People Finder & Email Verifier](https://apify.com/mambalabs/people-finder?fpr=mamba) | `LEgloG7tWgQl4o6TD` |
| [Person LinkedIn URL Resolver](https://apify.com/mambalabs/person-linkedin-url-resolver?fpr=mamba) | `ssuyPV8LnEsL8qbnb` |
| [Person Social Footprint Mapper](https://apify.com/mambalabs/person-social-footprint-mapper?fpr=mamba) | `jfQXa2zW9FHCJot9K` |
| [Personal Email to Company Resolver](https://apify.com/mambalabs/personal-email-to-company-resolver?fpr=mamba) | `AefT5Ye6YNPFQwJBf` |
| [Pinterest Brand Presence Mapper](https://apify.com/mambalabs/pinterest-brand-presence-mapper?fpr=mamba) | `d1HvjZfKhgvWsoEwn` |
| [Podcast Guest and Host Finder](https://apify.com/mambalabs/podcast-guest-host-finder?fpr=mamba) | `o2MGSvgbSLeeXOsIo` |
| [Prospect Engine](https://apify.com/mambalabs/b2b-prospect-engine?fpr=mamba) | `q9rT6v64nUJdPexOQ` |
| [Public Feature Board and Roadmap Monitor](https://apify.com/mambalabs/public-feature-board-roadmap-monitor?fpr=mamba) | `rcHF5gj5r2Vqnry35` |
| [Publishing Frequency Tracker](https://apify.com/mambalabs/blog-publishing-frequency?fpr=mamba) | `TbLwaUUATdYb6wp4N` |
| [Reddit Brand Presence Mapper](https://apify.com/mambalabs/reddit-brand-presence-mapper?fpr=mamba) | `pKQZmDaT70SEb54bZ` |
| [Reporting Window Finder](https://apify.com/mambalabs/public-company-reporting-window-finder?fpr=mamba) | `uINxR7a1IW8qUTRUX` |
| [Sequencer Event Poller](https://apify.com/mambalabs/sequencer-event-poller?fpr=mamba) | `S6s8Rjd61tGdrMRk4` |
| [Sequencer Lead Push](https://apify.com/mambalabs/clay-to-instantly-smartlead-push?fpr=mamba) | `0Jv27VeWM5tSZQs9x` |
| [Team Page People Extractor](https://apify.com/mambalabs/team-page-people-extractor?fpr=mamba) | `j8a9zX0k4mNbvDbWK` |
| [Tech Stack Signal Detector](https://apify.com/mambalabs/gtm-tech-stack-signal-scraper?fpr=mamba) | `qyd7nNyqFPelQViBx` |
| [TikTok Brand Presence Mapper](https://apify.com/mambalabs/tiktok-brand-presence-mapper?fpr=mamba) | `fco8FvoJcSafbeyd1` |
| [Trustpilot Reputation Enricher](https://apify.com/mambalabs/review-platform-reputation-enricher?fpr=mamba) | `3lIqfCt61j4hqE1xz` |
| [VC and Accelerator Portfolio List Builder](https://apify.com/mambalabs/vc-accelerator-portfolio-list-builder?fpr=mamba) | `chH8hrfuoqqolW06m` |
| [WCAG Accessibility Audit](https://apify.com/mambalabs/wcag-accessibility-audit?fpr=mamba) | `P3jBj3FRghKEhX52z` |
| [Website Phrase and Business Model Classifier](https://apify.com/mambalabs/website-phrase-business-model-classifier?fpr=mamba) | `CBuZ9k7sRwBeiKiCS` |
| [Website Traffic Rank Estimator](https://apify.com/mambalabs/website-traffic-rank-estimator?fpr=mamba) | `GnOFUzlNVIoXgeJjH` |
| [Work Email Waterfall](https://apify.com/mambalabs/email-waterfall-orchestrator?fpr=mamba) | `OT6xqTFThC0Rjf7Zj` |
| [Workplace Program Detector](https://apify.com/mambalabs/workplace-program-detector?fpr=mamba) | `Li6pPDhqbdzFz3h7G` |
| [X Brand Presence Mapper](https://apify.com/mambalabs/x-brand-presence-mapper?fpr=mamba) | `oLOgadhHUkNAyDA3w` |
| [YouTube Channel Stats Extractor](https://apify.com/mambalabs/youtube-channel-transcript-extractor?fpr=mamba) | `6hSpD3kd2s2IQ4VSs` |

Built by [Mamba Labs](https://apify.com/mambalabs?fpr=mamba).

# Actor input Schema

## `brand_name` (type: `string`):

Required. The brand to look for in the answers, as people write it. Matched as a whole word, any case.

## `brand_domain` (type: `string`):

Your website domain, such as hubspot.com. An answer that cites a page on this domain (or a subdomain) counts as cited. Leave empty to match cited domains on the brand name.

## `questions` (type: `array`):

Required. 1 to 50 questions your buyers ask, one per line, written the way they would type them, such as "best crm for small business".

## `engines` (type: `array`):

Where to ask. google_ai_overview needs no key. openai (ChatGPT), anthropic (Claude), perplexity, and gemini run on your own API key, given below, and the model use is billed to you by that vendor.

## `samples` (type: `string`):

How many times each question is asked on each engine, 1 to 10. Answers change from one ask to the next, so the rates come from several samples. Each sample is one charged event. Default 3.

## `competitors` (type: `array`):

Optional. Up to 20 competitors to track in the same answers, one per line, as a name, a domain, or name|domain (Pipedrive|pipedrive.com).

## `brand_aliases` (type: `array`):

Optional. Other ways answers write the brand, such as a product name. Up to 10.

## `country` (type: `string`):

Two letter country code for Google, such as us or gb. The answer engines are asked without a country.

## `language` (type: `string`):

Language code for Google, such as en or de.

## `include_answer_text` (type: `string`):

true (default): each sample row carries the answer text (up to 8,000 characters) as well as a 300 character excerpt. false: the excerpt only.

## `openai_api_key` (type: `string`):

Your own OpenAI key, needed only for the openai engine. Sent only to api.openai.com, never stored, logged, or written to a row.

## `anthropic_api_key` (type: `string`):

Your own Anthropic key, needed only for the anthropic engine. Sent only to api.anthropic.com, never stored, logged, or written to a row.

## `perplexity_api_key` (type: `string`):

Your own Perplexity key, needed only for the perplexity engine. Sent only to api.perplexity.ai, never stored, logged, or written to a row.

## `gemini_api_key` (type: `string`):

Your own Google AI Studio key, needed only for the gemini engine. Sent only to generativelanguage.googleapis.com, never stored, logged, or written to a row.

## `openai_model` (type: `string`):

Model for the openai engine, asked with web search on. Default gpt-5-mini.

## `anthropic_model` (type: `string`):

Model for the anthropic engine, asked with web search on. Default claude-sonnet-5-5.

## `perplexity_model` (type: `string`):

Model for the perplexity engine. Default sonar.

## `gemini_model` (type: `string`):

Model for the gemini engine, asked with Google Search grounding on. Default gemini-2.5-flash.

## `max_charge_usd` (type: `string`):

Optional. The run stops before any charge that would take it past this amount. Leave empty to rely only on the maximum cost per run you set in Apify, which the actor also honors.

## `source_tag` (type: `string`):

Internal attribution tag. Leave empty.

## Actor input object example

```json
{
  "brand_name": "HubSpot",
  "brand_domain": "hubspot.com",
  "questions": [
    "best crm for small business"
  ],
  "engines": [
    "google_ai_overview"
  ],
  "samples": "1",
  "country": "us",
  "language": "en",
  "include_answer_text": "true",
  "openai_model": "gpt-5-mini",
  "anthropic_model": "claude-sonnet-5-5",
  "perplexity_model": "sonar",
  "gemini_model": "gemini-2.5-flash"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `run_summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "brand_name": "HubSpot",
    "brand_domain": "hubspot.com",
    "questions": [
        "best crm for small business"
    ],
    "samples": "1"
};

// Run the Actor and wait for it to finish
const run = await client.actor("mambalabs/ai-answer-visibility-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "brand_name": "HubSpot",
    "brand_domain": "hubspot.com",
    "questions": ["best crm for small business"],
    "samples": "1",
}

# Run the Actor and wait for it to finish
run = client.actor("mambalabs/ai-answer-visibility-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "brand_name": "HubSpot",
  "brand_domain": "hubspot.com",
  "questions": [
    "best crm for small business"
  ],
  "samples": "1"
}' |
apify call mambalabs/ai-answer-visibility-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mambalabs/ai-answer-visibility-tracker"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/RJZvzKniYK4nswcMg/builds/eZCu1fdooo8nVBeJY/openapi.json
