# Google AI Overview Scraper — Answers & Brand Mentions (`korado_labs/google-ai-mode-scraper`) Actor

Scrape Google's AI Overview at scale: the AI answer, cited sources with domains, images, and brand-mention analysis for GEO/AEO monitoring. Fast HTTP engine (~2s/query). Pay only for answers returned.

- **URL**: https://apify.com/korado\_labs/google-ai-mode-scraper.md
- **Developed by:** [Korado Labs](https://apify.com/korado_labs) (community)
- **Categories:** AI, SEO tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $100.00 / 1,000 ai overview answers

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Google AI Overview Scraper — AI Answers, Citations & Brand Mentions

Scrape **Google's AI Overview** (the AI-generated answer box at the top of Google Search) at scale. For every query you get the AI answer, the sources it cites, the domains behind those sources, any images, and — for GEO/AEO monitoring — whether and how often the **brands you track are mentioned or cited**.

Built for SEO/GEO teams, brand analysts, and researchers who need to know **what Google's AI is telling users** and **who it credits**.

> ⚡ **Fast & cheap engine.** Pure HTTP over Google's SERP proxy — about **2 seconds per query**, no headless browser. **You pay only for queries that actually return an AI Overview.**

***

### What you get per query

| Field | Description |
|---|---|
| `answerText` | The AI Overview answer as clean plain text |
| `answerMarkdown` | Same answer with paragraph breaks preserved |
| `citations` | Every cited source: `url`, `domain`, `title` (in citation order) |
| `citationCount` | Number of distinct cited sources |
| `citedDomains` | De-duplicated list of cited domains |
| `images` | Image URLs shown inside the AI Overview |
| `wordCount` | Word count of the answer |
| `brandMentions` | Per tracked brand: `mentionCount`, `mentionedInAnswer`, `citedAsSource` |
| `organicResults` | Top classic blue-link results (optional) |
| `query`, `gl`, `hl`, `searchUrl` | The query and locale it was run in |
| `error` | Only on queries with no AI Overview (these are **not charged**) |

***

### Example input

```json
{
  "queries": "best project management software\nis intermittent fasting healthy",
  "gl": "us",
  "hl": "en",
  "checkBrands": ["Asana", "Trello", "monday.com"],
  "includeOrganic": false
}
```

### Example output (one item)

```json
{
  "query": "best project management software",
  "answerText": "The top project management software choices for 2026 include monday.com for visual tracking, Asana for team task workflows, ClickUp for high customization ...",
  "citations": [
    { "url": "https://zapier.com/...", "domain": "zapier.com", "title": "The best project management software" },
    { "url": "https://www.atlassian.com/...", "domain": "atlassian.com", "title": "..." }
  ],
  "citationCount": 4,
  "citedDomains": ["atlassian.com", "reddit.com", "zapier.com"],
  "wordCount": 48,
  "brandMentions": {
    "Asana":      { "mentionCount": 1, "mentionedInAnswer": true,  "citedAsSource": false },
    "Trello":     { "mentionCount": 0, "mentionedInAnswer": false, "citedAsSource": false },
    "monday.com": { "mentionCount": 1, "mentionedInAnswer": true,  "citedAsSource": false }
  }
}
```

***

### Use cases

- **GEO / AEO monitoring** — track whether Google's AI answer mentions or cites your brand across a set of target queries, and watch it over time.
- **Competitive share of voice** — see which competitors and which domains Google's AI credits for your category.
- **Content & PR strategy** — find the exact sources Google trusts for a topic and target them.
- **Research at scale** — pull structured AI answers for hundreds of questions in one run.

***

### Pricing

**Pay-per-result:** you are charged **$0.10 per AI Overview answer** that is successfully extracted. Queries where Google shows no AI Overview return an `error` item and are **free**. No monthly platform fee, no charge for empty results.

Because the engine is a single lightweight HTTP request (~2s), even large batches run in minutes.

***

### Tips for best results

- **Question-style and "best X" queries** trigger AI Overviews most reliably (e.g. *how does X work*, *best CRM for startups*, *is X safe*). Purely navigational queries often have none.
- Use `gl` / `hl` to check how the AI answer differs by country and language.
- Put your own brand **and** your competitors in `checkBrands` to get a full share-of-voice picture in one run.
- Not every query has an AI Overview — that is Google's behaviour, and you are never charged for those.

***

### How it works & reliability

The Actor requests Google Search over Apify's **Google SERP proxy** and parses the server-rendered AI Overview block directly from the HTML. There is no headless browser, so runs are fast, cheap, and stable. If a request is blocked, it automatically retries with a fresh proxy session (configurable via *Max retries per query*).

### FAQ

**Does this scrape Google's dedicated "AI Mode" tab?**
No. This Actor targets the **AI Overview** answer box on standard Google Search, which is where the vast majority of AI answers and citations appear (and what matters for GEO/AEO). AI Mode's conversational surface streams its answer via JavaScript and is not covered here.

**Why did some queries return no answer?**
Google only shows an AI Overview for a subset of queries. Those items include an `error` note and are not charged.

# Actor input Schema

## `queries` (type: `string`):

One query per line. Each query returns Google's AI Overview answer with its cited sources. If left empty, a single demo query runs.

## `gl` (type: `string`):

Google country code (gl parameter), e.g. us, gb, de, in, fr.

## `hl` (type: `string`):

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

## `checkBrands` (type: `array`):

Optional list of brand, product or domain names. For each query the output reports whether the brand is mentioned in the AI answer, how many times, and whether its domain is cited as a source.

## `includeOrganic` (type: `boolean`):

When enabled, each record also includes the top classic (blue-link) organic results for the query.

## `maxRetriesPerQuery` (type: `integer`):

How many times to retry a query with a fresh proxy session if Google blocks the request.

## `proxyConfiguration` (type: `object`):

Defaults to Google SERP proxy, which reliably returns the server-rendered AI Overview. Leave as-is unless you have a specific reason to change it.

## Actor input object example

```json
{
  "queries": "how does photosynthesis work\nbest project management software",
  "gl": "us",
  "hl": "en",
  "checkBrands": [],
  "includeOrganic": false,
  "maxRetriesPerQuery": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "GOOGLE_SERP"
    ]
  }
}
```

# Actor output Schema

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

One dataset item per query: AI Overview answer text, cited sources with domains, images, word count, and optional brand-mention analysis for GEO/AEO monitoring.

# 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 = {
    "queries": `how does photosynthesis work
best project management software`,
    "checkBrands": [],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "GOOGLE_SERP"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("korado_labs/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 = {
    "queries": """how does photosynthesis work
best project management software""",
    "checkBrands": [],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["GOOGLE_SERP"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("korado_labs/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 '{
  "queries": "how does photosynthesis work\\nbest project management software",
  "checkBrands": [],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "GOOGLE_SERP"
    ]
  }
}' |
apify call korado_labs/google-ai-mode-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,korado_labs/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/IMoqbIkM8EuqDld1O/builds/poocDpmsPd8BM0O8Y/openapi.json
