Response format
The data payload of a SERP response (from live search or a completed task)
uses these fields:
| Field | Type | Notes |
|---|---|---|
keyword | string | The query that was searched. |
search_engine | "google" | Always google today. |
search_engine_domain | string | e.g. google.com, google.co.uk. |
device | desktop | mobile | Device the SERP was rendered for. |
location | { code, name } | Resolved location. |
language | { code, name } | Resolved language. |
result_url | string | The Google URL that was fetched. |
fetched_at | string (ISO 8601) | When the SERP was captured. |
total_results_count | integer | Google’s reported total, when present. |
pages_crawled | integer | SERP pages fetched. |
items_count | integer | Number of items in items. |
feature_types | string[] | Distinct SERP feature types present. |
spelling | object | null | Spelling correction/suggestion, if any. |
items | array | The SERP items (see below). |
tracked_rank | object | null | Present when track was requested — see rank tracking. |
Every entry in items is a typed SERP element discriminated by type
(e.g. organic, paid, local_pack, people_also_ask). All items share a
ranking triplet:
| Field | Meaning |
|---|---|
type | The feature type. |
rank_absolute | Position across the whole SERP (1 = top element). |
rank_group | Position within the item’s own type group. |
page | Which SERP page the item appeared on. |
Organic item example
Section titled “Organic item example”{ "type": "organic", "rank_group": 1, "rank_absolute": 3, "page": 1, "domain": "nike.com", "title": "Nike Running Shoes", "description": "Shop the latest running shoes …", "url": "https://www.nike.com/running", "breadcrumb": "nike.com › running", "highlighted": ["running", "shoes"], "rating": { "rating_type": "AggregateRating", "value": 4.6, "votes_count": 1203, "rating_max": 5 }}Field availability varies by type — see the full list of feature types.
Formats
Section titled “Formats”The format request field controls which items appear:
advanced(default) — every parsed feature type.standard— organic, paid, and featured-snippet items only; items are re-ranked over the filtered subset. Use this when you only care about the classic “ten blue links” plus ads.
HTML format
Section titled “HTML format”With format: "html", data instead contains the raw page HTML:
{ "keyword": "coffee shops", "search_engine": "google", "search_engine_domain": "google.com", "device": "desktop", "location": { "code": 2840, "name": "United States" }, "language": { "code": "en", "name": "English" }, "result_url": "https://www.google.com/search?q=coffee+shops", "fetched_at": "2026-07-02T12:00:00.000Z", "pages": [ { "page": 1, "html": "<!doctype html>…" } ]}