# Google AI Mode Scraper & AI Brand Visibility Tracker (`wulfcare/google-ai-mode-scraper`) Actor

Ask Google AI Mode your prompts: get the full answer (tables included), every cited source, and a brand report: mentioned or not, rank vs competitors, own site cited. Any country. No login, API key or proxy needed.

- **URL**: https://apify.com/wulfcare/google-ai-mode-scraper.md
- **Developed by:** [Wulfcare Data](https://apify.com/wulfcare) (community)
- **Categories:** SEO tools, AI, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.50 / 1,000 ai mode answers

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Google AI Mode Scraper & AI Brand Visibility Tracker ($2.50/1k)

Find out what Google AI Mode tells people when they ask about your market. Give it the questions your customers ask ("best CRM for a small business", "which VPN is best for streaming?"), your brand and your competitors, and for every answer you get:

- **The full AI Mode answer**, as markdown (comparison tables, lists and headings included) and as plain text
- **Every source**: title, URL, website and whether AI Mode cited it inline
- **A brand report**: is your brand mentioned, **where it ranks** against your competitors (1 = named first), how many times, **the sentence it first appears in**, and **whether AI Mode cites your website**
- **A share-of-voice summary of the whole run**: for each brand, the % of answers that mention it, its average rank, how often it's named first and how often its site is cited, plus the 25 websites AI Mode cites most

Each prompt is asked in a **fresh, logged-out Google session**, exactly as a new visitor sees AI Mode (the "AI Mode" tab on google.com). You don't need a Google account, API key or proxy, and it costs **$2.50 per 1,000 answers**.

### Why this Google AI Mode scraper

- **$2.50 per 1,000 answers: the cheapest Google AI Mode scraper on the Store.** The others charge $3, $5 and up to $200 per 1,000.
- **Reliable:** In cloud testing, every prompt was answered (product, software, how-to and pet questions). No proxy needed, so nothing extra to pay.
- **The whole answer:** AI Mode's comparison tables come out as proper markdown tables, and lists as lists. Ads ("Sponsored"), star-rating lines, "+1" source chips and follow-up suggestions are removed.
- **Brand report and share of voice built in**, at no extra cost.
- **Never pay for a failure:** prompts AI Mode didn't answer are free rows with the reason.

### What people use it for

- **AI visibility / GEO / AEO tracking**: how often Google's AI recommends you for the questions that matter, and whether that improves after you change your content. Run it weekly on a schedule and chart the share-of-voice summary
- **Competitor share of voice**: who AI Mode names first in your category, and who it leaves out
- **Citation research**: the exact pages Google's AI reads to answer questions in your niche. Those are the pages to get listed on, reviewed by or quoted in
- **Content gaps**: prompts where competitors are recommended and you aren't, with the sentence AI Mode used for them
- **Bulk answers**: thousands of AI Mode answers with sources for research, datasets or content briefs
- **Client reporting for SEO agencies**: one run per client, with rows that drop straight into a spreadsheet or Looker Studio

### How to use it

1. Add your **prompts**, one per line. Write them the way a customer would ask.
2. Optional: add **your brand** and **competitors** as `Name, other name, website.com`, e.g. `Zoho CRM, Zoho, zoho.com`. A name counts as a mention in the answer, and a website counts both as a mention and as a citation.
3. Optional: **ask each prompt 3-5 times**. AI Mode words every answer differently and the brands it names change too, so a few repeats give you a reliable share of voice instead of one snapshot.
4. Run it, then open the **Brand visibility** view, download JSON, CSV or Excel, or call the API. The **Share-of-voice summary** is in the run's Output tab (key-value store record `SUMMARY`).

### What you get

#### One row per answer

```json
{
  "prompt": "which VPN is best for streaming",
  "repeat": 1,
  "yourBrand": "NordVPN",
  "yourBrandMentioned": true,
  "yourBrandRank": 1,
  "yourBrandCited": true,
  "brandsMentioned": ["NordVPN"],
  "brands": [
    {
      "brand": "NordVPN",
      "mentioned": true,
      "mentions": 4,
      "rank": 1,
      "firstMention": "NordVPN — Fastest Speeds & 4K Ready: Offers minimal speed loss (often around 3%) and excellent proprietary NordLynx protocol performance, making it ideal for buffer-free ultra-high-definition streaming.",
      "cited": true,
      "citedUrls": ["https://www.nordvpn.com/"]
    }
  ],
  "answer": "When it comes to streaming movies, TV shows, and live sports in 4K or HD without annoying buffering or regional blocks, a few top-tier VPNs consistently stand out in industry testing.\n\n- ExpressVPN ...",
  "answerText": "When it comes to streaming movies, TV shows, and live sports in 4K or HD ...",
  "sources": [
    { "title": "Best VPNs We've Tested (2026) - CNET", "url": "https://www.cnet.com/tech/services-and-software/best-vpn-for-streaming/", "domain": "cnet.com", "siteName": "CNET", "citedInline": true }
  ],
  "sourceCount": 6,
  "citedDomains": ["cnet.com", "tomsguide.com", "nordvpn.com", "expressvpn.com"],
  "country": "US",
  "language": "en",
  "askedAt": "2026-10-23T20:47:25Z",
  "seconds": 19,
  "error": null
}
```

`rank` counts only the brands you track: 1 is the tracked brand AI Mode names first. Every column is present on every row (`null` or empty when there's no value). Without any brands, you still get the answer and every source.

#### Share-of-voice summary (record `SUMMARY`)

```json
{
  "answers": 20,
  "unanswered": 0,
  "brands": [
    { "brand": "HubSpot", "isYourBrand": true, "answersMentioning": 15, "mentionRate": 75.0, "averageRank": 1.33, "rankedFirst": 11, "answersCiting": 4, "citationRate": 20.0 },
    { "brand": "Zoho CRM", "isYourBrand": false, "answersMentioning": 12, "mentionRate": 60.0, "averageRank": 2.0, "rankedFirst": 5, "answersCiting": 6, "citationRate": 30.0 }
  ],
  "topCitedDomains": [{ "domain": "zoho.com", "answersCiting": 6, "citationRate": 30.0 }]
}
```

### Pricing

**$2.50 per 1,000 answers ($0.0025 each)**, with no start fee, no monthly rental and no proxy to pay for.

**You're never charged for prompts AI Mode didn't answer**: they're retried with a fresh session, and if they still fail, you get a free row with `error` saying why. The summary is free.

Set **Max cost per run** in the run options to cap your spend. The run stops cleanly when it gets there, and you keep every answer so far.

### Examples

**Weekly share of voice for your category** (schedule it weekly)

```json
{
  "prompts": ["What is the best CRM for a small business?", "best CRM for real estate agents", "HubSpot alternatives"],
  "yourBrand": "HubSpot, hubspot.com",
  "competitors": ["Salesforce, salesforce.com", "Zoho CRM, Zoho, zoho.com", "Pipedrive, pipedrive.com"],
  "repeats": 5
}
```

**Just the answers and sources** (no brand tracking)

```json
{ "prompts": ["best electric toothbrush", "how to remove a stripped screw"] }
```

### Good to know

- **Logged-out AI Mode.** You see what a new visitor sees: nothing is personalised by search history.
- **Answers change.** AI Mode is not deterministic: the same prompt can name different brands minutes apart. That's why *Ask each prompt this many times* exists, and why the summary gives rates rather than yes/no.
- **Speed**: an answer takes 15-35 seconds and 2 run at a time by default, so about 4-6 answers a minute. Give the run more memory (4 GB = 5 at a time) and raise *Prompts at a time* for big runs.
- **Country and language**: *Country* sets Google's country (`gl`) and *Language* the answer language. The question is sent from Apify's US servers.
- **If Google gets busy** with the server's IP address ("unusual traffic"), the run pauses, comes back with fresh sessions and only stops after 6 prompts in a row get no answer. You're never charged for those.
- **Brand matching** is whole-word and case-insensitive: `Asana` doesn't match "asanas". Add other names (`Zoho CRM, Zoho`) to catch every way AI Mode writes your brand, and your website to track citations exactly.

### Other Actors by Wulfcare Data

- [Microsoft Copilot Search Scraper & AI Brand Visibility Tracker](https://apify.com/wulfcare/copilot-search-scraper): the same brand report for Copilot's answers
- [ChatGPT Search Scraper & AI Brand Visibility Tracker](https://apify.com/wulfcare/chatgpt-search-scraper): the same brand report for ChatGPT's answers
- [Gemini Search Scraper & AI Brand Visibility Tracker](https://apify.com/wulfcare/gemini-search-scraper): the same brand report for Gemini's answers, $1/1k
- [Google Trends Scraper](https://apify.com/wulfcare/google-trends-scraper): interest over time, rising queries and Trending Now
- [Free YouTube Scraper](https://apify.com/wulfcare/youtube-scraper): YouTube videos, Shorts, channels and searches, free

Found a problem or need a field? Open an issue on the Issues tab.

# Actor input Schema

## `prompts` (type: `array`):

What to ask Google AI Mode, one prompt per line. Write them the way your customers would search, e.g. "best accounting software for a plumber". Each prompt is asked in a new, logged-out AI Mode search.

## `yourBrand` (type: `string`):

Optional. Your brand name, then any other names and your website, separated by commas: "HubSpot, HubSpot CRM, hubspot.com". Every answer then says whether it mentions you, your rank against the competitors below, and whether it cites your site.

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

Optional. Other brands to track, one per line, in the same format: name, other names, website.

## `repeats` (type: `integer`):

AI Mode words its answer differently each time, and the brands it names can change too. Ask the same prompt 3-5 times to get your share of mentions instead of a single snapshot. Every answer is its own row (and its own charge).

## `maxConcurrency` (type: `integer`):

How many questions run in parallel (each is a browser tab). 2 is the safe default: Google slows down busy IP addresses.

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

Google interface language (hl), e.g. en, de, fr, es, ja. Default en.

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

Google country (gl) for the search. AI Mode leans on that country's sites and shops for local questions.

## Actor input object example

```json
{
  "prompts": [
    "What is the best CRM for a small business?",
    "Which project management tool is best for a remote team?"
  ],
  "yourBrand": "HubSpot, hubspot.com",
  "competitors": [
    "Salesforce, salesforce.com",
    "Zoho CRM, Zoho, zoho.com",
    "Pipedrive, pipedrive.com",
    "monday.com"
  ],
  "repeats": 1,
  "maxConcurrency": 2,
  "language": "en",
  "country": "US"
}
```

# Actor output Schema

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

No description

## `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 = {
    "prompts": [
        "What is the best CRM for a small business?",
        "Which project management tool is best for a remote team?"
    ],
    "yourBrand": "HubSpot, hubspot.com",
    "competitors": [
        "Salesforce, salesforce.com",
        "Zoho CRM, Zoho, zoho.com",
        "Pipedrive, pipedrive.com",
        "monday.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("wulfcare/google-ai-mode-scraper").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 = {
    "prompts": [
        "What is the best CRM for a small business?",
        "Which project management tool is best for a remote team?",
    ],
    "yourBrand": "HubSpot, hubspot.com",
    "competitors": [
        "Salesforce, salesforce.com",
        "Zoho CRM, Zoho, zoho.com",
        "Pipedrive, pipedrive.com",
        "monday.com",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("wulfcare/google-ai-mode-scraper").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 '{
  "prompts": [
    "What is the best CRM for a small business?",
    "Which project management tool is best for a remote team?"
  ],
  "yourBrand": "HubSpot, hubspot.com",
  "competitors": [
    "Salesforce, salesforce.com",
    "Zoho CRM, Zoho, zoho.com",
    "Pipedrive, pipedrive.com",
    "monday.com"
  ]
}' |
apify call wulfcare/google-ai-mode-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,wulfcare/google-ai-mode-scraper"
        }
    }
}
```

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/553JYqJhI5zGfMflT/builds/IUkhZ49IjbvBpo1th/openapi.json
