Skip to main content
POST
Monitor ChatGPT Responses

Overview

The ChatGPT endpoint extracts structured data from ChatGPT with features including shopping cards, brand entities, map entries, raw response data, and query fan-out. Useful for e-commerce tracking, local business monitoring, and detailed analysis.
Web search enabledThis endpoint automatically enables ChatGPT’s web search mode for all requests, so responses include current information from the web with source citations.

Unique features

  • Sources: Sources include publication dates and footnote indicators for distinguishing primary from secondary references
  • Shopping cards: Extracts structured product information with pricing, ratings, offers, and commercial details
  • Inline products: Individual product references with pricing, offers, and rendering hints for inline display
  • Entity extraction: Identifies and extracts named entities like products, brands, and concepts mentioned in responses
  • Map entries: Extracts business and place information including ratings, reviews, contact details, and location data
  • Citation pills: Captures inline citations with metadata including labels, descriptions, domains, and publication dates
  • Ads: Extracts structured ad information including advertiser branding and product carousel cards
  • Raw response access: Includes the full streaming response payload for debugging
  • Query fan-out insights: Reveals the query fan-out ChatGPT used to generate responses

Request parameters

Uses common parameters. All ChatGPT-specific include.* flags are listed in the auto-generated request schema below.
Additional credit costEnabling any of include.rawResponse, include.searchQueries, include.ads, or include.shopping (or any combination) adds +2 credits to the base cost.

Response objects

The response includes the following sections. See each subpage for the full schema and examples.

Response schema

Includes common response fields plus:

Common questions

How does cloro retrieve ChatGPT responses?

cloro does not call the ChatGPT API. Each request runs through a real browser session against ChatGPT’s web interface, routed through a proxy in the country (and, where supported, state) you specify, with web search enabled. The structured fields under result.* are extracted from that page, and the raw streaming SSE events are available via include.rawResponse: true. See How does cloro retrieve data from AI providers? for the full explanation and implications (model routing, auth walls, geo behaviour).

Can I get the search queries that ChatGPT uses?

Yes, you can get the actual search queries (fan-out queries) that ChatGPT uses internally by setting include.searchQueries: true in your ChatGPT requests. The same flag also returns result.mapSearchQueries: the queries ChatGPT sends to the maps tool to build the map block, which are separate from the web-search fan-out in result.searchQueries.

Are query fan-outs available for all ChatGPT responses?

ChatGPT uses gpt-5-3 and gpt-5-3-mini that include fan-out queries; newer models may not include explicit fan-outs. ChatGPT automatically selects which model to use for each request, so we cannot control the presence of query fan-outs.

Are query fan-outs available for other providers?

For a complete comparison of query fan-out support across all providers, see the Providers & pricing guide.

Why is a fan-out query a single long string instead of separated keywords?

This is expected behaviour. ChatGPT’s search model decides the shape of each fan-out query, and it often emits a single long natural-language query rather than a comma-separated keyword list. The length and structure vary between runs, even for the same prompt, and cloro returns the queries exactly as ChatGPT generates them without reformatting. Community write-ups such as this LinkedIn post by Stefan Landwehr document the same behaviour.

Why aren’t shopping cards appearing in my responses?

Shopping cards only appear when the prompt is related to products or shopping:
Not all shopping queries will return shopping cards. It depends on what ChatGPT finds and how it formats the response.

Which providers support shopping cards?

For a complete comparison of shopping card support across all providers, see the Providers & pricing guide.

My non-English prompts are returning English fan-out queries. Is that expected?

Yes. When you submit a non-English prompt, ChatGPT may still generate some or all of its internal search queries (result.searchQueries) in English. A roughly 50/50 English/local-language split has been observed for non-English prompts. This is upstream ChatGPT behavior — cloro returns the queries exactly as ChatGPT generates them. If you’re using fan-out for multilingual GEO monitoring, filter or group by query language as needed.

What’s the difference between shopping cards and inline products?

Shopping cards are grouped collections of products displayed together (like a carousel):
  • Contain multiple products
  • Include category tags
  • For browsing multiple options
Inline products are individual product references:
  • Single product per entry
  • Include pricing, offers, images, and ratings
  • Can be embedded inline in text, comparison tables, or featured displays
  • Have rendering hints (inline, hero, block)
Both are extracted only when include.shopping: true is set in the request.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request parameters for monitoring ChatGPT responses

prompt
string
required

The prompt to send to ChatGPT

Required string length: 1 - 10000
Example:

"What do you know about Acme Corp?"

country
string
required

Country/region code for localized response

Example:

"US"

include
object

Optional flags for including additional response formats

Example:
state
string

State code for sub-country geo-targeting (e.g., "CA"). Only valid with country "US".

Required string length: 2
Pattern: ^[A-Z]{2}$
Example:

"CA"

Response

successful ChatGPT monitoring response

success
boolean
required
Example:

true

result
object
required

ChatGPT's response data