# ChatGPT scraper API

> aivisibilityskill's ChatGPT scraper API returns the answer the ChatGPT app gives a question, with web search on, as JSON: the brands it names in order and whether it recommends them, every citation with its source type, and the raw response with its SHA-256 hash. It covers 192 countries, costs $0.011 to $0.025 an answer, and failed answers are never charged.

Canonical page: https://aivisibilityskill.com/api/chatgpt. Updated November 5, 2026 by Ahmed Gagan, founder of aivisibilityskill.

- Asks: The ChatGPT app (chatgpt.com), with web search on
- Returns: The answer, brands in order, every citation, facts and the raw response
- Countries: 192 countries and territories, 100+ languages
- Price per answer: $0.011 (batch) to $0.025 (live); half for a reused answer
- Speed: Live answers usually in under a minute
- Try it: Free sandbox keys and 500 free credits, no card

Get a free sandbox key: https://app.aivisibilityskill.com/login?next=%2Fkeys. API reference: https://api.aivisibilityskill.com/docs. OpenAPI 3.1: https://api.aivisibilityskill.com/openapi.json.

## Request and response

```bash
curl https://api.aivisibilityskill.com/v1/checks \
  -H "Authorization: Bearer $AIV_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "questions": ["best CRM for early-stage startups"],
    "engines": ["chatgpt"],
    "locale": "en-US",
    "mode": "live",
    "wait": 60
  }'
```

Response, shortened (real values from October 29, 2026):

```json
{
  "status": "succeeded",
  "credits": {
    "quoted": 25,
    "charged": 25
  },
  "answers": [
    {
      "engine": "chatgpt",
      "surface": "app",
      "question": "best CRM for early-stage startups",
      "locale": "en-US",
      "has_ai_answer": true,
      "brands": [
        {
          "name": "Attio",
          "rank": 1,
          "recommended": true,
          "sentiment": "positive",
          "quote": "Best overall for tech startups"
        },
        {
          "name": "HubSpot",
          "rank": 2,
          "recommended": true,
          "sentiment": "positive",
          "quote": "Best free starting point"
        }
      ],
      "facts": [
        {
          "brand": "Pipedrive",
          "type": "price",
          "value": "$14/user/month",
          "price": {
            "amount": 14,
            "currency": "USD",
            "period": "month",
            "per_user": true
          }
        }
      ],
      "citations": [
        {
          "position": 5,
          "domain": "techradar.com",
          "source_type": "media"
        },
        {
          "position": 6,
          "domain": "attio.com",
          "source_type": "brand_owned"
        }
      ],
      "receipt": {
        "sha256": "…",
        "url": "…/receipt"
      }
    }
  ]
}
```

## What the ChatGPT API returns

Each answer comes back already read. You don't parse markdown or guess which product names are brands: the response lists them, in order, with the sources ChatGPT cited and the raw response behind it.

What each answer includes:

| Field | What it holds |
| --- | --- |
| `has_ai_answer` | false when the engine showed no AI answer (for example, no AI Overview for that query). |
| `text` | The full answer, as markdown. |
| `brands[].name, rank` | Every brand the answer names, in order of first mention (rank 1 = named first). |
| `brands[].recommended, sentiment, quote` | Whether it recommends the brand, the tone (positive, neutral, negative) and the exact words. |
| `citations[].position, url, domain, title` | Every source the answer cites, in the order it cites them. |
| `citations[].source_type` | What kind of site each source is: brand_owned, review_site, media, reddit, youtube, wikipedia, forum, social, blog_platform, marketplace, gov_edu or other. |
| `facts[]` | Claims about each brand (price, plan, free tier, platform, feature) with the quote they came from; prices parsed into amount, currency and period. |
| `model, locale, collected_at` | The model the engine reported, the country and language asked from, and when. |
| `receipt.sha256, receipt.url` | The engine's raw response, stored as returned, and its SHA-256 hash. |

## The ChatGPT app's answer vs the OpenAI API

Buyers ask ChatGPT in the app. The OpenAI API is a different product: a model you call as a developer, with its own defaults, that answers in whatever shape you ask for. Even with its web search tool turned on, it isn't the answer a buyer reads on chatgpt.com. To measure what buyers are told, you need the app's answer.

What each one measures:

|  | OpenAI API | ChatGPT app, through aivisibilityskill |
| --- | --- | --- |
| What you get | A model's reply to your prompt | The answer buyers see on chatgpt.com |
| Web search | Only if you call the web search tool | On, the way the app decides |
| Sources | Only what your call asks for | Every citation, in order, with its source type |
| Brands named | You parse them yourself | Listed with rank, recommendation and sentiment |
| Proof | None kept | Raw response with its SHA-256 hash |
| Billing | Per token | Per answer; failed answers are free |

## One question, three different answers

We asked “best CRM for early-stage startups” on each engine from the US on the same morning. Each card is what the API returned: how the answer opens, the brands it named in order, and the first sites it cited.

Real answers to "best CRM for early-stage startups" (en-US), collected October 29, 2026, as the API read them:

- ChatGPT: opens "My recommendation: start with Attio if you're building a tech startup, or HubSpot if you want a free, all-purpose sales and marketing platform." Names, in order: Attio, HubSpot, Pipedrive, Zoho CRM, Close. Cites 10 sources, starting with hackceleration.com, softwarecompare.net, stackbytrade.com.
- Google AI Overview: opens "The best CRM for early-stage startups depends on your growth model, budget, and sales process." Names, in order: HubSpot, Pipedrive, Attio, Ringy, Zoho CRM, Salesforce (as one to avoid). Cites 6 sources, starting with ringy.com, bestpage.ai, digitalocean.com.
- Google AI Mode: opens "Choosing a CRM for an early-stage startup depends heavily on your workflow … and how fast you plan to scale." Names, in order: Attio, HubSpot, Pipedrive, Close, Streak, Folk. Cites 3 sources, starting with attio.com, eway-crm.com, hubspot.com.

Where each answer ranks each brand (1 = named first; – = not named):

| Brand | ChatGPT | Google AI Overview | Google AI Mode |
| --- | --- | --- | --- |
| Attio | **1** | 3 | **1** |
| HubSpot | 2 | **1** | 2 |
| Pipedrive | 3 | 2 | 3 |
| Zoho CRM | 4 | 5 | – |
| Close | 5 | – | 4 |
| Ringy | – | 4 | – |
| Salesforce | – | 6 (to avoid) | – |
| Streak | – | – | 5 |
| Folk | – | – | 6 |

All three name Attio, HubSpot and Pipedrive, but not in the same order, and after those three the lists split. They barely share sources either: ChatGPT and the AI Overview cite no site in common, and AI Mode shares only attio.com and hubspot.com with ChatGPT. Watching one surface tells you little about the others.

## ChatGPT citations and sources

When ChatGPT searches the web, it cites the pages it read, and those pages decide which brands it names. In our study of 2,381 answers to 300 software buyer questions, ChatGPT cited 10 sources per answer on average, led by zapier.com, itechguides.com, rankite.com, dupple.com and techradar.com. It almost never cited YouTube or Reddit (YouTube once and Reddit 3 times in 5,986 citations), while Google's AI Overviews cited YouTube in 85% of their answers.

The API returns every citation in the order ChatGPT gave it, with the page title and a `source_type`, so you can see at a glance whether a brand is named because of its own site, a review site, Reddit or the press.

- **Position** is the order ChatGPT cited the page in, starting at 1.
- **Domain and title** tell you exactly which page it was.
- **Source type** groups pages the same way for every engine, so you can compare ChatGPT with [Google AI Overviews](https://aivisibilityskill.com/api/google-ai-overviews) and [AI Mode](https://aivisibilityskill.com/api/google-ai-mode).

Read the full study: [what AI engines cite when buyers ask what to buy](https://aivisibilityskill.com/guides/what-ai-engines-cite).

## Track brand mentions in ChatGPT over time

ChatGPT searches and samples every time it answers. In our study it never cited exactly the same set of sites twice for the same question (0 of 298), so one check is a sample of one, and a ChatGPT rank tracker has to ask repeatedly and count. Create a project with a brand, its competitors and its buyers' questions, put it on a daily or weekly schedule, and read:

- `GET /v1/projects/{id}/visibility`: how often ChatGPT names the brand, with error bars.
- `GET /v1/projects/{id}/competitors`: each competitor's share of the answers.
- `GET /v1/projects/{id}/sources`: the sites ChatGPT cites for those questions.
- `GET /v1/projects/{id}/history`: all of it over time, by day or week.

Add a webhook and your server hears when each run is done. To check one product by hand instead, see [how to check if ChatGPT recommends your product](https://aivisibilityskill.com/guides/check-if-chatgpt-recommends-your-product).

## Call the ChatGPT API from TypeScript or Python

```ts
import { Aiv } from "@aivisibilityskill/sdk";

const aiv = new Aiv({ apiKey: process.env.AIV_KEY! });

const job = await aiv.checks.create({
  questions: ["best CRM for early-stage startups"],
  engines: ["chatgpt"],
  locale: "en-US",
});
const done = await aiv.jobs.wait(job.id);

for (const answer of done.answers ?? []) {
  console.log(answer.brands?.map((b) => `${b.rank}. ${b.name}`));
  console.log(answer.citations?.map((c) => c.domain));
}
```

```python
import os
from aivisibilityskill import Aiv

aiv = Aiv(api_key=os.environ["AIV_KEY"])

job = aiv.checks.create(
    ["best CRM for early-stage startups"],
    engines=["chatgpt"],
    locale="en-US",
)
done = aiv.jobs.wait(job["id"])

for answer in done["answers"]:
    print([(b["rank"], b["name"]) for b in answer["brands"]])
    print([c["domain"] for c in answer["citations"]])
```

## ChatGPT API pricing

You pay per answer, in credits. Pick the speed per request. A dollar buys 1,000 credits on a pack; monthly and volume plans include more. An answer reused from a recent identical one (`max_age_hours`) costs half, and an answer that fails costs nothing.

ChatGPT answer prices:

| Speed | Ready | Credits | Pay as you go | Business and Enterprise plans | Reused answer |
| --- | --- | --- | --- | --- | --- |
| Batch | Within a few hours | 11 | $0.011 | $0.0069 | 6 credits |
| Standard | Within minutes | 15 | $0.015 | $0.0094 | 8 credits |
| Live | Usually under a minute | 25 | $0.025 | $0.0156 | 13 credits |

Every account gets the same API and every engine, starting with 500 free credits and no card. Volume plans start at $500 a month for 750,000 credits, with invoicing and a [99.5% uptime commitment](https://aivisibilityskill.com/sla): [see volume plans](https://aivisibilityskill.com/volume).

## Countries and languages

Ask ChatGPT from 192 countries and territories, in the buyer's language, with a locale like `en-US`, `de-DE`, `pt-BR` or `ja-JP`. Google AI Overviews, AI Mode and Gemini cover 240. `GET /v1/locales` lists every supported pair for free, and a pair that isn't supported is refused before anything is charged.

## Questions

### What is a ChatGPT scraper API?

An API that asks ChatGPT a question the way a person would in the ChatGPT app and returns the answer as data. aivisibilityskill's returns the answer text, the brands it names in order, every citation with its source type, and the raw response as proof.

### Does it return what users see in ChatGPT, or the OpenAI API's answer?

What users see: the ChatGPT app's answer, with web search on. The OpenAI API gives a model's reply to a developer, which isn't what buyers read on chatgpt.com.

### Does it include ChatGPT's citations and sources?

Yes. Every citation comes back in the order ChatGPT gave it, with the URL, domain, page title and a source type such as review_site, media, reddit or brand_owned.

### Can I see which brands ChatGPT recommends?

Yes. Each answer lists every brand it names, in order of first mention, whether ChatGPT recommends it, the sentiment, and the exact words it used. Facts it states, like prices and plans, come back too.

### How much does the ChatGPT API cost?

11 credits for a batch answer, 15 for standard and 25 for live. That's $0.011 to $0.025 at pay-as-you-go rates and about $0.007 to $0.017 on volume plans. A recent identical answer reused with max_age_hours costs half. Failed answers are never charged.

### How fast is it?

Live answers usually arrive in under a minute, standard ones within minutes, and batch ones within a few hours. You choose per request.

### Can I track my brand in ChatGPT every week?

Yes. Put the questions in a project with a weekly or daily schedule. The API returns how often ChatGPT names the brand, with error bars, competitor share, cited sources and history, and a webhook tells you when each run is done.

### Can I run it for many customers?

Yes. Tag each check with your customer id, read usage per customer, lock keys to one customer, and send up to 20,000 answers in one batch request.

## Related

- [Google AI Overview API](https://aivisibilityskill.com/api/google-ai-overviews): AI Overviews as JSON for any query, with every cited link, and a ready-made AI Overview tracker.
- [Google AI Mode API](https://aivisibilityskill.com/api/google-ai-mode): AI Mode answers and sources as JSON, and how AI Mode differs from AI Overviews and Gemini.
- [Gemini API](https://aivisibilityskill.com/api/gemini): The Gemini app's answer as JSON, and how Gemini differs from ChatGPT and AI Mode.
- [Perplexity API](https://aivisibilityskill.com/api/perplexity): Perplexity's Sonar answers and citations as JSON, read into brands and source types.
- [Claude API](https://aivisibilityskill.com/api/claude): Claude's web search answers as JSON: which brands Claude recommends, and why.
- [Grok API](https://aivisibilityskill.com/api/grok): Grok's answers as JSON, with search across the web and X, read into brands.
- [DeepSeek API](https://aivisibilityskill.com/api/deepseek): DeepSeek's answers as JSON, grounded in DeepSeek's web search, read into brands.
- [AI visibility API](https://aivisibilityskill.com/api): All 8 engines in one call, with builder features and every endpoint.
- [What AI engines cite](https://aivisibilityskill.com/guides/what-ai-engines-cite): 24,258 citations from ChatGPT, Gemini and Google AI, analyzed.
