# Google AI Overview Tracker - Citations & AI Mode \[NO LOGIN] ✅ (`unseenuser/google-ai-overviews-scraper`) Actor

Google AI Overview tracker: get the full answer and every cited source for any search. See if your site is cited AND your brand named, which competitors appear, and what changed since your last run. AI Mode in the same run. Searches with no AI Overview are free. CSV, Excel, JSON, API.

- **URL**: https://apify.com/unseenuser/google-ai-overviews-scraper.md
- **Developed by:** [Unseen User](https://apify.com/unseenuser) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $2.49 / 1,000 ai overview founds

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 Overview Tracker - Citations & AI Mode \[NO LOGIN] ✅

Check Google AI Overviews and AI Mode for any search: the answer, its cited sources, whether your site is cited and your brand named, plus change tracking.

**An AI Overview tracker for SEO, GEO and AEO teams:** see every day whether Google's AI answer cites your site or names your brand, and which competitors it quotes instead. No login, no cookies, 200+ countries.

### ⚡ Why This Actor?

Combined-endpoint atomic actor: input a list of searches, get back Google's AI Overview for each one (full answer, text blocks, every cited source) PLUS an optional Google AI Mode answer, in one run. Every row tells you in plain words whether an AI Overview was shown, whether YOUR domain is among the cited sources, whether your brand name appears in the answer, which competitor domains were cited instead, and (on scheduled runs) whether that changed since the last check. Built for SEO, GEO and AEO teams who need a daily "are we in the AI answer?" check, not a raw SERP dump.

This Actor checks what Google shows to a fresh, non-personalized searcher in the country, language and device you choose. It does not log in, does not see personalized answers, and does not guarantee that Google shows an AI Overview for a given search. When Google shows none, you still get a clear `no_ai_overview` row, free of charge: you pay only when an AI answer is found.

### 🎯 Use Cases

- **GEO / AEO monitoring** - track every day whether your pages are cited as sources in Google's AI Overview for your money keywords
- **Brand visibility** - see whether the AI answer names your brand, even when it cites someone else's page
- **Competitive monitoring** - find out which competitor domains Google's AI cites for the searches you want to own
- **Content gap analysis** - read the exact answer and the cited pages to see what content Google's AI prefers to quote
- **Agency reporting** - give clients a dated, per-query record of AI Overview presence and citations across countries and devices
- **AI Mode research** - compare the short AI Overview with the longer AI Mode answer for the same question
- **Market research** - learn which queries in a market trigger AI answers at all, and how long and source-heavy those answers are

### 🚀 Quick Start

1. Click **Try for free** on this Actor's page
2. Enter your searches (see Inputs Overview below)
3. Run the Actor
4. Download results as JSON, CSV, or XLSX, or pull via Apify API

The prefilled example (2 searches, United States, English, desktop) finishes in about a minute.

### ⚙️ Inputs Overview

| Input | Type | Required | Description | Example/Allowed Values |
|---|---|---|---|---|
| `queries` | array of strings | ✅ | Searches to check, one per line. No limit per run, each up to 700 characters. Duplicates are removed. On the Apify Free plan, up to 5 results per run. | `best crm for small business`, `how does compound interest work` |
| `mode` | enum | ❌ | `aiOverview` = check the AI Overview on the normal Google results page. `aiModeOnly` = skip the results page and fetch only the Google AI Mode answer. Default `aiOverview` | `aiOverview`, `aiModeOnly` |
| `targetDomains` | array of strings | ❌ | Your domains. The Actor checks whether any cited source belongs to them (subdomains included). No limit, each up to 253 characters. | `mysite.com`, `blog.mysite.com` |
| `brandNames` | array of strings | ❌ | Brand terms to look for in the answer text (case-insensitive, whole words). No limit, each up to 100 characters. | `Acme`, `Acme CRM` |
| `competitorDomains` | array of strings | ❌ | Rival domains to flag when Google's AI cites them. No limit, each up to 253 characters. | `hubspot.com`, `salesforce.com` |
| `country` | enum | ❌ | Market to search from (2-letter code). Default `us` | `us`, `gb`, `de`, `fr`, `il`, ... (full list in the input form) |
| `language` | enum | ❌ | Interface and answer language (language code). Default `en`. AI Mode supports 100 of these languages | `en`, `de`, `fr`, `es`, `he`, ... |
| `location` | string | ❌ | Optional city, up to 200 characters. Pick one of about 1,000 major cities from the list, or type any of 64,000+ supported cities: a city name in the selected `country` (a name of 4 or more letters also finds cities that start with it, so `Tel Aviv` finds Tel Aviv-Yafo; when several cities match, the largest is used; the run log names the full location) or the full form `City,Region,Country`. When set, it replaces `country`. | `New York`, `London` (with `gb`), `Tel Aviv` (with `il`), `New York,New York,United States` |
| `device` | enum | ❌ | Desktop or mobile results. Default `desktop` | `desktop`, `mobile` |
| `includeOrganic` | boolean | ❌ | Add the top 10 organic results, People Also Ask questions and related searches to each row (same search, no extra event). Only in `aiOverview` mode. Default `false` | `false` |
| `includeAiMode` | boolean | ❌ | Also fetch the Google AI Mode answer for each search (charged as a separate `ai-mode-answer` event). Ignored in `aiModeOnly` mode, where AI Mode is always fetched. Default `false` | `false` |
| `compareWithPreviousRun` | boolean | ❌ | Remember each search's citations in a named storage in your own Apify account and report what changed since the previous run with the same settings. Default `false` | `true` for scheduled runs |

#### Input example (JSON)

A daily AI Overview tracking setup for two searches in New York, with AI Mode and change tracking:

```json
{
  "queries": [
    "best crm for small business",
    "how does compound interest work"
  ],
  "mode": "aiOverview",
  "targetDomains": [
    "mysite.com"
  ],
  "brandNames": [
    "Acme CRM"
  ],
  "competitorDomains": [
    "hubspot.com",
    "salesforce.com"
  ],
  "country": "us",
  "language": "en",
  "location": "New York",
  "device": "desktop",
  "includeOrganic": false,
  "includeAiMode": true,
  "compareWithPreviousRun": true
}
```

### 🧾 What You Get (one row per search)

| Field | What it means |
|---|---|
| `query` | The search as checked |
| `status` | `ok` for a search result; `info` for notices (Free plan limit, maximum cost reached, AI Mode language not supported); `error` when the run could not finish. `info` and `error` rows carry `error.type`, `error.message` and `charged: false`, and are never charged. A run that hits one of these still ends as SUCCEEDED, except `INTERNAL_ERROR` (a fault on our side), which ends as FAILED |
| `aiOverviewStatus` | `present` (answer returned, charged), `absent` (Google showed no AI Overview, free), `not_loaded` (Google started loading one but it never arrived, free) |
| `aiOverviewPresent` | `true` only when `aiOverviewStatus` is `present` |
| `aiOverviewRank` | Position of the AI Overview block on the page (1 = top). Navigational searches can show it lower down |
| `answerMarkdown` | The full answer with inline citation links `[[n]](url)` exactly as Google shows them |
| `answerText` | The same answer as plain text |
| `textBlocks[]` | The answer split into blocks: `type` (`text`, `video`, `table`), `title`, `text`, `url` (videos) |
| `references[]` | The source cards: `position`, `title`, `url`, `domain`, `source`, `snippet` |
| `citedUrls[]` | Every page the answer cites: source cards plus inline citation links, de-duplicated (Google Shopping and other google.com links excluded) |
| `citedDomains[]` | The domains of `citedUrls` |
| `citationState` | `cited`, `mentioned_not_cited`, `not_cited`, `no_ai_overview`, `not_loaded`, `not_checked` (see below) |
| `targetCitedUrls[]` | Which of your pages were cited |
| `brandMentioned` / `brandsFound[]` | Whether (and which of) your brand terms appear in the answer |
| `competitorsCited[]` | Which competitor domains were cited |
| `organicResults[]`, `peopleAlsoAsk[]`, `relatedSearches[]` | Only with `includeOrganic` |
| `aiModeStatus` | Only with AI Mode: `present` (charged), `absent` (free), or `language_not_supported` (AI Mode is not available in the chosen language: not requested, not charged, `aiModeAnswer` is null) |
| `aiModeAnswer` | Only with AI Mode: `status` (`present` = charged, `absent` = free), `answerMarkdown`, `answerText`, `references[]`, `citedUrls[]`, `citationState`, `brandMentioned`, `competitorsCited[]` |
| `previousCitationState` / `citationChange` | Only with `compareWithPreviousRun`: last run's state and `first_check`, `unchanged`, `gained_citation`, `lost_citation`, `ai_overview_appeared`, `ai_overview_disappeared` |
| `country`, `language`, `location`, `device`, `checkedAt`, `checkUrl` | Search settings, time of the check, and a Google link you can open in a private window to compare |

#### Output example (JSON)

A real row from a test run ("nike login", United States, mobile, no domains or brands given, so `citationState` is `not_checked`):

```json
{
  "query": "nike login",
  "status": "ok",
  "error": null,
  "aiOverviewStatus": "present",
  "aiOverviewPresent": true,
  "aiOverviewRank": 7,
  "answerMarkdown": "You can access your account through the [Nike Sign-In Portal](https://www.nike.com/login).[[1]](https://www.nike.com/login)\n\n### How to Sign In\n\n- **Enter Email:** Type in the email address linked to your Nike profile.[[1]](https://www.nike.com/login)\n- **Verify Location:** Confirm your country from the global selector menu.[[1]](https://www.nike.com/login)\n- **Complete Sign-In:** Follow the on-screen prompts to enter your password or verification code.\n\n### Specialized Logins\n\n- **Nike Employee / Swoosh:** Sign in via the [Nike Swoosh Portal](https://www.nike.com/swoosh) for employee discounts and access.[[1]](https://www.nike.com/swoosh)\n- **Order Status:** Access your active purchases directly through the [Nike Orders Page](https://www.nike.com/orders/?showSignin=true).\n\nWould you like help with **resetting a forgotten password** or **joining Nike Membership** for free shipping?",
  "answerText": "You can access your account through the Nike Sign-In Portal.\n\nEnter Email: Type in the email address linked to your Nike profile.\nVerify Location: Confirm your country from the global selector menu.\nComplete Sign-In: Follow the on-screen prompts to enter your password or verification code.\n\nNike Employee / Swoosh: Sign in via the Nike Swoosh Portal for employee discounts and access.\nOrder Status: Access your active purchases directly through the Nike Orders Page.\n\nWould you like help with resetting a forgotten password or joining Nike Membership for free shipping?",
  "textBlocks": [
    {
      "type": "text",
      "title": null,
      "text": "You can access your account through the Nike Sign-In Portal.",
      "url": null,
      "source": null,
      "snippet": null
    },
    {
      "type": "text",
      "title": "How to Sign In",
      "text": "Enter Email: Type in the email address linked to your Nike profile.\nVerify Location: Confirm your country from the global selector menu.\nComplete Sign-In: Follow the on-screen prompts to enter your password or verification code.",
      "url": null,
      "source": null,
      "snippet": null
    },
    {
      "type": "text",
      "title": "Specialized Logins",
      "text": "Nike Employee / Swoosh: Sign in via the Nike Swoosh Portal for employee discounts and access.\nOrder Status: Access your active purchases directly through the Nike Orders Page.",
      "url": null,
      "source": null,
      "snippet": null
    },
    {
      "type": "text",
      "title": null,
      "text": "Would you like help with resetting a forgotten password or joining Nike Membership for free shipping?",
      "url": null,
      "source": null,
      "snippet": null
    }
  ],
  "references": [
    {
      "position": 1,
      "title": "Welcome to Nike - Sign In",
      "url": "https://www.nike.com/login",
      "domain": "www.nike.com",
      "source": "Nike",
      "snippet": "Nike Sign-In Portal: Requires user email input to join or sign in. Includes a global location selection menu spanning over 200 countries and territories worldwide"
    },
    {
      "position": 2,
      "title": "Welcome to Swoosh.com - Nike",
      "url": "https://www.nike.com/swoosh",
      "domain": "www.nike.com",
      "source": "Nike",
      "snippet": "Welcome to Swoosh.com. We've simplified how you use Swoosh. Sign in here using the email address and password associated with your Swoosh account. Your Swoosh disc..."
    }
  ],
  "citedUrls": [
    "https://www.nike.com/login",
    "https://www.nike.com/swoosh"
  ],
  "citedDomains": [
    "nike.com"
  ],
  "citationState": "not_checked",
  "targetCitedUrls": [],
  "brandMentioned": false,
  "brandsFound": [],
  "competitorsCited": [],
  "organicResults": null,
  "peopleAlsoAsk": null,
  "relatedSearches": null,
  "aiModeAnswer": null,
  "aiModeStatus": null,
  "previousCitationState": null,
  "citationChange": null,
  "country": "us",
  "language": "en",
  "location": null,
  "device": "mobile",
  "checkedAt": "2026-10-24T17:36:47.000Z",
  "checkUrl": "https://www.google.com/search?q=nike%20login&hl=en&gl=US&ie=UTF-8&uule=w+CAIQIFISCQs2MuSEtepUEUK33kOSuTsc",
  "_metadata": {
    "checkedAt": "2026-10-24T17:36:59.477Z",
    "inputIndex": 1,
    "mode": "aiOverview",
    "queueWaitSeconds": 16,
    "aiOverviewAsync": false,
    "aiModeQueueWaitSeconds": null,
    "endpoint_breakdown": {
      "organic": 1,
      "aiMode": 0
    }
  }
}
```

### 🚦 Citation States - What They Mean and What To Do

| `citationState` | Meaning | Typical action |
|---|---|---|
| `cited` | At least one of your `targetDomains` is a cited source | Protect it: keep the cited page fresh, track it daily, note which passage Google quoted |
| `mentioned_not_cited` | Your brand is named in the answer, but none of your pages is cited | Publish or improve the page Google should cite (comparison, FAQ, specs) so the mention links to you |
| `not_cited` | An AI Overview was shown, you are neither cited nor named | Study the cited pages (`references`, `competitorsCited`) and close the content gap |
| `no_ai_overview` | Google showed no AI Overview for this search | Nothing to win here today; the classic organic ranking still decides. Re-check on a schedule |
| `not_loaded` | Google began loading an AI Overview but it did not arrive in time | Treat as unknown, not as absent. Re-check later |
| `not_checked` | You gave no `targetDomains` and no `brandNames` | Add them to get a verdict |

### 🧭 Which Searches Trigger AI Overviews?

Google decides per search, per country and per moment, and it changes often. What we saw in our own test runs (October 2026, 8 English searches in the US and UK): 7 of 8 showed an AI Overview, including comparison searches ("best crm for small business"), how-to and explainer searches ("how does compound interest work"), money searches ("best mortgage rates") and even a navigational search ("nike login", a short answer with no source cards, placed below the first organic results). A German search ("beste laufschuhe") did not deliver one. Expect, in general:

- **Question, how-to, "what is", "best X for Y" and comparison searches:** the most likely to show one, usually with 2-4 source cards
- **Navigational and brand searches:** sometimes a short answer, often without source cards
- **Very local, very fresh (news) or sensitive searches:** less predictable
- **Non-English markets:** coverage differs by country and language

The Actor never guesses: every row says `present`, `absent` or `not_loaded`.

### ⏱️ Timing - Why a Run Takes About a Minute (Sometimes Longer)

Each search is requested from Google when you start the run and collected as soon as it is ready. In our tests results arrived in **about 15-60 seconds**, whether a run had 2 searches or 100. At busy times this can take **several minutes**, and in rare cases much longer. The Actor waits up to 30 minutes, shows progress in the status bar ("Checked 40 of 120 searches"), and writes rows as soon as each search is ready. If results still have not arrived, the run ends with one free `SOURCE_UNAVAILABLE` row and keeps every row already delivered.

### 💰 Pricing

Pay-per-event model on Apify. **You pay only when an AI answer is found.** Searches where Google shows no AI Overview (`absent`) or where it does not load (`not_loaded`) are free, and so are all `info` and `error` rows.

| Event | When it is charged | Price |
|---|---|---|
| Actor start | Once per run | $0.02 |
| `search` | One AI Overview found (`aiOverviewStatus: present`), with its answer and sources | $2.49 per 1,000 AI Overviews found ($0.00249 each) |
| `ai-mode-answer` | One Google AI Mode answer found (`includeAiMode` or `aiModeOnly`) | $4.99 per 1,000 answers ($0.00499 each) |

**Examples** (the number of AI Overviews found depends on your searches; the examples assume about 85%):

| Run | Charged events | Total |
|---|---|---|
| 10 searches, 9 show an AI Overview | start + 9 x search | $0.02 + $0.0224 = **$0.042** |
| 100 searches with organic results, 85 show an AI Overview | start + 85 x search | $0.02 + $0.2117 = **$0.23** |
| 100 searches + AI Mode, 85 AI Overviews and 100 AI Mode answers | start + 85 x search + 100 x ai-mode-answer | $0.02 + $0.2117 + $0.499 = **$0.73** |
| 50 questions, AI Mode only, 50 answers | start + 50 x ai-mode-answer | $0.02 + $0.2495 = **$0.27** |
| Daily monitoring, 50 searches, about 42 AI Overviews a day, 30 days | 30 x (start + 42.5 x search) | **about $3.77 per month** |

`includeOrganic` and `compareWithPreviousRun` add no event. The Actor respects your "Maximum cost per run" setting and stops cleanly before passing it.

**Free plan limit:** Free Apify users receive up to 5 results per run. Upgrade to any paid Apify plan to remove this limit. This limit was set by the Actor developer, not by Apify.

See exact per-event pricing on the Actor's Apify page.

### 📅 Recipe - Daily AI Overview Monitoring

1. Run the Actor once with your keyword list, `targetDomains`, `brandNames`, `competitorDomains` and `compareWithPreviousRun: true`
2. In Apify Console, open **Schedules** → **Create new**, pick this Actor with the same input, and set a cron such as `0 7 * * *` (every day at 07:00)
3. Keep country, language, location, device and mode unchanged between runs; the history is kept per combination, so changing them starts a fresh history
4. Add an integration (email, Slack, webhook) on run success, or pull the dataset into Google Sheets / Looker Studio
5. Filter rows where `citationChange` is `gained_citation`, `lost_citation`, `ai_overview_appeared` or `ai_overview_disappeared`. Those are the days that need attention

### 🤖 Use It From AI Agents (MCP) and n8n

- **MCP:** connect Claude, Cursor or any MCP client to Apify's MCP server (https://mcp.apify.com) and add this Actor (`unseenuser/google-ai-overviews-scraper`) as a tool. Your agent can then ask "is mysite.com cited in the AI Overview for these 20 searches in Germany?" and read the rows back.
- **n8n / Make / Zapier:** use the Apify node or module, action "Run Actor and get dataset items", with the Actor ID `unseenuser/google-ai-overviews-scraper` and a JSON input like `{"queries": ["best crm for small business"], "targetDomains": ["mysite.com"]}`. Branch on `citationState` or `citationChange`.
- **API:** `POST https://api.apify.com/v2/acts/unseenuser~google-ai-overviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN` with the same JSON body.

### ⚖️ How This Actor Compares

Based on public Store listings as of October 2026. Check each listing for current details.

| Capability | This Actor | Typical AI Overview scrapers on the Store |
|---|---|---|
| AI Overview answer + cited sources | ✅ markdown, plain text, blocks, source cards and inline citations | ✅ usually answer + source list |
| Google AI Mode answer | ✅ optional add-on or AI-Mode-only mode | Often a separate actor or missing |
| "Is my domain cited?" verdict | ✅ `citationState` per row, several domains | Sometimes, one domain |
| Brand name in the answer (even without a citation) | ✅ `brandMentioned` / `mentioned_not_cited` | Rarely |
| Competitor domains flagged | ✅ `competitorsCited` | Rarely |
| Changes since the last run | ✅ `citationChange` with `compareWithPreviousRun` | Usually "compare the datasets yourself" |
| You pay only when an AI answer is found | ✅ `absent` / `not_loaded` rows are free and still in your dataset | Varies; some charge every query |
| Clear row when no AI Overview is shown | ✅ `absent` / `not_loaded`, never silently skipped | Varies; some move it to a separate dataset |
| Organic top 10, People Also Ask, related searches | ✅ optional, same search | Varies |
| Browser + proxy failures (captcha, blocks) | None: served from a SERP data queue | Common with browser-based actors |
| Country, language, city, device | ✅ all four | Often country + language only |

### ❓ FAQ

**Q: Is this legal?**
A: This Actor wraps DataForSEO endpoints that handle the underlying data collection. Your downstream use of the data is your responsibility - see the full Terms of Service and the Actor-Specific Addendum below for details.

**Q: Do I need an account with the data provider?**
A: No. UnseenUser holds the data provider credentials. You only need an Apify account.

**Q: What about Google's anti-scraping enforcement?**
A: Google's Terms restrict automated access that violates its machine-readable instructions. DataForSEO handles the data collection - it bears the responsibility for its architecture's lawfulness. Your downstream use must comply with Google's Terms.

**Q: What if Google sends a cease-and-desist?**
A: Notify UnseenUser within 48 hours via the Apify profile contact form (apify.com/UnseenUser) and cease using this Actor immediately.

**Q: Can I use this data to train AI?**
A: NO. Google's Terms of Service bar using AI-generated content from its services to develop machine learning models, and the publishers of the cited pages retain copyright in their content.

**Q: What about minors?**
A: This Actor returns search results, not user profiles, so it does not target individuals of any age. This Actor's Terms still strictly prohibit using it to target or profile people you know or suspect are minors. See the Addendum below for details.

**Q: Do I pay for searches without an AI Overview?**
A: No. You pay only when an AI answer is found. A search with no AI Overview (`absent`) or one that did not load (`not_loaded`) is free, and you still get the row, because for monitoring "absent" is as useful as "present".

**Q: What is the difference between `absent` and `not_loaded`?**
A: `absent` means Google showed no AI Overview. `not_loaded` means Google started loading one but its content never arrived. Treat `not_loaded` as unknown and check again later; it is not proof that there is no AI Overview.

**Q: Why do my results differ from what I see in my own browser?**
A: Your browser shows a personalized, signed-in, location-aware page. This Actor shows a fresh, non-personalized page for the market you chose. AI Overviews also change between minutes. Open `checkUrl` in a private window with the same country to compare.

**Q: AI Overview or AI Mode - which should I use?**
A: AI Overview is the short answer on top of normal results that most searchers see. AI Mode is Google's separate chat-style answer: longer (often tables and product lists) and only available in some countries. Most monitoring starts with AI Overview and adds AI Mode for the most important searches.

**Q: Why did I get only 5 results?**
A: Free Apify users receive up to 5 results per run. Upgrade to any paid Apify plan to remove this limit. This limit was set by the Actor developer, not by Apify.

**Q: What do `info` and `error` rows mean?**
A: They explain why a run stopped early: `FREE_PLAN_LIMIT` (Free plan, 5 results), `MAX_CHARGE_REACHED` (your "Maximum cost per run" was reached), `AI_MODE_LANGUAGE_NOT_SUPPORTED` (AI Mode only, in a language Google AI Mode does not support; one row per search), `SOURCE_UNAVAILABLE` (Google results could not be retrieved right now; try again later), `INTERNAL_ERROR` (the request could not be completed; this one and `SOURCE_UNAVAILABLE` end with a request to open an issue with your run ID if it keeps happening), `INVALID_INPUT` (fix the input field named in the message). They are never charged, and all rows delivered before them are kept.

**Q: How does `compareWithPreviousRun` store data?**
A: In a named key-value store inside YOUR Apify account (`google-ai-overviews-history`). It keeps only the citation verdict, cited URLs and brand flags per search, never on the Publisher's side. Delete the store in Apify Console to reset the history.

**Q: Is there a Google AI Overview API?**
A: Google offers no official API for AI Overviews or AI Mode answers. This Actor works as a Google AI Overview API: send searches through the Apify API, MCP or n8n, get one JSON row per search with the answer, its sources and your verdict.

**Q: How do I check if my site is cited in Google AI Overviews?**
A: Enter your searches and your domain in `targetDomains` (and your brand in `brandNames`), then run the Actor. Each row's `citationState` says `cited`, `mentioned_not_cited`, `not_cited` or `no_ai_overview`, and `targetCitedUrls` lists your cited pages. Turn on `compareWithPreviousRun` and schedule it to track AI Overviews over time.

**Q: What does an AI Overview tracker measure?**
A: For each search it records whether Google showed an AI Overview (`aiOverviewStatus`), whether your site is a cited source and at which position (`citationState`, `targetCitedUrls`, `references`), whether your brand is named (`brandMentioned`), and which competitors are cited (`competitorsCited`). Count `present` rows for your AI Overview rate and `cited` rows for your citation rate. With `compareWithPreviousRun`, `citationChange` shows what changed since the last check.

**Q: How do I track AI Overviews for many keywords?**
A: Paste as many searches as you need, one per line, add your domains, brands and competitors, and turn on `compareWithPreviousRun`. Then schedule the run daily in Apify Console (see the recipe above). Keep country, language, city, device and mode the same between runs so each search is compared with its own history.

**Q: What is AEO tracking?**
A: AEO (Answer Engine Optimization) tracking means checking, on a fixed list of searches and on a schedule, how often AI answers name your brand and cite your site compared with competitors. This Actor does it for Google AI Overviews and AI Mode. For ChatGPT, Gemini, Claude and Perplexity, use [AI Answer Extractor](https://apify.com/unseenuser/ai-answer-extractor).

**Q: Is there a Google AI Mode API?**
A: Google offers no official API that returns its AI Mode answers; the Gemini API writes its own answers instead of returning what Google Search shows. This Actor returns the Google AI Mode answer with its cited sources: set `mode` to `aiModeOnly`, or turn on `includeAiMode` to get it next to the AI Overview.

**Q: Can I try this AI Overview checker for free?**
A: Yes. On the Apify Free plan you get up to 5 results per run. Paid Apify plans remove this limit. On every plan, searches where Google shows no AI Overview are not charged.

### 🔧 How It Works

- **Fresh data:** each search is checked on Google when you run the Actor, as a non-personalized searcher in the country, language, city and device you pick
- **No login, no cookies:** you only need an Apify account
- **Speed:** most runs finish in about a minute; rows appear as soon as each search is ready
- **What ends a run:** all searches checked, your "Maximum cost per run" reached, the Free plan limit (5 results), or Google results not arriving within 30 minutes (one free `SOURCE_UNAVAILABLE` row; every row already delivered is kept)
- **Output:** one row per search in the Apify dataset; export as JSON, CSV or Excel, or read it through the Apify API
- **Free plan:** up to 5 results per run

### 🎬 Demo Videos

New to Apify? Schedule this AI Overview tracker to run every morning:

[![How to schedule your Actors on Apify](https://img.youtube.com/vi/GRFW_Loo2dk/hqdefault.jpg)](https://www.youtube.com/watch?v=GRFW_Loo2dk)

Send every change in your AI Overview citations to Slack, email, Google Sheets or your own app:

[![Apify integrations](https://img.youtube.com/vi/bNACk1_S_6w/hqdefault.jpg)](https://www.youtube.com/watch?v=bNACk1_S_6w)

### 🔗 Related Actors

- [Keyword Search Volume API](https://apify.com/unseenuser/keyword-search-volume) - Google Ads search volume, competition and cost per click for the keywords you track here
- [Google Trends Scraper](https://apify.com/unseenuser/google-trends-scraper) - interest over time, top regions and related queries for the same searches
- [Google Shopping Scraper](https://apify.com/unseenuser/google-shopping-scraper) - Google Shopping prices from every seller, with shipping, ratings and product details.
- [AI Answer Extractor for ChatGPT, Gemini, Claude and Perplexity](https://apify.com/unseenuser/ai-answer-extractor) - See what ChatGPT, Gemini, Claude and Perplexity answer about your brand, with their cited sources (pairs with this actor for full AI search visibility).

***

## Apify Actor - Terms of Service

**Version:** 4.0
**Effective Date:** May 5, 2026

***

### 0. ACCEPTANCE BY USE - IMPORTANT

**Read this section first.**

These Terms of Service ("Terms") form a binding legal agreement between you ("User," "you," "your") and UnseenUser, the Publisher of this Apify actor ("UnseenUser," "the Publisher," "we," "us," "our").

#### 0.1 How You Accept These Terms

You accept these Terms by **any of the following actions**, each of which constitutes a clear, affirmative act of acceptance:

- (a) **Running the Actor** - Initiating any execution of the Actor on the Apify platform
- (b) **Using any output** returned by the Actor for any purpose
- (c) **Continuing to access** the Actor's listing or documentation after these Terms are visible

#### 0.2 Continuing Acceptance

Each time you run the Actor or use its outputs, you reaffirm your acceptance of the then-current Terms. If you do not agree to these Terms or any subsequent update, you must stop using the Actor immediately.

#### 0.3 No Anonymous Acceptance

You cannot disclaim acceptance by:

- Failing to read these Terms before running the Actor
- Running the Actor through automated systems
- Sharing your Apify account with others who may not have read these Terms

By the act of running the Actor on Apify, you bind yourself, your organization (if applicable), and any individuals or systems acting on your behalf or under your authority.

#### 0.4 If You Do Not Accept

**If you do not agree to these Terms, you must not run the Actor.** No use is authorized without acceptance.

***

### PREAMBLE - UNDERSTANDING THE ARCHITECTURE

Before using the Actor, please understand the technical architecture of the service:

#### The Data Flow

```
You (User) → Apify Platform → Actor (software) → Third-Party API (DataForSEO) → Source Platform (Google)
                                                       ↓
You (User) ← Apify Platform ← Actor (software) ← Third-Party API (DataForSEO)
```

#### What Each Party Does

- **You (the User):** Run the Actor on the Apify platform with input parameters you choose
- **Apify:** Operates the cloud infrastructure that hosts and executes Actors. Apify is a Czech-incorporated company (Apify Technologies s.r.o.) governed by its own Terms of Service.
- **The Publisher (us):** Publishes software code (the Actor) on Apify's platform. The Actor is a thin wrapper that translates your input into requests to a third-party API and returns the API's responses to you. **The Publisher does not operate scraping infrastructure. The Publisher does not store or retain data returned by the Actor. The Publisher does not see, log, or process the personal data of any individuals returned in the Actor's outputs beyond what is incidental to passing the data through.**
- **Third-Party API Provider:** DataForSEO (https://dataforseo.com). This is an independent third-party company that operates data infrastructure that retrieves public search engine result pages and returns them as structured data.
- **Source Platform:** Google (public search result pages). This is the platform whose publicly visible data is accessed by the Third-Party API Provider.

#### Why This Matters

Your relationship with the Publisher is that of a **software user** to a **software vendor**. The Publisher has the responsibilities of a software vendor (functional code, accurate documentation) and the limits of one (the Publisher is not responsible for how you use the data you obtain).

***

These Terms operate alongside but do not replace:

- Apify's Terms of Service and Acceptable Use Policy (governing your relationship with Apify)
- DataForSEO Terms of Service (governing the underlying data infrastructure)
- Source Platform terms (Google) governing the public data accessed
- Applicable law in your jurisdiction and the jurisdictions of data subjects

These Terms incorporate the actor-specific addendum published in each Actor's individual listing ("Addendum"). In the event of a conflict, the more restrictive provision applies.

***

### 1. NATURE OF THE SERVICE

#### 1.1 What the Actor Is

The Actor is a software program published on the Apify platform. Each Actor:

- (a) Accepts structured input from you on the Apify platform
- (b) Translates that input into HTTP requests to a third-party API operated by DataForSEO
- (c) Receives HTTP responses from that third-party API
- (d) Returns the response data to you in a structured format on the Apify platform

The Actor's source code is hosted on Apify's infrastructure. The Actor runs in Apify's cloud, not on the Publisher's servers. The Publisher operates no servers running the Actor.

#### 1.2 What the Actor Is Not

The Actor is **not**:

- (a) A scraping tool - the Publisher does not operate scraping infrastructure, proxies, headless browsers, or fake accounts
- (b) A direct connection to any source platform - connections to source platforms are made by DataForSEO
- (c) A data storage or data retention service - the Publisher does not maintain a database of any data the Actor returns
- (d) A licensed access channel to Google (public search result pages) or any other source platform
- (e) Affiliated with, endorsed by, sponsored by, or authorized by any source platform

#### 1.3 The Publisher's Limited Role

The Publisher's role is limited to:

- (a) Designing and writing the Actor's source code
- (b) Publishing the Actor on the Apify Store
- (c) Maintaining the Actor (updating it when API providers change schemas)
- (d) Providing documentation and customer support via Apify's contact mechanism

The Publisher is a software vendor, similar to a developer who publishes an app on the Apple App Store or Google Play Store. The Publisher is not a data provider, data broker, data processor, or data controller for purposes of GDPR, CCPA, Israel's Privacy Protection Law, or equivalent.

#### 1.4 The Third-Party API Provider's Role

DataForSEO (https://dataforseo.com) is an independent third-party company. It:

- (a) Operates the data infrastructure that retrieves public search engine result pages
- (b) Maintains its own relationship with the source platform (or accepts the operational risk of accessing public data without such a relationship)
- (c) Provides its own Terms of Service governing its operations
- (d) Is responsible for compliance obligations relating to the data collection itself

The Publisher is a customer of this provider. The Publisher is not its agent, partner, or representative.

***

### 2. WHO MAY USE THE ACTOR

#### 2.1 Eligibility

You may use the Actor only if:

- (a) You are at least 18 years old or the age of majority in your jurisdiction
- (b) You have legal capacity to enter into binding contracts
- (c) You are not located in or resident of a country subject to comprehensive sanctions by the United States, European Union, United Kingdom, or Israel
- (d) You are not on any prohibited persons list

#### 2.2 User Representations

By using any Actor, you represent and warrant that:

- (a) **Truthful identity:** Information you provide about your identity and intended use is accurate
- (b) **Lawful intent:** Your intended use complies with applicable law in your jurisdiction
- (c) **Source platform compliance:** You will independently comply with the Terms of Service of any source platform whose data you obtain through the Actor
- (d) **Data subject rights:** Where Actor outputs include personal data, you will respect data subject rights under applicable law
- (e) **No prohibited use:** You will not use the Actor for any of the purposes prohibited in Section 4

These representations are continuous - they must remain true throughout your use.

***

### 3. PERMITTED USES

The Actor may be used for any lawful purpose, including:

- Market research and competitive analysis
- Academic research
- Journalism and investigative reporting
- Internal business intelligence
- Brand monitoring
- Recruitment research where consistent with applicable employment law
- Building products that further process publicly available information lawfully

Specific permitted uses for each Actor are described in that Actor's individual listing and Addendum.

***

### 4. PROHIBITED USES

You may not use the Actor for any of the following:

#### 4.1 Illegal Activity

Activity illegal under the law of your jurisdiction, the User's jurisdiction, or the jurisdiction of any data subjects.

#### 4.2 Harassment, Stalking, and Personal Targeting

- Compiling profiles for harassment, stalking, or doxxing
- Tracking individuals' movements or activities without their knowledge
- Building profiles of journalists, activists, dissidents, or vulnerable populations for retaliatory purposes

#### 4.3 Discrimination

- Using outputs for discriminatory employment, lending, housing, or insurance decisions based on protected characteristics
- Building lists for discriminatory purposes

#### 4.4 Spam and Unsolicited Commercial Communication

- Sending unsolicited marketing in violation of CAN-SPAM, CASL, GDPR, PECR, Israeli Anti-Spam Law (סעיף 30א לחוק התקשורת), or equivalent laws
- Building "lead lists" from scraped contacts without proper consent infrastructure
- Reselling contact data for spam purposes

#### 4.5 Fraud and Deception

- Identity theft or impersonation
- Generation of fake reviews, testimonials, or coordinated inauthentic behavior
- Election interference or political disinformation
- Securities fraud

#### 4.6 Source Platform Abuse

- Using outputs to circumvent technical protection measures of source platforms
- Creating fake accounts on source platforms based on Actor outputs
- Vote manipulation, engagement manipulation, or platform algorithm gaming
- Building services that competitively substitute for source platforms

#### 4.7 Reselling the Actor's Service

- Reselling raw Actor outputs as your own data product or scraping-as-a-service
- Sharing your Apify credentials to provide third parties indirect access
- Building competing API services using Actor outputs

#### 4.8 AI Training Without Authorization

- Using Actor outputs as training data for commercial AI/ML models without separate licensing authority from the source platform

#### 4.9 Sensitive Targeting

- Specifically targeting or profiling based on health conditions, sexual orientation, religious beliefs, political opinions, or other sensitive characteristics
- Targeting children under 16 (or local age of consent for data processing)

#### 4.10 Privacy Law Violations

- Processing personal data of EU/UK/California/Israeli residents without complying with applicable privacy law
- Failing to honor data subject access, deletion, or objection requests
- Processing data for purposes incompatible with its publication context

***

### 5. SOURCE PLATFORM TERMS - YOUR RESPONSIBILITY

#### 5.1 Acknowledgment

The Actor accesses publicly visible data on third-party platforms ("Source Platforms") through the Third-Party API Provider (DataForSEO). Source Platforms include Google (public search result pages).

#### 5.2 Your Sole Responsibility

You acknowledge:

- (a) **You are solely responsible for ensuring your downstream use of data obtained through the Actor complies with the Source Platform's Terms of Service**
- (b) The Publisher makes no representation that any specific use is permitted under any Source Platform's terms
- (c) The Third-Party API Provider, not the Publisher, bears responsibility for the lawfulness of the data collection itself
- (d) You should review Source Platform terms before commercial use:
  - Google (public search result pages): https://policies.google.com/terms
  - DataForSEO (Third-Party API Provider): https://dataforseo.com/terms-of-service

#### 5.3 Cease-and-Desist Compliance

If you receive a cease-and-desist letter or other legal demand from a Source Platform regarding your use of Actor outputs, you must:

- (a) Cease the contested use immediately
- (b) Notify UnseenUser within 48 hours via UnseenUser's Apify profile contact form (https://apify.com/UnseenUser)
- (c) Cooperate with the Publisher as needed to mitigate
- (d) Not assert against the Publisher any claim arising from your inability to use the Actor for that Source Platform

***

### 6. DATA PROTECTION - REFLECTING ACTUAL ARCHITECTURE

#### 6.1 Roles Under Privacy Law

For purposes of GDPR, UK GDPR, CCPA, Israel's Privacy Protection Law (PPL) including Amendment 13, and equivalents:

- **You (the User) are the Data Controller** of any personal data you obtain through the Actor and subsequently process for your own purposes
- **DataForSEO** is the entity that collects data from the source platform - it bears the responsibilities of a data processor or controller (depending on context) for the collection itself
- **The Publisher acts solely as a software vendor**, not as a data controller or processor, because the Publisher does not store, retain, or substantively process personal data - the Actor merely passes API responses through

#### 6.2 No Data Retention by the Publisher

The Publisher confirms:

- (a) The Publisher does not maintain a database of personal data obtained through the Actor
- (b) The Actor passes data from the Third-Party API directly to you on the Apify platform - data does not flow through the Publisher's infrastructure
- (c) Apify's standard execution and operational logging may include limited information about Actor runs (input parameters, run duration, data volume) - this is governed by Apify's own privacy practices
- (d) The Publisher does not access, view, or analyze your Actor outputs except as needed for technical support if you specifically share them with the Publisher

#### 6.3 Your Obligations as Data Controller

Where your use of the Actor involves processing personal data, you are responsible for:

- (a) Establishing a lawful basis for your processing (consent, legitimate interest with documented balancing test, contract, etc.)
- (b) Providing transparent notice to data subjects as required by applicable law
- (c) Honoring data subject access, rectification, erasure, restriction, and portability requests
- (d) Implementing appropriate security measures
- (e) Conducting Data Protection Impact Assessments where required
- (f) Appointing a Data Protection Officer if your operations require one
- (g) Registering databases with applicable supervisory authorities
- (h) Honoring opt-out requests for direct marketing
- (i) Cross-border transfer safeguards where data crosses borders

#### 6.4 Israel's Amendment 13 - User Compliance

If your use of the Actor involves Israeli residents' personal data, you must comply with the Privacy Protection Law as amended (Amendment 13, effective August 14, 2025). These obligations are yours as the data controller, not the Publisher's as the software vendor.

#### 6.5 Sensitive Data Targeting Restrictions

You will not use the Actor to specifically target, profile, or build datasets focused on:

- Health or medical conditions
- Religious beliefs
- Political opinions
- Sexual orientation or gender identity
- Genetic or biometric data
- Criminal history
- Children under 16

***

### 7. INTELLECTUAL PROPERTY

#### 7.1 Actor Code

The Actor's source code, schemas, documentation, and branding are owned by the Publisher. You receive a limited, non-exclusive, non-transferable, revocable license to use the Actor for permitted purposes during your active subscription/run with Apify.

#### 7.2 Output Data

The Publisher claims no ownership over the public data the Actor returns. Source Platforms may have copyright, database rights, or other rights in their data; data subjects may have copyright in user-generated content. Your use of output data must respect these rights independently.

#### 7.3 Restrictions

You may not reverse engineer, decompile, or reuse the Actor's code in a competing actor.

#### 7.4 Feedback

Feedback you provide may be used by the Publisher to improve products without compensation to you.

***

### 8. PRICING AND PAYMENT

#### 8.1 Apify Platform Billing

Pricing is administered through Apify's pricing models. Apify processes all payments. Apify's payment terms govern refunds and disputes.

#### 8.2 Pricing Changes

The Publisher may change Actor pricing with at least 14 days' notice via the Actor's Apify listing.

#### 8.3 No Refunds for Misuse

If your access is suspended or terminated for breach of these Terms, you forfeit any unused balance and are not entitled to refunds.

***

### 9. SERVICE AVAILABILITY AND CHANGES

#### 9.1 No Uptime Guarantee

The Actor depends on:

- (a) The Apify platform
- (b) The underlying API provider (DataForSEO)
- (c) Source Platforms' continued public accessibility

Any of these may change behavior, restrict access, or become unavailable without notice. The Publisher makes no uptime guarantees.

#### 9.2 Service Discontinuation

The Publisher may discontinue any Actor at any time. Reasonable notice will be provided when feasible.

***

### 10. DISCLAIMERS

#### 10.1 "AS IS" Service

THE ACTOR IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR PURPOSE, NON-INFRINGEMENT, OR ACCURACY OF DATA.

#### 10.2 No Representation of Lawfulness

The Publisher makes no representation that your specific use of the Actor or the data it returns is lawful in your jurisdiction or under any Source Platform's terms. The burden of determining lawfulness for your use case is yours.

#### 10.3 No Endorsement of Source Content

Content returned by the Actor was created by third parties. The Publisher does not endorse, verify, or take responsibility for it.

***

### 11. LIMITATION OF LIABILITY

#### 11.1 Aggregate Liability Cap

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL THE AGGREGATE LIABILITY OF THE PUBLISHER FOR ALL CLAIMS RELATING TO THE ACTOR EXCEED THE GREATER OF:

- (a) ONE HUNDRED U.S. DOLLARS (US $100), OR
- (b) THE AMOUNTS YOU PAID THROUGH APIFY FOR USE OF THE ACTOR IN THE THREE (3) MONTHS IMMEDIATELY PRECEDING THE EVENT

#### 11.2 Excluded Damages

THE PUBLISHER IS NOT LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR LOSS OF PROFITS, REVENUE, OR DATA, EVEN IF ADVISED OF THE POSSIBILITY.

#### 11.3 Time Limit

Any claim must be brought within one (1) year of the event.

***

### 12. INDEMNIFICATION

#### 12.1 Your Indemnification of the Publisher

You agree to defend, indemnify, and hold harmless the Publisher from any:

- Claims arising from your use of the Actor
- Claims arising from your violation of these Terms
- Claims arising from your violation of any law (including privacy law)
- Claims arising from your violation of any Source Platform's Terms of Service
- Claims arising from your processing of personal data obtained through the Actor
- Reasonable attorneys' fees and costs of defending such claims

#### 12.2 Defense

The Publisher may assume defense at your expense. You will cooperate with the Publisher's defense.

#### 12.3 Scope

The indemnification covers reasonable, foreseeable third-party claims arising from your use. It does not extend to:

- Claims arising from the Publisher's gross negligence or willful misconduct
- Claims regarding the Actor's source code itself (those are the Publisher's responsibility)
- Claims regarding the Third-Party API Provider's data collection (those are their responsibility)

***

### 13. SUSPENSION AND TERMINATION

#### 13.1 Termination by the Publisher

The Publisher may terminate your access for material breach, illegal use, breach of warranty, or upon credible legal demand.

#### 13.2 Effects of Termination

Your license ends, you must cease use, and applicable provisions survive.

#### 13.3 Termination by You

You may stop using the Actor at any time on Apify.

***

### 14. DISPUTE RESOLUTION

#### 14.1 Informal Resolution First

Send a detailed written description of the dispute via UnseenUser's Apify profile contact form (https://apify.com/UnseenUser) and wait 60 days for resolution attempt before any formal claim.

#### 14.2 Governing Law

These Terms are governed by the substantive laws of the State of Israel, without regard to conflict of law principles.

#### 14.3 Exclusive Jurisdiction

Any dispute shall be brought exclusively in the competent civil courts of Tel Aviv-Jaffa, Israel.

#### 14.4 No Class Actions

You agree to bring claims only in your individual capacity.

#### 14.5 Attorneys' Fees

The prevailing party recovers reasonable attorneys' fees.

***

### 15. MISCELLANEOUS

#### 15.1 Entire Agreement

These Terms (with Addendum and incorporated documents) are the entire agreement.

#### 15.2 Severability

Unenforceable provisions are reformed to the minimum extent or severed.

#### 15.3 Assignment

You may not assign without the Publisher's consent. The Publisher may assign to affiliates, successors, or acquirers.

#### 15.4 Force Majeure

Neither party is liable for failure due to events beyond reasonable control, including changes by Source Platforms or Third-Party API Providers, or actions by Apify.

#### 15.5 Third-Party Beneficiaries

Apify and DataForSEO are intended third-party beneficiaries of Sections 4 (Prohibited Uses), 5 (Source Platform Compliance), and 12 (Indemnification).

#### 15.6 Survival

Sections 0 (Acceptance), 4, 5, 6, 7, 10, 11, 12, 14, and 15 survive termination.

#### 15.7 Language

English controls. Translations are for convenience only.

#### 15.8 Publisher Identification for Legal Process

The Publisher operates on the Apify platform under the username **UnseenUser** (apify.com/UnseenUser). The Publisher is a registered legal entity. Upon receipt of valid legal process (subpoena, court order, or equivalent) directed through Apify's official channels, the Publisher's full legal identity may be disclosed as required by law. This Section ensures that you have a valid path to legal recourse if needed.

***

### 16. ACKNOWLEDGMENT

By using any Actor, you acknowledge that:

- (a) You have read these Terms
- (b) You understand the architecture: you are using software (the Actor) on Apify's platform that calls third-party APIs
- (c) You accept responsibility for your use, including for compliance with Source Platform terms
- (d) Your indemnification obligations cover third-party claims arising from your use
- (e) Disputes are resolved in Israeli courts
- (f) The Publisher's identity, while not publicly disclosed in this listing, can be obtained through valid legal process via Apify

For questions, use UnseenUser's Apify profile contact form (https://apify.com/UnseenUser) before running the Actor.

***

### APPENDIX - Document Version History

| Version | Date | Summary |
|---------|------|---------|
| 1.0 | May 5, 2026 | Initial publication |
| 2.0 | May 5, 2026 | Hardened (over-broad - treated User as data broker) |
| 3.0 | May 5, 2026 | Architecturally accurate - Publisher as software vendor |
| 4.0 | May 5, 2026 | **Anonymous Publisher.** All personally identifying information removed. Acceptance-by-Use mechanism formalized. |

***

***

## 🛡️ Actor-Specific Terms of Service Addendum

#### A. Architectural Disclosure

This Actor is a software wrapper. It accepts your input parameters, calls TWO DataForSEO endpoints in queue mode (`/v3/serp/google/organic/task_post` + `task_get/advanced` for the Google results page with its AI Overview, and, only when you request AI Mode, `/v3/serp/google/ai_mode/task_post` + `task_get/advanced`), combines the results into one structured row per search, and returns the combined data to you on the Apify platform. UnseenUser does not store, log, or substantively process the data returned. When you enable `compareWithPreviousRun`, the Actor writes a small verdict record per search into a named key-value store inside YOUR Apify account; that store belongs to you, is under your control, and is never read by UnseenUser.

#### B. Nature of Data Returned

This Actor returns: for each search you enter, whether Google showed an AI Overview (`present`, `absent`, `not_loaded`), the AI Overview's full answer (`answerMarkdown`, `answerText`, `textBlocks`), the source cards Google displayed with each source's title, URL, domain, publisher name and snippet (`references`), every cited URL and domain (`citedUrls`, `citedDomains`), and derived verdicts computed from YOUR inputs (`citationState`, `targetCitedUrls`, `brandMentioned`, `brandsFound`, `competitorsCited`, `citationChange`). Optionally it returns the top 10 organic results (title, URL, domain, description), People Also Ask questions, related searches, and a Google AI Mode answer with its own sources. Answers can include product names, prices, ratings and links to Google Shopping pages exactly as Google shows them. The Actor does not request or return searcher data, account data, or personalized results. Answers to some searches (for example navigational searches like "brand login" or searches about public figures) can mention named people or businesses because Google's answer does.

Where the Actor's output includes individual people's names, photos, contact details, or content authored by them, that data constitutes **personal data** subject to GDPR, CCPA, Israeli Privacy Protection Law (including Amendment 13), and equivalent privacy laws in your downstream processing - but **only in your hands as the data controller**, not in UnseenUser's hands as the software vendor.

#### C. Permitted Use Cases

You may use this Actor for the following purposes (non-exhaustive list):

- **GEO / AEO monitoring** - track every day whether your pages are cited as sources in Google's AI Overview for your money keywords
- **Brand visibility** - see whether the AI answer names your brand, even when it cites someone else's page
- **Competitive monitoring** - find out which competitor domains Google's AI cites for the searches you want to own
- **Content gap analysis** - read the exact answer and the cited pages to see what content Google's AI prefers to quote
- **Agency reporting** - give clients a dated, per-query record of AI Overview presence and citations across countries and devices
- **AI Mode research** - compare the short AI Overview with the longer AI Mode answer for the same question
- **Market research** - learn which queries in a market trigger AI answers at all, and how long and source-heavy those answers are

#### D. Specifically Prohibited Uses

In addition to Master ToS Section 4 prohibitions, you may NOT:

- Republish Google's AI Overview or AI Mode answers in bulk as your own content (an "AI answers" website, a content farm, an answer-mirroring service), or present them as written by you
- Use AI Overview or AI Mode answers, or the cited publishers' snippets, as training or fine-tuning data for machine learning models (Google's Terms of Service bar using AI-generated content from its services to develop machine learning models)
- Build a service that substitutes for Google Search (a resold "Google answers API", a search engine front-end that shows Google's answers as its own)
- Use the Actor to generate fake demand signals, automated query floods, or any attempt to influence what Google's AI shows
- Publish comparative or "you are not cited, your rival is" claims about named competitors without checking them by hand first (the AI answer changes between minutes, see Section G)
- Run searches designed to extract personal information about private individuals (a person's name plus address, phone, health or similar), or use answers about people to profile, rank or target them
- Use answers to health, legal, financial or safety questions (YMYL searches) as advice to third parties without qualified human review (see Section L)

#### E. Platform Terms of Service Considerations

Google's Terms of Service prohibit "using automated means to access content from any of our services in violation of the machine-readable instructions" on Google's web pages, and bar "using AI-generated content from our services to develop machine learning models" (Google Terms of Service, effective July 30, 2026: https://policies.google.com/terms). Google has not been a frequent litigant against SERP data providers, but it controls access to its results pages and changes the AI Overview format without notice. This Actor accesses publicly visible Google search result pages via the third-party API provider named in Section A, which bears responsibility for the lawfulness of the data collection. The provider's own Terms of Service (Section 7.1, linked in Master ToS Section 5.2) add that search engine data "shall not be used to compete with or adversely affect the business interests of the search engine providers". Your downstream use must independently comply with Google's Terms of Service.

If Google issues a cease-and-desist regarding data obtained via this Actor, notify UnseenUser within 48 hours via the Apify profile contact form (apify.com/UnseenUser) and cease your use immediately.

#### F. Combined-Endpoint Data Sensitivity

This Actor combines two endpoints in one run. The combination yields data that is MORE useful, and in a few cases more sensitive, than either endpoint alone:

- **Google results page (AI Overview + organic) alone:** low sensitivity (public, non-personalized search results; short answers with 2-4 source cards)
- **Google AI Mode alone:** low-to-medium sensitivity (much longer answers, 5,600-7,600 characters in tests, with product lists, prices and many named businesses; when asked about a person, it can assemble facts about that person from several sources in one place)
- **Combined**: enables a complete "AI visibility dossier" per search - which publishers, brands and competitors Google's two AI surfaces cite, side by side with organic rankings, tracked over time

For brand and keyword research this is exactly the intended use. It becomes a problem only when the searches themselves target people. Use the combined output thoughtfully:

- Don't sell the combined dataset as a product ("Google AI answers database")
- Don't build a "Google replacement" or an answer-mirroring service with this data
- Don't run person-name searches to compile what Google's AI says about private individuals
- Use it for your own internal research, monitoring and client reporting

#### G. Search Result Reliability - Snapshot, Not Ground Truth

Every row is a snapshot of one non-personalized Google page, for one country, language, location and device, at one moment. You must understand its limits before acting on it:

- **AI Overviews are volatile.** The same search can show an AI Overview in one minute and none in the next, or cite different sources. In our own tests, "beste laufschuhe" (Germany) returned an empty placeholder once and no AI Overview on the next request.
- **`not_loaded` is not `absent`.** It means Google started loading an AI Overview that never arrived. Do not report it as "Google shows no AI answer".
- **Personalization is excluded.** Signed-in users, search history and precise device location change what real people see. `checkUrl` lets you compare in a private window, but it will not match a signed-in browser.
- **Citation matching is mechanical.** `cited` means a URL on one of your domains appears among the sources or inline citation links. It does not measure how prominent the citation is, and `brandMentioned` is a text match that can hit a common word that equals your brand.
- **Format changes.** Google changes the AI Overview layout without notice; fields can be empty for a while until the Actor is updated.

| Use | Status |
|---|---|
| Daily trend of "share of searches where we are cited" across 100+ keywords | ✅ Permitted (the intended use; trends average out volatility) |
| Client report showing dated snapshots with `checkUrl` and `checkedAt` | ✅ Permitted |
| One single `not_cited` row presented as proof that Google "removed" a client | ❌ Unreliable - re-check first |
| Public claim "Google's AI recommends Brand X over Brand Y" based on one run | ❌ Unreliable and potentially misleading advertising |

#### H. Aggregation Limit - Monitoring vs. Mirroring

Checking your own keyword set every day is bounded, legitimate use. Collecting AI answers at scale to rebuild Google's answer layer is not:

| Use | Status |
|---|---|
| Your own brand and product keywords, daily | ✅ Permitted |
| Agency monitoring of client keyword sets (thousands of searches per day) | ✅ Generally permitted |
| Market research on which query types trigger AI Overviews, with stored verdicts and statistics | ✅ Permitted |
| Storing full answer texts for millions of searches to serve them back to your own users | ❌ Substitutes for Google; prohibited by Google's Terms and the provider's ToS 7.1 |
| Reselling raw answers or a "Google AI answers API" built on this Actor | ❌ Prohibited (Master ToS 4.6 and 4.7) |
| Systematic collection of what Google's AI says about named private individuals | ❌ Profiling - prohibited, even though each answer is public |

Store verdicts (cited / not cited, which domains) rather than full answer texts whenever your use case allows it. The built-in history store follows this rule: it keeps verdicts and URLs only.

#### I. AI Training - Special Notice

Google's Terms of Service explicitly bar using AI-generated content from its services to develop machine learning models. AI Overview and AI Mode answers are AI-generated content from Google's services, and they quote and summarize pages owned by third-party publishers. The Publisher (UnseenUser) does NOT authorize, and has no ability to authorize, AI training use.

Recent litigation (NYT v. OpenAI, Andersen v. Stability AI, Reddit v. Perplexity, multiple class actions) demonstrates AI training on platform data is contested. Publishers have also challenged AI answer features directly over the use of their content. Get proper licensing or do not train on this data.

Your AI training use is your own legal exposure.

Using the output as live context for your own AI agent (for example, an agent that reads a row to tell you whether you are cited) is analysis, not training, and is permitted.

#### J. Cited Publisher Content and Copyright

AI Overview and AI Mode answers combine three layers of rights:

- **Google's generated answer text** - subject to Google's Terms
- **Quoted or summarized passages and snippets** from cited pages - copyrighted by those publishers (`references[].snippet` is their text)
- **Product names, prices, images and ratings** - may carry trademarks and third-party database rights; Google Shopping links are kept as Google provides them

You may:

- **Analyze** answers and citations (which domains, how often, how long) - typically fair use
- **Quote short excerpts with attribution** in reports and audits
- **Count and chart** citations and presence - facts, no copyright issue

You may NOT:

- **Republish full answers or source snippets** in commercial products
- **Strip attribution** to cited publishers when quoting
- **Use cited publishers' snippets to build a content-scraping pipeline** that rewrites their pages

#### K. Brand, Competitor and Trademark Use

`brandNames` and `competitorDomains` are YOUR inputs; the Actor only reports what Google's answer contains. When you use these results:

- Comparative advertising claims ("cited by Google's AI 3x more than Rival") must be truthful, verifiable at the time they are made, and not misleading under the Lanham Act (US), EU Directive 2006/114/EC on misleading and comparative advertising, and Israel's Consumer Protection Law 1981 and Commercial Torts Law 1999
- A rival's brand name in your `brandNames` list is fine for monitoring; using rival trademarks in outreach or ads based on this data can create trademark exposure
- Do not tell third parties that a competitor "paid for" or "manipulated" its citations based on this data; the Actor shows citations, not causes
- If you deliver these results to clients, keep the `checkedAt` and `checkUrl` fields so every claim is dated and checkable

#### L. YMYL Answers - Health, Finance, Legal and Safety Searches

Google's AI answers to "your money or your life" searches (health, medication, mortgages, investments, legal questions, safety) can be incomplete or wrong. Our own tests included a money search ("best mortgage rates", UK) and an explainer on compound interest. This Actor returns these answers verbatim and does not check them.

- Do not pass AI Overview or AI Mode answers to third parties as medical, financial, legal or safety advice
- If your product shows these answers to users, label them as Google-generated, dated snapshots, and add qualified human review
- Monitoring whether your YMYL pages are cited is permitted; acting on the answer content itself is your own responsibility

#### M. Stored History in Your Account (`compareWithPreviousRun`)

When you enable `compareWithPreviousRun`, the Actor creates or updates a named key-value store `google-ai-overviews-history` in YOUR Apify account. It contains, per search and settings combination: time of check, AI Overview status, citation state, cited domains, your cited URLs, brands found and competitors cited. It contains no answer text.

- You are the controller of this store. UnseenUser does not read, copy or back it up
- Named stores persist until you delete them (Apify Console → Storage). Delete it to reset the history or when you stop monitoring
- Changing country, language, location, device or mode starts a separate history for that combination
- If you run the Actor from several Apify accounts, each account has its own separate history

# Actor input Schema

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

Searches to check, one per line. Duplicates are removed. Free Apify plan: up to 5 results per run; paid plans: no limit.

## `mode` (type: `string`):

AI Overview on the normal Google results page, or only the Google AI Mode answer. Default: AI Overview.

## `targetDomains` (type: `array`):

Domains checked against the cited sources. Subdomains count as a match. Each from 1 to 253 characters. Example: mysite.com

## `brandNames` (type: `array`):

Brand terms searched in the answer text (case-insensitive, whole words). Each from 1 to 100 characters. Example: Acme

## `competitorDomains` (type: `array`):

Domains reported when they are among the cited sources. Subdomains count as a match. Each from 1 to 253 characters. Example: rival.com

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

Market to search from. Default: United States.

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

Interface and answer language. Default: English. AI Mode supports 100 of these languages.

## `location` (type: `string`):

Pick one of about 1,000 major cities, or type any city in the selected Country (example: New York) or the full form City,Region,Country (example: New York,New York,United States). Up to 200 characters. When set, replaces Country.

## `device` (type: `string`):

Desktop or mobile results. Default: desktop.

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

Adds these lists to each row. Applies to the AI Overview mode. Default: off.

## `includeAiMode` (type: `boolean`):

Adds the Google AI Mode answer to each row. Always on in the AI Mode only mode. Default: off.

## `compareWithPreviousRun` (type: `boolean`):

Keeps each search's citation verdict in the named storage "google-ai-overviews-history" in your Apify account and reports what changed since the previous run with the same settings. Default: off.

## Actor input object example

```json
{
  "queries": [
    "best crm for small business",
    "how does compound interest work"
  ],
  "mode": "aiOverview",
  "country": "us",
  "language": "en",
  "device": "desktop",
  "includeOrganic": false,
  "includeAiMode": false,
  "compareWithPreviousRun": false
}
```

# Actor output Schema

## `results` (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 = {
    "queries": [
        "best crm for small business",
        "how does compound interest work"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("unseenuser/google-ai-overviews-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 crm for small business",
        "how does compound interest work",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("unseenuser/google-ai-overviews-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": [
    "best crm for small business",
    "how does compound interest work"
  ]
}' |
apify call unseenuser/google-ai-overviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,unseenuser/google-ai-overviews-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/93npbT6jw6MEUwZhx/builds/QQBS5HjDcMa08MfhJ/openapi.json
