# Google AI Mode Scraper (`leohryndev/google-ai-mode-scraper`) Actor

Scrape Google AI Mode — the conversational search tab — at scale. Full AI answers, comparison tables as structured JSON, every cited source with position. Multi-country. The first dedicated AI Mode scraper on Apify.

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

## Pricing

from $20.00 / 1,000 query scrapeds

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/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 Mode Scraper — Conversational AI Search Results as JSON

Scrape **Google AI Mode** — the conversational, chat-style search experience (the "AI Mode" tab) — at scale. For every query you get the **full AI answer**, any **comparison tables as structured JSON**, and **every cited source** with its position. The first dedicated AI Mode scraper on Apify.

AI Mode is where Google is moving search: full AI answers with far fewer outbound clicks, richer than AI Overviews, and increasingly the surface that decides which brands and sites get seen. If you do SEO, GEO/AEO, market research, or competitive intel, this is the data you're currently missing.

### What you get per query

```json
{
    "query": "best project management software",
    "countryCode": "us",
    "languageCode": "en",
    "aiModePresent": true,
    "answerText": "The best project management software depends on your team size and workflow...",
    "textBlocks": [ { "type": "text", "text": "..." } ],
    "tables": [
        {
            "headers": ["Platform", "Best For", "Starting Price"],
            "rows": [["Asana", "Cross-team work management", "Free; $10.99/user/mo"], ["monday.com", "Visual workflows", "$12/user/mo"]]
        }
    ],
    "citations": [
        { "position": 1, "url": "https://www.reddit.com/r/projectmanagement/...", "domain": "reddit.com", "title": "What PM software do you actually use?", "location": "sources_panel" }
    ],
    "citationCount": 18
}
```

The comparison tables alone are gold: AI Mode loves building "Platform / Best For / Price" tables for commercial queries — structured competitive positioning, straight from Google's AI, as clean JSON.

### Use cases

- **GEO / AEO research** — see which sources Google's most advanced AI surface actually cites in your niche.
- **Brand monitoring** — is your product in the answer? In the comparison table? Cited as a source? (For automated brand/competitor analysis, share-of-voice and gap keywords across AI Overviews **and** AI Mode, use the companion Actor: **[Google AI Overview Brand Monitor](https://apify.com/leohryndev/google-ai-overview-brand-monitor)**.)
- **Content strategy** — study the exact structure AI Mode prefers (tables, lists, sources) and shape your content to match.
- **Datasets & research** — track how conversational search answers evolve over time, per country and language.

### How it works

Real browser sessions through **residential proxies in your target country** (default), with automatic session rotation, block detection, and retries. AI Mode streams its answers; the Actor waits for the answer to fully materialize before parsing. Works across countries/languages where AI Mode is available.

### Pricing

Pay per query scraped — full answer + tables + all citations included. No subscription. Failed queries are not charged.

### Scheduling & integrations

Run on a schedule (Console → Schedules), from the API/SDKs, from n8n/Make/Zapier, or as an **MCP tool** so your AI agents can query AI Mode directly.

### FAQ

**Is this legal?** The Actor reads publicly available search result pages — no login, no personal data. Standard SEO-industry practice.

**Why do some queries return `aiModePresent: false`?** Google doesn't serve AI Mode answers for every query in every region; the Actor reports it honestly (and you can re-check on a schedule).

**How is this different from an AI Overview scraper?** AI Overviews are the summary box on the classic results page. AI Mode is the full conversational tab (`udm=50`) with richer answers, tables, and a different citation set — brands are often cited in one but not the other. This Actor covers AI Mode; the [companion Actor](https://apify.com/leohryndev/google-ai-overview-brand-monitor) covers both plus brand analysis.

**What exactly is Google AI Mode?** Google's end-to-end AI search experience, rolled out from 2025: instead of ten blue links with a summary on top, the whole results page is a conversational answer (powered by Gemini) with inline sources, follow-up questions, and comparison tables. It has its own tab in Google Search and its own URL parameter (`udm=50`).

**Do AI Mode citations differ from AI Overview citations?** Massively. In our own 25-keyword study the two surfaces shared only ~16% of cited sources. If you're measuring "does Google's AI cite us?", you need both surfaces.

**Can I track answers over time?** Yes — schedule the Actor and each run appends dated rows, giving you a time series of how the answer, tables, and cited sources for each keyword evolve.

***

*More AI-search tools from this developer: [apify.com/leohryndev](https://apify.com/leohryndev) — AI Overview Brand Monitor (multi-engine), Brave AI Answer Scraper, and more.*

*Keywords: Google AI Mode scraper, AI Mode API, scrape Google AI Mode, udm=50, conversational search results, Google AI answers JSON, GEO tool, AEO, AI search citations, generative engine optimization.*

# Actor input Schema

## `queries` (type: `array`):

Search queries to run in Google AI Mode (one per line).

## `countryCode` (type: `string`):

Google country (gl parameter + proxy country). Two-letter code, e.g. `us`, `gb`, `de`, `es`.

## `languageCode` (type: `string`):

Google UI language (hl parameter), e.g. `en`, `de`, `es`.

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

How many queries to process in parallel.

## `debugSaveHtml` (type: `boolean`):

Store fetched AI Mode HTML into the key-value store for troubleshooting.

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

Residential proxies in the target country are strongly recommended (default).

## Actor input object example

```json
{
  "queries": [
    "best project management software"
  ],
  "countryCode": "us",
  "languageCode": "en",
  "maxConcurrency": 3,
  "debugSaveHtml": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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": [
        "best project management software"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("leohryndev/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": ["best project management software"] }

# Run the Actor and wait for it to finish
run = client.actor("leohryndev/google-ai-mode-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": [
    "best project management software"
  ]
}' |
apify call leohryndev/google-ai-mode-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=leohryndev/google-ai-mode-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/rNcctQqApKbY6Tct2/builds/6YRHxrO4TZrBebrys/openapi.json
