Ask ChatGPT
TL;DR
About
A growth lead at a French payroll startup sends "What payroll software should a 20-person company in France use?" from a signed-out browser every Monday and logs which vendors the reply names and which review sites it cites, since those are the pages worth getting listed on. Signed out is the closest thing to a stranger asking, but you get little beyond the reply text and its cited references. A signed-in account adds the model id, every query ChatGPT typed and every page those searches pulled up, though saved memory can shape the reply and the chat is kept in that account's history. Those queries are worth a close read, since one question can fan out into many (a September run typed 9 across 2 search calls). Each run is one question in a fresh chat, and setting mode to work is saved on the account, so your own next chat starts in Work too.
Input
question requiredThe question to send as the first message of a new chat.
Output
calls requiredOne entry per search call. A call often runs a whole round of queries at once and answers one list for all of them. What the page does not receive: which query returned which result, the call's arguments, and which search backend answered it. Empty when it did not search. Null when this run could not see the searches (signed out).
model requiredWhich model answered, by ChatGPT's own id (e.g. "gpt-6"). Null when the app does not say.
answer requiredThe last entry of `answers`. Null signed out: `answers` has its text there.
answers requiredOne entry per reply, usually one; ChatGPT sometimes answers twice and asks which reply you prefer, and neither entry is more official than the other — read the length before reading answers[0]. Signed in, each is ChatGPT's own markdown of the reply, with each citation as a markdown link to its source and widgets (images, forms) left out. Signed out, the reply's text as rendered.
sources requiredEvery page the searches put in front of the model, once each, in the order it got them — the pool the answer could draw on, as opposed to `references`, what it cited. Empty when it did not search. Null when this run could not see the searches (signed out).
searches requiredOne entry per round of web searches, in order: what the model typed and the results put in front of it. Empty when it did not search. Null when this run could not see the searches (signed out).
references requiredEvery source the answer CITED or linked — not everything the search retrieved (that is `sources`) — deduplicated by url and in the order the answer surfaced them. Empty when the answer cited nothing, which is a fact about that reply: the same question searches on one run and not the next. Null when this run could not see the citations (signed out): unknown, not none.
stopReason requiredWhy generation ended, as ChatGPT records it: "stop" for an answer the model finished. Null when ChatGPT records no reason, and signed out. A finished answer can still be only a sentence announcing work it never did; that is what the model returned, not a truncation.
searchContext requiredWhat the server says about this turn, as sent to the page. Every field is null signed out, and a field is null when the app did not send it.
conversationId requiredThe conversation's id. Null if the app did not create one.
webSearchQueries requiredThe searches ChatGPT issued, in order. Empty when the reply did not search. Null when this run could not see the searches (signed out).
Example output
Shape only: placeholder values generated from the output schema, not a real run.
{
"calls": [
{
"call": 3,
"tool": "…",
"results": [
{
"ref": "…",
"url": "https://example.com/item/123",
"rank": 3,
"type": "…",
"title": "Example",
"pubDate": "2026-01-15T09:30:00Z",
"snippet": "…",
"attribution": "…",
"thumbnailUrl": "https://example.com/item/123"
}
]
}
],
"model": "…",
"answer": "…",
"answers": [
"…"
],
"sources": [
{
"url": "https://example.com/item/123",
"title": "Example",
"attribution": "…"
}
],
"searches": [
{
"queries": [
"…"
],
"results": [
{
"ref": "…",
"url": "https://example.com/item/123",
"type": "…",
"title": "Example",
"pubDate": "2026-01-15T09:30:00Z",
"attribution": "…"
}
]
}
],
"references": [
{
"url": "https://example.com/item/123",
"title": "Example",
"attribution": "…"
}
],
"stopReason": "…",
"searchContext": {
"tool": "…",
"useCase": "…",
"toolInvoked": true,
"locationUsed": "…",
"clusterRegion": "…",
"locationIsPrecise": true
},
"conversationId": "abc123",
"webSearchQueries": [
"…"
]
}