# AI Answer Scraper - ChatGPT, Perplexity, Gemini & AI Mode (`wrenfield-data/ai-answer-scraper`) Actor

Answers and cited sources from ChatGPT, Perplexity, Gemini, Google AI Mode, Google AI Overviews and Claude for your prompts. Same input as Apify's AI scrapers (queries, countryCode). Licensed data, no logins, no browser. $0.015 per answer. Built for GEO / AI search tracking and AI agents.

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

## Pricing

from $10.00 / 1,000 ai 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

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

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

## How to integrate an Actor?

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

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

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

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

# README

## AI Answer Scraper: ChatGPT, Perplexity, Gemini, Google AI Mode and AI Overviews answers with citations

**AI Answer Scraper** asks **ChatGPT, Perplexity, Gemini, Google AI Mode, Google AI Overviews and Claude** your prompts and returns each **answer, its cited sources and the brands it recommends, in order, as structured data**, plus the web searches the engine ran. All engines are in one Actor and one table, so you can compare what each AI recommends without stitching four scrapers together. **$0.015 per answer** (down to $0.01 on paid Apify plans).

**Already using Apify's ChatGPT, Perplexity, Gemini or Google AI Mode scraper?** This Actor accepts the same input (`queries`, one per line, and `countryCode`) and adds the same output fields (`query`, `text`, `sources`, `citationUrls`), so you can switch by changing only the Actor ID. On the Apify Free plan those scrapers charge $0.20 per answer (Apify Store pricing, checked Oct 19, 2026); this one charges $0.015 and asks several engines in one run. See [Switching from Apify's AI scrapers](#switching-from-apifys-ai-scrapers).

Use it for **GEO / AEO** (generative engine optimization): see which sites and brands AI assistants recommend for the questions your customers ask, and track it over time.

- 🤖 **7 engines in one run**: ChatGPT (web answer with search), Perplexity (Sonar), Gemini, Google AI Mode, Google AI Overviews, Claude, and ChatGPT through the official OpenAI API.
- 🔗 **Citations as data**: URL, domain and title for every source, plus a one-row-per-citation view.
- 🏷️ **Brand extraction on every engine**: `brands` lists each recommended product in answer order with mention count, whether the answer cites that brand's own site, and a confidence flag. `first_brand` is the top pick. Ready for share-of-voice counts without parsing text.
- 🔎 **Fan-out queries**: the searches the engines ran to answer (when reported).
- ⚡ **Fast**: engines run in parallel. A prompt on ChatGPT + Perplexity takes about 20-25 seconds, so it works well as a tool for AI agents through the Apify MCP server.
- ✅ **Clean sourcing**: no logins, no browser automation and no accounts of yours. See [How the data is obtained](#how-the-data-is-obtained).

#### Wrenfield Search Data: keyword and AI-search visibility data, priced per result

- **Keyword data:** [Keyword Search Volume](https://apify.com/wrenfield-data/keyword-search-volume) · [Keyword Difficulty](https://apify.com/wrenfield-data/keyword-difficulty-checker) · [Keyword Research](https://apify.com/wrenfield-data/keyword-research-tool) · [Autocomplete Expander](https://apify.com/wrenfield-data/google-autocomplete-keyword-expander) · [Google Trends](https://apify.com/wrenfield-data/google-trends-scraper) · [People Also Ask](https://apify.com/wrenfield-data/people-also-ask-scraper) · [Competitor Keywords](https://apify.com/wrenfield-data/competitor-keywords) · [Keyword Gap](https://apify.com/wrenfield-data/keyword-gap-report)
- **AI search visibility:** [AI Search Visibility Tracker](https://apify.com/wrenfield-data/ai-search-visibility-tracker) · [Google AI Overview Scraper](https://apify.com/wrenfield-data/google-ai-overview-scraper) · **AI Answer Scraper** · [Agency AI Visibility Reports](https://apify.com/wrenfield-data/agency-ai-visibility-reports)
- **Site and domain SEO:** [Domain Authority & Traffic](https://apify.com/wrenfield-data/domain-authority-traffic-checker) · [Bulk PageSpeed](https://apify.com/wrenfield-data/bulk-pagespeed-checker) · [SEO Toolkit](https://apify.com/wrenfield-data/seo-toolkit) · [SEO Agency Report](https://apify.com/wrenfield-data/seo-agency-report)

### What data do you get?

| Field | What it is |
| --- | --- |
| `prompt`, `engine`, `engine_name`, `model` | What was asked, where, and which model answered |
| `status` | `ok`, `no_answer` (e.g. Google showed no AI Overview) or `error` (engine didn't respond; not charged) |
| `answer_markdown`, `answer_text`, `answer_word_count` | The answer as markdown and plain text |
| `citations`, `citation_count`, `cited_domains` | Every cited source (url, domain, title) and the unique domains in order |
| `brands` | Every recommended brand/product in answer order: `name`, `rank`, `mentions`, `cited` + `cited_domain` (the answer cites that brand's own site), `confidence` (`high`/`low`) |
| `brands_mentioned`, `first_brand` | High-confidence brand names in order, and the top pick |
| `brand_entities` | Raw brand list as reported by the engine (ChatGPT only) |
| `fan_out_queries` | Web searches the engine ran to build the answer (when reported) |
| `organic_results` | AI Overviews only: the top organic results on the same Google page |
| `response_time_secs` | How long the engine took |

### How to use it

1. Enter your **Prompts**, one per line, e.g. `What is the best CRM for a small business?`
2. Select the **AI engines** (default: ChatGPT and Perplexity).
3. Pick the **Country** and **Language** the answers should be localized to.
4. Click **Start**. Open the **AI answers** view for answers, or the **Citations** view for one row per cited source.

### Input example

```json
{
    "prompts": ["What is the best CRM for a small business?", "HubSpot vs Pipedrive for a 5-person sales team"],
    "engines": ["chatgpt", "perplexity", "gemini", "google_ai_mode"],
    "country": "United States",
    "language": "English"
}
```

### Output example

```json
{
    "prompt": "What is the best CRM for a small business?",
    "engine": "chatgpt",
    "engine_name": "ChatGPT",
    "model": "gpt-6",
    "status": "ok",
    "answer_text": "My top recommendation is HubSpot CRM for most small businesses, especially ...",
    "answer_word_count": 640,
    "citations": [{"url": "https://www.techradar.com/best/best-crm-for-small-business", "domain": "techradar.com", "title": "Best CRM for small business"}],
    "citation_count": 20,
    "cited_domains": ["toolradar.com", "g2.com", "techradar.com", "hubspot.com"],
    "first_brand": "HubSpot",
    "brands_mentioned": ["HubSpot", "Zoho CRM", "Pipedrive", "Bigin", "Freshsales"],
    "brands": [{"name": "HubSpot", "rank": 1, "mentions": 5, "cited": true, "cited_domain": "hubspot.com", "confidence": "high"},
               {"name": "Zoho CRM", "rank": 2, "mentions": 4, "cited": true, "cited_domain": "zoho.com", "confidence": "high"}],
    "fan_out_queries": ["small business CRM software 2026 reviews pricing comparison"],
    "country": "United States",
    "language": "English",
    "response_time_secs": 21.8
}
```

### Pricing

This Actor uses **pay-per-event** pricing, with lower prices on paid Apify plans.

| Event | Free plan | Bronze | Silver | Gold and above |
| --- | --- | --- | --- | --- |
| AI answer (`ai-answer`), per answer returned | **$0.015** | $0.0135 | $0.012 | $0.01 |
| Empty answer (`empty-answer`): the engine was checked but showed no AI answer (most often, Google showed no AI Overview) | $0.006 | $0.006 | $0.006 | $0.006 |

Engine errors and cut-off answers are **not charged**.

| Example run (Free-plan prices) | Cost |
| --- | --- |
| 1 prompt on ChatGPT + Perplexity | $0.03 |
| 25 prompts on 4 engines (100 answers) | $1.50 |
| Weekly tracking: 50 prompts x 6 engines | $4.50 per week |

Set **Maximum cost per run** to cap your spend; the Actor stops cleanly at the cap.

**Free Apify plan:** 2 prompts and 2 engines per run.

### Compared with Apify's own AI scrapers (Store prices, Oct 19, 2026)

Apify's first-party scrapers (`apify/perplexity-search-scraper`, `apify/chatgpt-search-scraper`, `apify/gemini-search-scraper`, `apify/google-ai-mode-scraper`) charge **$0.20 per answer on the Free plan**, then much less on paid plans. Live `pricingInfos` checked Oct 19, 2026:

| Their Actor (event) | Free | Bronze | Silver | Gold |
| --- | ---: | ---: | ---: | ---: |
| Perplexity (`perplexity-ai-result-scraped`) | $0.20 | $0.013 | $0.010 | $0.009 |
| ChatGPT (`chatgpt-result-scraped`) | $0.20 | $0.005 | $0.004 | $0.003 |
| Gemini (`gemini-result-scraped`) | $0.20 | $0.005 | $0.004 | $0.003 |
| Google AI Mode (`ai-mode-result-scraped`) | $0.20 | $0.005 | $0.003 | $0.002 |
| **This Actor (`ai-answer`)** | **$0.015** | **$0.0135** | **$0.012** | **$0.01** |

- **If you only need one engine on a paid plan, Apify's own scraper is cheaper per answer** ($0.002–0.005 for ChatGPT, Gemini and AI Mode). Use it.
- Use this Actor when you need **several engines compared in one table**, **structured brand rankings** (`brands`, `first_brand`) on every engine, Claude or the official OpenAI API next to the consumer engines, or a licensed data source instead of browser scraping.
- Free plan: $0.015 vs $0.20 per answer.
- Failed and cut-off answers are free here; empty answers are $0.006.

### Switching from Apify's AI scrapers

Send the input you already use for `apify/perplexity-search-scraper`, `apify/chatgpt-search-scraper`, `apify/gemini-search-scraper` or `apify/google-ai-mode-scraper`, and add `engines` to pick the engine (default: ChatGPT + Perplexity):

```json
{
    "queries": "best crm for small business\nhubspot vs pipedrive",
    "countryCode": "us",
    "engines": ["perplexity"]
}
```

| Their field | Here |
| --- | --- |
| `queries` (one per line) | Accepted as is (same as `prompts`) |
| `countryCode` (`us`, `gb`, ...) | Accepted as is (same as `country`) |
| `perplexitySearch` | Accepted; search recency, images and related questions are not supported and are ignored |
| Output `query`, `text`, `sources`, `citationUrls` | Added to every row when you use `queries` (or set `apifyCompatibleFields: true`) |
| Output `relatedQuestions`, `images` | Present, always empty |

What differs: answers come from licensed data sources and official model APIs rather than from a browser session, so wording and citations can differ from what you get elsewhere (see below). Microsoft Copilot is not offered.

### How the data is obtained

- All answers come from **DataForSEO**, a commercial data provider: its **AI Optimization API** for the AI assistants and its **SERP API** for Google AI Mode and AI Overviews. The Actor never opens a browser, never logs in to ChatGPT, Gemini, Google or any other account, and never uses your credentials.
- **Perplexity**, **Claude** and **ChatGPT API** answers come from the providers' **official model APIs** (Perplexity Sonar, Anthropic Claude, OpenAI). Pick these engines if you need answers that come only from official APIs.
- **ChatGPT** and **Gemini** answers are the web-interface answers (with web search and citations) that DataForSEO collects from those assistants. **Google AI Mode and AI Overviews** are read from public Google results pages.
- Answers are generated fresh for each run, so they vary between runs, just as they do for real users.

### For agencies: run your whole client book

Collecting AI answers for clients? Skip the brand matching, scoring and report writing. [Agency AI Visibility Reports](https://apify.com/wrenfield-data/agency-ai-visibility-reports) takes one CSV row per client and returns a finished, white-label packet per client (HTML + PDF): whether ChatGPT, Perplexity, Gemini and Google AI Mode name the client, competitor share of voice, Google rankings, quoted evidence and a ranked action queue, plus one portfolio page for the whole book. Save it as a task and schedule it weekly for week-over-week change.

```csv
client,domain,competitors,category,keywords
Help Scout,helpscout.com,Zendesk | zendesk.com; Freshdesk | freshworks.com; Intercom | intercom.com,help desk software,help desk software; shared inbox software
Pipedrive,pipedrive.com,HubSpot | hubspot.com; Salesforce | salesforce.com,CRM for small business,crm for small business
```

**$12 per client packet** ($8 each for books of 20-49 clients, $7 each at 50+). The Store price box lists this as "$12,000 / 1,000 packets"; that is the same $12 per packet. Turn on **Quote only** for a free count of packets and the maximum price before anything runs; only completed packets are charged.

### Use it through the API, on a schedule or with AI agents

**One-link MCP setup:** `https://mcp.apify.com?tools=wrenfield-data/ai-answer-scraper` (Claude, Cursor, VS Code or any MCP client). Set `maxTotalChargeUsd` on the run to cap what it can charge.

Call it from Python, JavaScript or any HTTP client with the [Apify API](https://docs.apify.com/api/v2), schedule it weekly to track AI visibility, or connect it to Make, Zapier, n8n and Google Sheets. AI agents can call it through the Apify MCP server. Every output field is described in the dataset schema.

```bash
curl -X POST "https://api.apify.com/v2/acts/wrenfield-data~ai-answer-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prompts": ["What is the best CRM for a small business?"], "engines": ["chatgpt", "perplexity"]}'
```

### Use it from an AI agent (MCP)

Add one line to Claude, Cursor, VS Code or any MCP client and the agent gets this Actor as a tool (it appears as `wrenfield-data--ai-answer-scraper`):

```text
https://mcp.apify.com?tools=wrenfield-data/ai-answer-scraper
```

Try asking: *Ask Perplexity and ChatGPT "What is the best CRM for a small business?" and list the domains each one cites.*

**Fields your agent reads:** `answer_markdown` (the answer with links and tables kept), `citations` (url, domain, title), `cited_domains`, `brand_entities`, `status`.

**Real output** (one row from a run on Oct 19, 2026, trimmed):

```json
{"prompt": "What is the best CRM for a small business?", "engine": "perplexity", "status": "ok", "answer_markdown": "**For most small businesses, HubSpot CRM is the best starting point**: ...", "cited_domains": ["salesforce.com", "pcmag.com", "techradar.com"], "citation_count": 10}
```

AI answers change between runs; treat one answer as a sample. Set a maximum cost per run (`maxTotalChargeUsd` over the API, call options over MCP) so an agent loop cannot overspend.

### FAQ

**Do I need ChatGPT, Perplexity or Google accounts?**
No. Nothing runs under your accounts.

**Why is an AI Overview sometimes missing?**
Google shows AI Overviews only for some queries and locations. The row then has `status: no_answer` and the lower `empty-answer` price. That result is still useful for tracking AI Overview presence.

**Can it tell me whether my brand is mentioned?**
This Actor returns the raw answers and citations. For brand-mention rates, share of voice, positions and sentiment across engines, use [AI Search Visibility Tracker](https://apify.com/wrenfield-data/ai-search-visibility-tracker).

### Related tools

From the same developer:

- [AI Search Visibility Tracker](https://apify.com/wrenfield-data/ai-search-visibility-tracker): brand mentions, share of voice, citations and sentiment across AI engines
- [People Also Ask Scraper](https://apify.com/wrenfield-data/people-also-ask-scraper): Google PAA questions, the prompts real people ask
- [Keyword Research Tool](https://apify.com/wrenfield-data/keyword-research-tool): turn a topic into prompts and keywords with search volume
- [SEO Toolkit All-in-One](https://apify.com/wrenfield-data/seo-toolkit): authority, traffic and backlinks of the sites AI engines cite
- [Google Autocomplete Keyword Expander](https://apify.com/wrenfield-data/google-autocomplete-keyword-expander): long-tail questions from Google autocomplete

### Feedback and support

Missing a field, hit an error, or need another country or option? Open an issue on the **Issues** tab and include the run ID. We read every issue and reply there.

### Acceptable use

- This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by OpenAI, Perplexity, Google, Anthropic or DataForSEO. Product names are used only to describe which engines are queried.
- Use the answers for research, monitoring and analysis. **Don't use them to train or build AI models that compete with the engines they come from**, and don't present them as the engines' official statements.
- Don't send prompts that are unlawful, that contain other people's personal data, or that try to make the engines produce harmful content.
- The Actor may not be used from, or for people or organizations in, Russia, Belarus, Cuba, Iran, Syria, Myanmar, North Korea, Crimea or the Russian-occupied territories of Ukraine.
- You are responsible for using the results lawfully.

# Actor input Schema

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

Questions to ask, one per line (up to 500 characters each, up to 500 prompts). Each prompt is sent to every selected engine. Coming from Apify's ChatGPT / Perplexity / Gemini / AI Mode scrapers? You can send your existing <code>queries</code> input unchanged instead.

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

Engines to ask. One answer row per prompt and engine. Default: ChatGPT + Perplexity.

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

Country the answers are localized to (web search location): name, 2-letter code or location code. Default: United States.

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

Language name or code (<code>English</code>, <code>de</code>).

## `chatgptWebSearch` (type: `boolean`):

Make ChatGPT search the web, so the answer has cited sources (what most users see for buying questions).

## `includeAnswerText` (type: `boolean`):

Turn off to get only citations, cited domains and brands (smaller output for agents).

## `maxAnswerChars` (type: `integer`):

Answer text is cut to this length.

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

Same as <code>queries</code> in Apify's AI scrapers: one query per line. Added to Prompts. When used, each row also gets Apify-style fields (<code>query</code>, <code>text</code>, <code>sources</code>, <code>citationUrls</code>).

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

Lowercase 2-letter country code as in Apify's AI scrapers (e.g. <code>us</code>, <code>gb</code>). Used when Country is empty.

## `perplexitySearch` (type: `object`):

Accepted for compatibility with apify/perplexity-search-scraper. Images, related questions and search recency are not supported and are ignored (noted in the run summary).

## `apifyCompatibleFields` (type: `boolean`):

Add <code>query</code>, <code>text</code>, <code>sources</code>, <code>citationUrls</code>, <code>relatedQuestions</code> and <code>images</code> to every row, matching Apify's AI scrapers. Default: on when you use <code>queries</code>, off otherwise.

## Actor input object example

```json
{
  "prompts": [
    "What is the best CRM for a small business?"
  ],
  "engines": [
    "chatgpt",
    "perplexity"
  ],
  "country": "United States",
  "language": "English",
  "chatgptWebSearch": true,
  "includeAnswerText": true,
  "maxAnswerChars": 20000
}
```

# Actor output Schema

## `answers` (type: `string`):

No description

## `citations` (type: `string`):

No description

## `allFields` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "prompts": [
        "What is the best CRM for a small business?"
    ],
    "engines": [
        "chatgpt",
        "perplexity"
    ],
    "country": "United States",
    "language": "English"
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "prompts": ["What is the best CRM for a small business?"],
    "engines": [
        "chatgpt",
        "perplexity",
    ],
    "country": "United States",
    "language": "English",
}

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

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

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

```

## CLI example

```bash
echo '{
  "prompts": [
    "What is the best CRM for a small business?"
  ],
  "engines": [
    "chatgpt",
    "perplexity"
  ],
  "country": "United States",
  "language": "English"
}' |
apify call wrenfield-data/ai-answer-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,wrenfield-data/ai-answer-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/CgOifTcFCmwqeTVDZ/builds/oBrbpGBdWMUMTgLuY/openapi.json
