Skip to content

Response shape

A successful search returns 200 with a JSON object:

{
"search": "mount everest",
"page": 1,
"knowledgeGraph": {
"title": "Mount Everest",
"description": "Earth's highest mountain above sea level…",
"attributes": { "Elevation": "8,849 m", "First ascent": "1953" }
},
"organic": [
{
"position": 1,
"title": "Mount Everest - Wikipedia",
"link": "https://en.wikipedia.org/wiki/Mount_Everest",
"snippet": "Mount Everest is Earth's highest mountain…",
"sitelinks": [{ "title": "Height", "link": "https://…" }]
}
],
"ads": [
{ "position": 1, "title": "Everest Treks", "link": "https://…", "block": "top" }
],
"peopleAlsoAsk": ["How tall is Mount Everest?"],
"relatedSearches": [{ "query": "k2 mountain" }],
"stats": { "balance": 9988, "cost": 6, "cached": false }
}
FieldTypeNotes
searchstringThe query that was executed.
pageintegerThe page returned (1-indexed).
organicarrayRanked organic results.
adsarray?Sponsored results, when present.
knowledgeGraphobject?The Google entity panel, when present.
peopleAlsoAskstring[]?”People also ask” questions.
relatedSearchesarray?”People also search for”.
statsobject?Billing info — see Pricing.

position, title, link, snippet, optional date, and optional sitelinks[] { title, link }.

When you request scrape, each result may also carry: content (page markdown), screenshot_url (48h presigned URL), or scrape_error (why that page couldn’t be fetched — not billed). A standalone POST /v1/scrape returns the same content / screenshot_url shape for a single URL.

position, title, link, optional displayedLink, optional snippet, block ("top" or "bottom"), and optional sitelinks[].

title, optional imageUrl, description, descriptionSource, descriptionLink, and an attributes map of key/value facts.

For the exhaustive, always-current schema (including every error shape), see the API reference, generated from the OpenAPI contract.