Core concepts
Targets and output schemas
Five target IDs and their provider-specific response shapes.
Send supported API IDs in targets. Public page names are not API IDs. Availability depends on provider behavior and deployed configuration.
| Target ID | Collected output |
|---|---|
| Google Search modules and AI Overview when present; aioverview can be null. | |
| google_news | News-tab results and a distinct topNews list under googleNews. |
| chatgpt | Answer text, markdown, page URL, and source links. |
| gemini | Answer text, markdown, page URL, and source links. |
| perplexity | Answer text, markdown, page URL, and source links. |
Country routing
options.country is a supported two-letter country code, normalized to uppercase. Confirm deployed routing and supported countries with the team. Country routing is not a guarantee of locale, language, or identical provider responses. There is no language request field. Perplexity may require operator-configured sessions; Gemini can fail at a login wall.
Chatbot response object
{
"runNumber": 1,
"runTaskId": "9a7536e7-b610-420a-a34c-5f829956f4d3",
"status": "completed",
"capturedAt": "2026-10-09T10:01:00.000Z",
"text": "Illustrative captured answer text.",
"markdown": null,
"pageUrl": "https://chatgpt.com/",
"sources": []
}text, markdown, and pageUrl can be null. sources is an array of title/url pairs and may be empty. A successful response carries its runNumber, runTaskId, capturedAt, and completed status.
Google Search response object
{
"runNumber": 1,
"runTaskId": "7f5c0888-f5ad-4661-b07b-79fbbe1c7b31",
"status": "completed",
"capturedAt": "2026-10-09T10:01:00.000Z",
"pageUrl": "https://www.google.com/search?q=example",
"aioverview": null,
"serp": {
"organic": [
{
"position": 1,
"snippet": "Illustrative search result summary.",
"title": "Illustrative CRM comparison",
"url": "https://example.com/crm-comparison"
}
],
"peopleAlsoAsk": [],
"shopping": [],
"sponsored": []
}
}The output spelling is aioverview. An absent AI Overview is null, not a collection failure. serp can also be null; its organic, sponsored, shopping, and peopleAlsoAsk arrays may be empty. Positions are one-based within each module. AI Overview content, when present, contains text, markdown, sources, and aiOverviewCards.
Google News response object
{
"runNumber": 1,
"runTaskId": "53b39f0d-9576-44d6-a796-45dbfbfcdbf3",
"status": "completed",
"capturedAt": "2026-10-09T10:01:00.000Z",
"pageUrl": "https://www.google.com/search?q=example&tbm=nws",
"googleNews": {
"results": [
{
"position": 1,
"publishedAt": "2 hours ago",
"publisher": "Example Publisher",
"snippet": "Illustrative article summary.",
"title": "Illustrative article title",
"url": "https://example.com/article"
}
],
"topNews": []
}
}publishedAt is a provider-extracted string such as "2 hours ago", not a normalized ISO timestamp. topNews and results remain separate. These results do not include screenshots or debug traces.