Capture the answer ChatGPT gives for a query — including its sources, entity mentions, shopping cards, and ads — and receive it in the same canonical Envelope every surface returns.
Captures come from the real ChatGPT app in a live browser, not a model API. You get what a person would actually see.
FieldValue
Surface enumchatgpt
Credits per capture5 (charged only on success)
Alias endpointPOST /v1/search/chatgpt (sync)

Capture ChatGPT

With POST /v1/search

Pass surfaces: ["chatgpt"]. By default this is async: you get a 202 with a parent jobId and one child per surface × region. See Asynchronous.
curl -X POST https://api.aisearchapi.dev/v1/search \
  -H "Authorization: Bearer $AISEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "best noise-cancelling headphones under $300",
    "surfaces": ["chatgpt"],
    "regions": [{ "country": "US" }]
  }'
Fetch the child Envelope once it’s done with GET /v1/jobs/job_8t2q.chatgpt.us. To get the Envelope inline for a single surface, add ?mode=sync (or send header Prefer: wait). See Synchronous.

With the alias POST /v1/search/chatgpt

The per-surface alias is sync by default and returns the Envelope inline as 200. It accepts prompt (an alias of query) and a flat country.
curl -X POST https://api.aisearchapi.dev/v1/search/chatgpt \
  -H "Authorization: Bearer $AISEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "best noise-cancelling headphones under $300",
    "country": "US"
  }'

Request fields

query
string
required
The prompt to run, 1–10000 characters. On the alias endpoint you may send prompt instead.
surfaces
string[]
required
For this page, ["chatgpt"]. Only used with POST /v1/search — the alias infers the surface from the path.
regions
object[]
{ country, city?, language? }[]. country is an ISO-3166 alpha-2 code. Defaults to [{ "country": "US" }]. See Regions.

The Envelope

ChatGPT returns the same canonical Envelope as every other surface — one parser handles them all. Below it’s trimmed to the sections ChatGPT commonly populates: answer, evidence.sources, evidence.mentions, evidence.shopping, and evidence.ads. For the full schema, see Output formats.
Envelope (trimmed)
{
  "job": { "id": "job_8t2q.chatgpt.us", "status": "completed" },
  "provenance": {
    "model": {
      "providerId": "openai",
      "observedLabel": "GPT-4o",
      "inferred": false,
      "confidence": 0.98
    },
    "surfacePresent": true,
    "region": { "requested": { "country": "US" }, "effective": { "country": "US" } }
  },
  "answer": {
    "text": "For under $300, the Sony WH-1000XM5 and Bose QuietComfort Ultra lead on noise cancellation...",
    "markdown": "For under $300, the **Sony WH-1000XM5** and **Bose QuietComfort Ultra** lead on noise cancellation...",
    "blocks": [
      {
        "type": "paragraph",
        "text": "The Sony WH-1000XM5 offers class-leading ANC.",
        "referenceIds": ["src_1"]
      }
    ]
  },
  "evidence": {
    "sources": [
      {
        "id": "src_1",
        "url": "https://www.rtings.com/headphones/reviews/sony/wh-1000xm5-wireless",
        "title": "Sony WH-1000XM5 Review",
        "role": "citation",
        "cited": true,
        "charRanges": [[0, 41]],
        "quote": "class-leading active noise cancellation"
      }
    ],
    "mentions": ["Sony WH-1000XM5", "Bose QuietComfort Ultra"],
    "shopping": [
      {
        "title": "Sony WH-1000XM5 Wireless Headphones",
        "url": "https://example-retailer.com/sony-wh1000xm5",
        "price": "$298.00",
        "seller": "Example Retailer"
      }
    ],
    "ads": [
      {
        "title": "Premium ANC Headphones — 20% Off",
        "url": "https://example-advertiser.com/headphones",
        "advertiser": "Example Advertiser"
      }
    ]
  }
}
answer.text
string
Plain-text answer.
answer.markdown
string
Markdown rendering of the answer. Always populated.
answer.blocks
object[]
Structured blocks. Each block’s referenceIds point at entries in evidence.sources.
evidence.sources
object[]
{ id, url, title, role, cited, charRanges, quote }. The citations ChatGPT surfaced for the answer.
evidence.mentions
string[]
Entities named in the answer.
evidence.shopping
object[]
Product cards shown alongside the answer.
evidence.ads
object[]
Sponsored placements shown alongside the answer.
If ChatGPT returns nothing for a query, provenance.surfacePresent is false and a surface_absent warning is attached. The job still completes with an empty answer — absence is a valid result.
Because the Envelope is identical across surfaces, code written for ChatGPT works unchanged for Claude, Perplexity, Gemini, and the rest. See Output formats.

Search reference

Full request and response schema for POST /v1/search.

Output formats

The canonical Envelope every surface returns.