# AI Answer Extractor - ChatGPT, Gemini, Claude & Perplexity ✅ (`unseenuser/ai-answer-extractor`) Actor

Track your brand in AI answers: send buyer questions to ChatGPT, Gemini, Claude and Perplexity and get one row per answer with the full text, brand and competitor mentions, your rank and the sources each AI cites. From $0.008 per answer. No login. CSV, Sheets or API.

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

## Pricing

from $8.00 / 1,000 answers

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

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

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

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

## How to integrate an Actor?

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

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

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

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

# README

## 🧭 AI Answer Extractor - AI Search Visibility for ChatGPT, Gemini, Claude, Perplexity (No Login)

**Measure your AI search visibility across ChatGPT, Perplexity, Claude, and Gemini in one run.** Send the questions your buyers ask and get one row per answer: is your brand mentioned, where does it rank against your competitors, and which sources does each engine cite.

It sits between answer-only tools and full brand trackers: you get the raw answers plus brand, competitor, and citation checks, priced per answer.

### ⚡ Why This Actor?

Combined-endpoint snapshot extractor: input a list of buyer-intent prompts and the actor runs each prompt against the live LLM Responses API of ChatGPT, Claude, Gemini, and Perplexity (any subset you choose). For each answer it detects whether your brand is mentioned, counts competitor mentions, extracts cited URLs when web search is on (Perplexity always; ChatGPT/Claude/Gemini when `enableWebSearch=true`), flags whether your own domain was cited, and reports the position of your brand among the names you asked it to track. One flat dataset row per `prompt x model` combination. Snapshot only - this is a point-in-time extractor, not a tracker with history.

**This is a SNAPSHOT, not a tracker.** AI answers change run to run (non-determinism, model updates, web-search variance). Each run returns what the AI said right now. If you need trending across runs, build a v2 or layer a scheduling + diff tool on top.

**Model choice is restricted to a cost-efficient allowlist.** You pick an engine; the actor picks the model (or you pick from a short per-platform dropdown of pre-approved cheap models). This keeps the per-answer Apify price fixed. Top-tier models (Claude Opus/Sonnet, Gemini Pro, Perplexity sonar-reasoning-pro) are intentionally excluded.

**Perplexity always browses the web and returns citations.** The other three engines browse only when `enableWebSearch=true`. This is why Perplexity has its own billing event (`answer-perplexity`) at a middle price point.

> **💡 Cap YOUR spend with Apify's built-in setting.** Set a **"Maximum cost per run"** on your Apify run (available in the run configuration UI). That is the hard limit on what Apify will charge you across event billing + compute.

### Free plan limit

Free Apify users get up to **5 results per run**. Paying users are not affected and receive results normally.

1 result = 1 answer (one prompt on one engine).

This limit was set by the Actor developer, not by Apify. To remove it and receive unlimited results, upgrade to any paid Apify plan: https://apify.com/pricing

When a free plan run hits the cap, the Actor finishes successfully (status `SUCCEEDED`) and the run's status message explains what happened. No error is raised, so the first 5 results are fully usable as normal.

### 🎯 Use Cases

- **GEO / AEO snapshot** - a single, time-stamped read of how 4 AI engines currently answer the questions your buyers ask
- **Cross-engine comparison** - see where ChatGPT, Claude, Gemini, and Perplexity agree or disagree in a single dataset
- **Launch impact one-shot** - run before and after a PR push or content campaign and diff the two datasets externally
- **Competitive mention audit** - count how often your brand vs named competitors appears across all four engines
- **Citation audit** - when web search is on, see which domains the AI engines cite as sources for your category
- **Agency deliverable** - deliver a client a "state of AI answers today" report backed by raw per-answer rows
- **Content-gap detection** - find prompts where no one in your category is mentioned by any engine yet
- **Research dataset** - academic study of AI answer behavior across engines on the same prompts
- **AI search visibility checker** - see whether ChatGPT, Perplexity, Claude, and Gemini mention your brand for the prompts your buyers ask, and where you rank against competitors (`brandMentionPosition`)
- **AI brand monitoring** - run the same prompt set every week to monitor how each AI engine describes your brand next to your competitors
- **AI citation tracking** - schedule it to track which domains each engine cites for your category and whether your own site is one of them (`ownDomainCited`, web search on)
- **AI visibility tracking** - schedule it to track your AI visibility over time: each run is a dated snapshot you can append to a sheet or BI dashboard
- **Answer engine optimization (AEO) reporting** - export per-engine rows to CSV, Sheets, or your BI tool and report AI search results next to your SEO metrics

### 🚀 Quick Start

1. Click **Try for free** on this Actor's page
2. Enter your `brandName`, up to 10 `competitors`, and a list of `prompts`
3. Optionally restrict `models` (default: all four engines) and set `enableWebSearch` (default `false`)
4. **Set Apify's "Maximum cost per run"** in the run config to cap your spend
5. Run the Actor
6. Download the per-answer rows as JSON, CSV, or XLSX

### ⚙️ Inputs Overview

| Input | Type | Required | Description | Example / Allowed Values |
|---|---|---|---|---|
| `prompts` | array of strings | ✅ | Buyer-intent prompts to send to each selected engine. Max 500 characters. | `["best project management tool for small teams", "alternatives to Asana"]` |
| `models` | array of enum | ❌ | Which engines to query. Default: all four. | `chatgpt`, `claude`, `gemini`, `perplexity` |
| `chatgptModel` | enum (allowlist) | ❌ | Model name for ChatGPT. Default `gpt-4o-mini`. | `gpt-4o-mini` |
| `claudeModel` | enum (allowlist) | ❌ | Model name for Claude (Haiku tier only). Default `claude-haiku-4-5`. | `claude-haiku-4-5`, `claude-haiku-4-5-20251001` |
| `geminiModel` | enum (allowlist) | ❌ | Model name for Gemini (Flash tier only). Default `gemini-2.5-flash-lite`. | `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-2.0-flash`, `gemini-1.5-flash`, `gemini-1.5-flash-8b` |
| `perplexityModel` | enum (allowlist) | ❌ | Model name for Perplexity. Base `sonar` only. | `sonar` |
| `enableWebSearch` | boolean | ❌ | Enable `web_search` on ChatGPT, Claude, Gemini. **Triggers the `answer-with-web-search` event (higher price) for those three engines.** Does NOT affect Perplexity (always browses). Default `false`. | `false` |
| `brandName` | string | ❌ (required for brand analysis) | Brand to detect in answers. Case-insensitive substring match. | `Linear` |
| `brandAliases` | array of strings | ❌ | Alternate names, acronyms, or domain-based forms. | `["Linear.app"]` |
| `competitors` | array of strings | ❌ | Up to 10 competitor names to detect. Simple string names (not objects). | `["Asana", "Jira", "Trello"]` |
| `ownDomain` | string | ❌ | Your own website domain. The actor sets `ownDomainCited=true` when any citation host matches. | `linear.app` |
| `locationCode` | enum (36 countries) | ❌ | Country for web search, sent as its 2-letter code; forwarded to ChatGPT/Claude/Perplexity as `web_search_country_iso_code`. Default `US`. Not sent to Gemini. Applies only when web search is on (always on for Perplexity). Without web search, answers are not country-specific. | `AR`, `AT`, `AU`, `BE`, `BR`, `CA`, `CH`, `CL`, `CN`, `DE`, `DK`, `ES`, `FI`, `FR`, `GB`, `HK`, `ID`, `IN`, `IT`, `JP`, `KR`, `MX`, `MY`, `NL`, `NO`, `NZ`, `PH`, `PL`, `PT`, `RU`, `SA`, `SE`, `TR`, `TW`, `US`, `ZA` |

### 📥 Input example

The exact input of a real run: 8 buyer prompts on all four engines with web search on, checking HubSpot against six competitors. Every field is described in the Inputs Overview table above; fields you leave out use their defaults.

```json
{
  "prompts": [
    "What is the best project management tool for small teams?",
    "Which CRM is best for a startup in 2026?",
    "What are good alternatives to Mailchimp?",
    "Best email marketing platform for ecommerce stores",
    "Which accounting software do freelancers recommend?",
    "What is the best website builder for small businesses?",
    "Best tools for scheduling social media posts",
    "Which note-taking app is best for teams?"
  ],
  "models": [
    "chatgpt",
    "claude",
    "gemini",
    "perplexity"
  ],
  "enableWebSearch": true,
  "brandName": "HubSpot",
  "competitors": [
    "Salesforce",
    "Pipedrive",
    "Zoho",
    "Mailchimp",
    "Asana",
    "Notion"
  ],
  "ownDomain": "hubspot.com",
  "locationCode": "US"
}
```

### 📤 Output example

One dataset row per prompt x engine. This is a real ChatGPT row from the run above (answer text shortened, first 3 cited sources kept):

- `prompt`, `model`, `modelVersion` - the question, the engine, and the exact model version the engine reported
- `answer` - the full answer text
- `citedSources` - each cited source with `url`, `title`, and `domain` (empty when the engine did not browse)
- `brandMentioned`, `brandMentionCount`, `brandMentionPosition`, `brandFirstCharIndex` - whether your brand appears, how often, its rank among all the names you track (1 = mentioned first), and where in the text it first appears
- `competitorMentions` - the same checks for each competitor
- `ownDomainCited` - `true` when any cited source is on your own domain
- `webSearchUsed` - whether the engine actually browsed the web for this answer
- `runTimestamp`, `taskId` - when the snapshot was taken and its task id
- `_metadata` - the engine, token counts, whether web search was requested, and which billing event was charged

Rows that fail carry a short `error` message and are never charged.

```json
{
  "prompt": "Which CRM is best for a startup in 2026?",
  "model": "chatgpt",
  "modelVersion": "gpt-4o-mini-2024-07-18",
  "answer": "Selecting the right Customer Relationship Management (CRM) system is crucial for a startup's growth and efficiency. As of October 2026, several CRM platforms stand out for their affordability, scalability, and user-friendliness, making them ideal for startups. Here are some top recommendations:\n\n**HubSpot CRM**\nOffers a robust free tier with unlimited contacts and users, including features like email tracking, deal pipelines, and meeting scheduling. Paid plans ...",
  "citedSources": [
    {
      "url": "https://croclub.com/tools/best-crm-enterprise-software/?utm_source=openai",
      "title": "21 Best CRM Enterprise Software Reviewed For 2026",
      "domain": "croclub.com"
    },
    {
      "url": "https://toolvs.co/guides/best-crm-for-startups?utm_source=openai",
      "title": "Best CRM for Startups (2026) - Top 5 Picks Compared | ToolVS",
      "domain": "toolvs.co"
    },
    {
      "url": "https://www.pipedrive.com/de/blog/business-management-tools?utm_source=openai",
      "title": "9 Business Management Tools für mehr Effizienz",
      "domain": "pipedrive.com"
    }
  ],
  "brandMentioned": true,
  "brandMentionCount": 1,
  "brandMentionPosition": 1,
  "brandFirstCharIndex": 427,
  "competitorMentions": [
    {
      "name": "Salesforce",
      "mentioned": true,
      "mentionCount": 1,
      "position": 4
    },
    {
      "name": "Pipedrive",
      "mentioned": true,
      "mentionCount": 3,
      "position": 2
    },
    {
      "name": "Zoho",
      "mentioned": true,
      "mentionCount": 4,
      "position": 3
    },
    {
      "name": "Mailchimp",
      "mentioned": false,
      "mentionCount": 0,
      "position": null
    },
    {
      "name": "Asana",
      "mentioned": false,
      "mentionCount": 0,
      "position": null
    },
    {
      "name": "Notion",
      "mentioned": false,
      "mentionCount": 0,
      "position": null
    }
  ],
  "ownDomainCited": false,
  "webSearchUsed": true,
  "runTimestamp": "2026-10-18T18:49:48Z",
  "taskId": "10181849-2850-0612-0000-b05b6c6b77a2",
  "_metadata": {
    "endpoint": "chatgpt",
    "input_tokens": 8517,
    "output_tokens": 633,
    "web_search_requested": true,
    "billing_event": "answer-with-web-search"
  }
}
```

### 📊 AI visibility metrics you can build from the output

The dataset gives you the raw rows; these common AI search visibility metrics come straight out of them in a sheet or BI tool:

- **Mention rate (visibility %)** - the share of answers where `brandMentioned` is `true`, overall or per engine
- **Average position** - the average `brandMentionPosition` across the answers that mention you (1 = named first)
- **Citation rate** - the share of answers where `ownDomainCited` is `true` (web search on, or Perplexity)
- **Citation monitoring** - which domains appear in `citedSources`, per engine and per prompt
- **Engine coverage** - ChatGPT, Perplexity, Claude, and Gemini side by side for the same prompts in one run
- **Prompt tracking** - schedule the same prompts daily or weekly; each run is a dated snapshot you can compare

The actor does not score sentiment or calculate share of voice. It returns the answers and the brand, competitor, and citation checks; how you weight them is up to you.

### 💰 Pricing

Pay-per-event model on Apify. **Three events:**

- **`answer`** - $8 per 1,000 answers. Fires for ChatGPT, Claude, or Gemini rows when `enableWebSearch=false`.
- **`answer-perplexity`** - $12 per 1,000 answers. Fires for every Perplexity row (Perplexity always browses, always has citations).
- **`answer-with-web-search`** - $60 per 1,000 answers. Fires for ChatGPT, Claude, or Gemini rows when `enableWebSearch=true`.

**One answer = one prompt x one model.** If you select 10 prompts and all 4 models, that is 40 answers = 40 billable events per run.

**Worked cost example (base, no web search):**

- Setup: 10 prompts, all 4 models (`chatgpt`, `claude`, `gemini`, `perplexity`), `enableWebSearch=false`
- Answers per run: 10 x 4 = 40 total
  - 10 ChatGPT answers at `answer` ($8/1k) = $0.08
  - 10 Claude Haiku answers at `answer` ($8/1k) = $0.08
  - 10 Gemini Flash answers at `answer` ($8/1k) = $0.08
  - 10 Perplexity sonar answers at `answer-perplexity` ($12/1k) = $0.12
- Total Apify event revenue: **$0.36 per run**

**Worked cost example (web search on for the three toggleable engines):**

- Same 10 prompts x 4 models, `enableWebSearch=true`
- 10 ChatGPT answers at `answer-with-web-search` ($60/1k) = $0.60
- 10 Claude Haiku answers at `answer-with-web-search` ($60/1k) = $0.60
- 10 Gemini Flash answers at `answer-with-web-search` ($60/1k) = $0.60
- 10 Perplexity sonar answers at `answer-perplexity` ($12/1k) = $0.12
- Total Apify event revenue: **$1.92 per run**

> **⚠️ Variable per-answer cost even with the allowlist.** All four engines charge per model token. The allowlist caps model choice, not answer length. A 200-word answer and a 2000-word answer still differ by 10x in token cost. The pricing events are flat per answer.

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

### 🧪 Example tasks

Ready-made inputs you can run in one click (each returns 5 answers or fewer):

- [AI search visibility: compare your brand across 4 AIs](https://apify.com/unseenuser/ai-answer-extractor/examples/ai-search-visibility-competitors) - see which brand ChatGPT, Perplexity, Claude, and Gemini name first for the same buyer question
- [ChatGPT brand mentions checker](https://apify.com/unseenuser/ai-answer-extractor/examples/chatgpt-brand-mentions) - check if ChatGPT names your brand, and where, for five buyer questions
- [AI citation check for your own website](https://apify.com/unseenuser/ai-answer-extractor/examples/ai-citation-check-own-website) - web search on, with an own-domain flag for each answer
- [Perplexity citation audit](https://apify.com/unseenuser/ai-answer-extractor/examples/perplexity-citation-audit) - the sources Perplexity cites for your category, at the Perplexity price
- [Perplexity brand visibility in Germany](https://apify.com/unseenuser/ai-answer-extractor/examples/perplexity-brand-visibility-germany) - German prompts with the country set to Germany

### 🎬 Demo video

New to Apify? Schedule this actor to run automatically - **How to schedule your actors**:

https://www.youtube.com/watch?v=GRFW_Loo2dk

Connect this actor to your stack - **Apify integrations**:

https://www.youtube.com/watch?v=bNACk1_S_6w

### 🔗 Related actors

More competitor research for marketers from the same publisher:

- [Google Ads Transparency Scraper](https://apify.com/unseenuser/Google-ads) - see which ads your competitors run on Google
- [Facebook & Instagram Ad Library Scraper](https://apify.com/unseenuser/meta-ads) - competitor ads on Meta
- [LinkedIn Ad Library Scraper](https://apify.com/unseenuser/LinkedIn-ads) - competitor B2B ads on LinkedIn

### ❓ FAQ

**Q: Is this legal?**
A: This Actor wraps DataForSEO's live LLM Responses endpoints, which in turn call OpenAI (ChatGPT), Anthropic (Claude), Google (Gemini), and Perplexity. Your downstream use of the AI-generated answers is your responsibility - see Part 4 for details, especially the restriction on using AI outputs to train competing models.

**Q: Why can't I pick my own Claude or Gemini model?**
A: The model allowlist keeps the per-answer Apify price fixed. If buyers could pass `claude-opus-5` or `gemini-2.5-pro` or `sonar-reasoning-pro`, a single long answer could cost the Publisher more than you pay per 1,000. The allowlist excludes top-tier and reasoning models so the three event prices hold predictably. If you need a top-tier model, open an issue - a per-tier premium actor could be built as a v2.

**Q: Why does Perplexity have its own billing event?**
A: Perplexity always browses the web and always returns sources - there is no "web search off" mode. So it does not fit either the "base `answer`" bucket (which assumes no web search) or the "`answer-with-web-search`" bucket (which is priced for the three toggleable engines). Perplexity gets its own event at $12/1k, which covers its base cost with margin.

**Q: What about each AI provider's Terms of Service?**
A: OpenAI, Anthropic, Google, and Perplexity each have Terms governing how you can use their outputs. The common restriction across all four: do NOT use their outputs to train competing AI models. Beyond that, each has specific terms you should review. See Part 4 Section M.

**Q: What if OpenAI, Anthropic, Google, or Perplexity 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 the AI answers to train my own LLM?**
A: NO. All four providers' Terms restrict using their outputs to train competing models. See Part 4 Section D and M.

**Q: Why is this a snapshot and not a tracker?**
A: AI answers are non-deterministic. The same prompt can return a different answer minutes later. This actor returns what the AI said right now. If you want trend-over-time, schedule the actor to run periodically and diff the datasets externally (or wait for v2).

**Q: Why are citations empty for ChatGPT/Claude/Gemini rows but populated for Perplexity?**
A: Citations only appear when the model actually browsed the web. Perplexity always browses, so always has citations. ChatGPT, Claude, and Gemini browse only when `enableWebSearch=true` AND their allowlisted model supports web search (all our allowlisted models do).

**Q: Does Gemini support country targeting for web search?**
A: Not documented. ChatGPT, Claude, and Perplexity accept `web_search_country_iso_code`. Gemini's live docs do not list this field, so the actor forwards `locationCode` only to the three engines that support it. Expect Gemini web searches to use its own default location.

**Q: Can I get answers in another language?**
A: Yes - write the prompts in that language.

**Q: What if an AI answer is factually wrong?**
A: AI answers can hallucinate. This actor returns what the AI said - not ground truth. Treat the output as a signal of what AI engines are currently saying, not as verified fact.

**Q: What is AI search visibility?**
A: How often, and how prominently, AI engines such as ChatGPT, Perplexity, Claude, and Gemini mention your brand and cite your website when people ask them buyer questions. This actor measures it per answer with `brandMentioned`, `brandMentionPosition`, `competitorMentions`, and `ownDomainCited`.

**Q: Is there a ChatGPT, Perplexity, Claude, or Gemini API for brand visibility?**
A: Each provider has its own API, but it returns raw model text only: no brand or competitor detection, no ranking against competitors, and no check of whether your domain was cited. You would also manage four separate accounts, SDKs, and rate limits. This actor runs all four engines in one run and returns one flat row per prompt x engine with those checks already done.

**Q: What is generative engine optimization (GEO) or answer engine optimization (AEO)?**
A: GEO and AEO are the practice of improving how AI answer engines describe and cite your brand, the AI-era counterpart of SEO. This actor covers the measurement side: what each engine says today for the prompts you care about, before and after your content changes.

**Q: How do I check if ChatGPT mentions my brand?**
A: Set `brandName` (and `brandAliases` for other spellings), add the prompts your buyers ask, select `chatgpt` or all four engines, and run. Each row shows `brandMentioned`, `brandMentionCount`, and `brandMentionPosition` relative to the competitors you listed.

**Q: How do I track AI citations or AI visibility over time?**
A: Schedule it to track. Each run is a dated snapshot, so schedule this actor daily or weekly with the same prompts and compare the datasets, for example in Google Sheets or your BI tool. AI answers can change from one run to the next, so a reliable read uses several real buyer prompts and more than one run, not a single answer.

**Q: How is pay-per-answer different from a monthly AI visibility tool?**
A: Monthly AI visibility tools charge a subscription whether you check 10 prompts or 1,000, and they add dashboards and extra scores on top. This actor charges per answer ($8 per 1,000 answers, $12 per 1,000 for Perplexity, $60 per 1,000 with web search), so a one-off audit or a small weekly check costs cents, and the raw rows stay in your own dataset for your sheet, BI tool, or report.

**Q: How do I check my AI visibility?**
A: Add the questions your buyers ask as `prompts`, set `brandName` and your `competitors`, pick the engines, and run. Each row shows whether that engine mentioned you (`brandMentioned`), where you rank against the competitors (`brandMentionPosition`), and, with web search on or on Perplexity, whether it cited your site (`ownDomainCited`).

**Q: What is an AI visibility report?**
A: A summary of how AI engines mention and cite your brand for a set of prompts. This actor's dataset is the raw report: one row per prompt x engine. Export it to Google Sheets or your BI tool and build the summary there, for example mention rate and citation rate per engine (see the metrics section above).

**Q: Can I see which sources ChatGPT cites?**
A: Yes. Turn on `enableWebSearch` and each ChatGPT row lists the cited pages in `citedSources` (`url`, `title`, `domain`). Without web search ChatGPT answers from its training data and cites nothing. Perplexity rows always include citations.

### 🔧 Technical Details

- Output: streamed via Apify dataset
- Format: JSON, CSV, XLSX, or via Apify API
- Retries: 3 with exponential backoff on 403/429/502/503/504
- Pagination: N/A (one task per call for live endpoints)
- Concurrency: up to 5 tasks in flight per engine, with staggered starts (about 200 ms apart); engines run in parallel

***

## 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 → Source Platform
                                                       ↓
You (User) ← Apify Platform ← Actor (software) ← Third-Party API
```

#### 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 API infrastructure that sends requests to AI providers and returns their responses.
- **Source Platform:** the AI providers OpenAI (ChatGPT), Anthropic (Claude), Google (Gemini), and Perplexity, accessed via DataForSEO. These are the platforms whose publicly visible data is accessed by the Third-Party API Providers.

#### 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 (OpenAI, Anthropic, Google, Perplexity) 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 OpenAI, Anthropic, Google, Perplexity, 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 Providers' Role

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

- (a) Operates API infrastructure that sends requests to AI providers and returns their responses
- (b) Maintains relationships with source platforms (or accepts the operational risk of accessing public data without such relationships)
- (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 these providers. The Publisher is not their 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 Providers (DataForSEO). Source Platforms are the AI providers OpenAI (ChatGPT), Anthropic (Claude), Google (Gemini), and Perplexity, accessed via DataForSEO.

#### 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 Providers, not the Publisher, bear responsibility for the lawfulness of the data collection itself
- (d) You should review Source Platform terms before commercial use:
  - OpenAI (Services Agreement - business/API terms): https://openai.com/policies/services-agreement/
  - Anthropic (Commercial Terms of Service): https://www.anthropic.com/legal/commercial-terms
  - Google (Gemini API Additional Terms of Service): https://ai.google.dev/gemini-api/terms
  - Perplexity (Perplexity API Terms of Service): https://www.perplexity.ai/hub/legal/perplexity-api-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 operates API infrastructure that sends requests to AI providers and returns their responses - it bears the responsibilities of data processors or controllers (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) 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. |

***

## 🛡️ Part 4: Actor-Specific Terms of Service Addendum

### 🛡️ Actor-Specific ToS Addendum - 🧭 AI Answer Extractor

This addendum supplements the Master Terms of Service V4.0. By running this Actor, you accept both the Master ToS and this addendum.

#### A. Architectural Disclosure

This Actor is a software wrapper. It accepts your input parameters (prompts, brand, competitors, options), calls FOUR DataForSEO live LLM Responses endpoints in parallel (one per platform: ChatGPT, Claude, Gemini, Perplexity), performs brand/competitor/citation analysis on the returned AI answers, and returns the enriched combined data to you on the Apify platform. UnseenUser does not store, log, or substantively process the data returned. The data flows from DataForSEO (and the underlying OpenAI, Anthropic, Google, and Perplexity services) through Apify's runtime directly to you.

#### B. Nature of Data Returned

This Actor returns: per-prompt-per-model answer text, cited source URLs (always for Perplexity; for ChatGPT/Claude/Gemini only when `enableWebSearch=true`), brand-mention detection results, competitor-mention counts and positions, own-domain-cited flag, and task metadata (cost, tokens, status_code, billing_event). The AI answers themselves are **generated content** - not facts, not personal data about any specific individual (unless your prompts name individuals, in which case see Section G below). The citation URLs point to real web pages.

Where your prompts name individuals or your competitor list includes sole proprietors, 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 snapshot** - a single, time-stamped read of how 4 AI engines currently answer the questions your buyers ask
- **Cross-engine comparison** - see where ChatGPT, Claude, Gemini, and Perplexity agree or disagree in a single dataset
- **Launch impact one-shot** - run before and after a PR push or content campaign and diff the two datasets externally
- **Competitive mention audit** - count how often your brand vs named competitors appears across all four engines
- **Citation audit** - see which domains the AI engines cite as sources (always for Perplexity; for others when web search is on)
- **Agency deliverable** - deliver a client a "state of AI answers today" report backed by raw per-answer rows
- **Content-gap detection** - find prompts where no one in your category is mentioned by any engine yet
- **Research dataset** - academic study of AI answer behavior across engines on the same prompts

#### D. Specifically Prohibited Uses

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

- Use answers to train or fine-tune your own commercial LLM. OpenAI, Anthropic, Google, and Perplexity all restrict using their outputs to train competing models.
- Republish full ChatGPT/Claude/Gemini/Perplexity answers verbatim in commercial products as if they were your own writing
- Build a "cached AI answer" SaaS that serves these answers to end users as a substitute for the AI engines themselves
- Game the system by prompt-injecting instructions designed to make the AI recommend your brand (manipulation of answer engines is contested under consumer-protection laws)
- Use the actor to send prompts that solicit illegal, harassing, or defamatory content about named individuals or competitors
- Combine answer data with scraped personal data to profile named individuals' AI-visibility preferences
- Run so many prompts across so many models that your use materially burdens DataForSEO's third-party AI provider contracts

#### E. Platform Terms of Service Considerations

DataForSEO is a commercial API provider that acts as middleware to four third-party AI engines (OpenAI's ChatGPT, Anthropic's Claude, Google's Gemini, Perplexity). DataForSEO's Terms of Service govern the data collection; the underlying AI providers' Terms govern the AI outputs. Your downstream use of AI-generated answers must independently comply with DataForSEO's Terms AND each of the four AI engines' Terms (OpenAI's Terms of Use, Anthropic's Usage Policy, Google's Generative AI Prohibited Use Policy, Perplexity's Terms of Service).

None of the four AI providers has publicly litigated specifically against GEO/AEO extraction actors as of the Effective Date, but all four reserve the right to restrict uses that compete with their own products or that use their outputs to train competing models.

If DataForSEO, OpenAI, Anthropic, Google, or Perplexity 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 four DataForSEO live LLM Responses endpoints in one run:

- Any single engine alone: low sensitivity (AI answer about a brand/topic; no personal data unless the prompt names an individual)
- **All four combined**: enables building a complete cross-engine GEO visibility snapshot. Still low-sensitivity when prompts stay on brands and topics; sensitivity rises if prompts name individuals or ask the AI to summarize private matters.

Keep prompts topical and commercial. Prompts that ask AI engines to produce opinions, assessments, or summaries about named individuals (not public-figure brands) turn a low-risk actor into a personal-data processor overnight.

#### G. Snapshot - Not a Tracker

This Actor is a **point-in-time snapshot extractor**. It does NOT compare runs, store history, or track trends. Each run returns what the AI engines said at the moment of the call. AI answers:

- Can change between runs for the same prompt (non-determinism; sampling temperature; model updates by the provider)
- Depend on the model version active at call time (providers push updates without notice)
- When web search is on, depend on web content indexed at call time

Downstream products that use this actor should disclose "data represents a point-in-time snapshot" to their end users. Do NOT present single-run output as "the AI consensus" or as evidence of persistent AI behavior.

#### H. Cost Caps - `internalCostCapUsd` (Publisher-side) vs Apify "Maximum cost per run" (Buyer-side)

This actor exposes TWO distinct cost-control mechanisms that users should NOT confuse:

**1. `internalCostCapUsd` (Publisher-side safety cap - this actor's own input):**

- Caps the cumulative DataForSEO API cost per run (the Publisher's bill, not yours)
- Default `25` USD
- When crossed, actor stops dispatching new tasks and emits a `budget_cap_reached` row
- Tasks already in flight when the cap is hit will complete and be charged - best-effort, not hard
- Protects the Publisher's margin against runaway buyer input (1000 prompts across 4 engines)
- Does NOT control what you pay Apify

**2. Apify's "Maximum cost per run" (Buyer-side spend cap - set in Apify's run configuration UI):**

- Caps your total Apify charges per run (event billing + compute)
- This is YOUR real spend ceiling
- Available in Apify's run configuration page under the pricing section
- Set it to whatever your budget tolerates

Use BOTH. The Publisher's cap protects margin; the Apify setting protects you.

#### I. Failed Checks Never Charged - Verify Before Billing

DataForSEO's standard practice is to charge only for successfully completed tasks (status_code 20000). The actor does not include task cost or status_code in `_metadata`, and the Apify pay-per-event logic is configured to charge only on status_code 20000. Buyers are NOT billed by the Apify event for a task that returned a non-20000 status_code.

#### J. AI Answers Are Not Facts - Downstream Disclosure

The output of this actor is each AI model's generated answer at the time of the call. These answers:

- Can be factually wrong (hallucination)
- Can change between runs for the same prompt (non-determinism)
- Can be influenced by the model's training cut-off and recent fine-tuning
- When web search is on, can include outdated or dead citation URLs

If you build a product on top of this actor, disclose to your end users that the data represents a point-in-time AI model response, not ground truth. Do NOT use raw AI answers as evidence in legal, financial, or regulatory contexts without independent verification.

#### K. Citations - Perplexity Always, Others Only With Web Search On

The `citedSources` field is populated:

- **Perplexity rows:** always populated (Perplexity always browses the web and returns sources). This is why Perplexity has its own billing event (`answer-perplexity`).
- **ChatGPT/Claude/Gemini rows:** only when `enableWebSearch=true` AND the chosen allowlisted model actually ran a web search. Without web search, the AI answers from training data only, with no sources.

If citation coverage matters to your downstream use case for the three toggleable engines, you must enable web search - and accept the higher cost tier (`answer-with-web-search` event at $60/1k).

#### L. Cease-and-Desist Protocol

If DataForSEO, OpenAI, Anthropic, Google, or Perplexity contacts UnseenUser regarding your use:

- UnseenUser will notify Apify per Master ToS Section 8
- UnseenUser may suspend access to this Actor pending investigation
- You agree to provide documentation of your lawful basis and processing activities upon reasonable request

If a brand or individual contacts YOU directly disputing how their name appeared in your output:

- Honor deletion requests promptly (typically within 30 days under GDPR)
- Do NOT route them to UnseenUser - UnseenUser is the software vendor, not the data controller
- You may suggest they contact the originating AI provider directly (they generated the content, not the Publisher)
- Document the request and your response

#### M. OpenAI, Anthropic, Google, and Perplexity Terms - Your Independent Obligation

Each AI provider's Terms govern the AI-generated content you receive via DataForSEO:

- **OpenAI (ChatGPT):** https://openai.com/policies/terms-of-use - restricts using outputs to train competing models
- **Anthropic (Claude):** https://www.anthropic.com/legal/consumer-terms and the Usage Policy - restricts competing-model training and prohibits certain use cases
- **Google (Gemini):** https://policies.google.com/terms/generative-ai and the Generative AI Prohibited Use Policy - restricts training competing models, deceptive content, and more
- **Perplexity:** https://www.perplexity.ai/hub/legal/terms-of-service

The common restriction across all four: do NOT use their outputs to train competing AI models. Each has additional specific restrictions you should review before commercial deployment.

DataForSEO's Terms govern their API intermediation. The Publisher (UnseenUser) is not a party to and makes no representation about compliance with any of these third-party Terms on your behalf.

#### N. Prompt Injection & Content Safety

The actor sends your prompts verbatim to the AI engines. If you craft prompts designed to:

- Extract AI engine system prompts or confidential instructions (jailbreaking)
- Generate harassing, defamatory, or illegal content about identifiable individuals or companies
- Produce content that violates any AI engine's content policy

...you bear sole responsibility. The AI engines may refuse, flag, or report such requests, and the Publisher's DataForSEO account could be flagged or restricted as a result. If the Publisher's DataForSEO account is restricted due to a user's prompt-injection or policy-violating prompts, the Publisher reserves the right to suspend that user's access to this Actor under Master ToS Section 13.

# Actor input Schema

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

Buyer-intent prompts to send to each selected engine. Max 500 characters. To get answers in another language, write the prompts in that language.

## `models` (type: `array`):

Which engines to query. Default: all four. 1 answer = 1 prompt x 1 engine, and each answer is a billable event.

## `enableWebSearch` (type: `boolean`):

Turn on web search for ChatGPT, Claude, and Gemini. Triggers the higher-priced answer-with-web-search event for those three engines. Does NOT affect Perplexity (it always browses).

## `brandName` (type: `string`):

Brand to detect in answers (case-insensitive substring match). Required for brand analysis.

## `brandAliases` (type: `array`):

Alternate names, acronyms, or domain-based forms of your brand.

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

Up to 10 competitor names to detect.

## `ownDomain` (type: `string`):

Your own website domain. ownDomainCited is set to true when any citation host matches it.

## `locationCode` (type: `string`):

Country for web search. Sent to ChatGPT and Claude when web search is on, and always to Perplexity. Not sent to Gemini (not supported). Applies only when web search is on (always on for Perplexity). Without web search, answers are not country-specific.

## `chatgptModel` (type: `string`):

Model for ChatGPT (cost-efficient allowlist only).

## `claudeModel` (type: `string`):

Model for Claude (Haiku tier only).

## `geminiModel` (type: `string`):

Model for Gemini (Flash tier only).

## `perplexityModel` (type: `string`):

Model for Perplexity (base sonar only).

## `internalCostCapUsd` (type: `number`):

Internal Publisher-side safety cap per run. Not a buyer setting - use Apify's "Maximum cost per run" setting to cap your spend.

## Actor input object example

```json
{
  "prompts": [
    "best project management tool for small teams"
  ],
  "models": [
    "chatgpt",
    "claude",
    "gemini",
    "perplexity"
  ],
  "enableWebSearch": false,
  "brandName": "Linear",
  "competitors": [
    "Asana",
    "Jira",
    "Trello"
  ],
  "locationCode": "US",
  "chatgptModel": "gpt-4o-mini",
  "claudeModel": "claude-haiku-4-5",
  "geminiModel": "gemini-2.5-flash-lite",
  "perplexityModel": "sonar",
  "internalCostCapUsd": 25
}
```

# Actor output Schema

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

Full answer rows: answer text, brand and competitor detection, citations.

## `brandVisibility` (type: `string`):

Brand and competitor mentions, positions, own-domain citation and cited sources per answer.

# 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": [
        "best project management tool for small teams"
    ],
    "brandName": "Linear",
    "competitors": [
        "Asana",
        "Jira",
        "Trello"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("unseenuser/ai-answer-extractor").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": ["best project management tool for small teams"],
    "brandName": "Linear",
    "competitors": [
        "Asana",
        "Jira",
        "Trello",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("unseenuser/ai-answer-extractor").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": [
    "best project management tool for small teams"
  ],
  "brandName": "Linear",
  "competitors": [
    "Asana",
    "Jira",
    "Trello"
  ]
}' |
apify call unseenuser/ai-answer-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,unseenuser/ai-answer-extractor"
        }
    }
}
```

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/hthTdLBucHrsI6hok/builds/XR8FvJtJcQYyE1dgx/openapi.json
