---
title: "Live Google search results"
method: POST
path: "/v1/data/seo/serp"
tags: ["SEO: Search"]
---

# Live Google search results

`POST /v1/data/seo/serp`

## Request

- Base URL: `https://api.superagnt.com`
- URL: `https://api.superagnt.com/v1/data/seo/serp`
- Auth: API key in header `Authorization`

Runs a live Google search and returns the ranked results: organic listings with position, title, URL and snippet, plus SERP features (featured snippets, people-also-ask, local pack, AI Overviews). AI Overviews often load asynchronously and come back without their cited sources unless you set `load_async_ai_overview`. Use it to check what ranks for a keyword, verify a page's position, or find competitor pages. Default depth is 10 results, which is the cheapest shape and right for most checks; raise `depth` only when you truly need deeper pages, since cost scales per 10 results. Search operators (site:, inurl:, filetype:) work but multiply the upstream cost roughly 5x, so use them deliberately. At default depth this is one of the cheapest calls in the source (well under half a cent), so prefer it for quick spot checks.

## Request body

- object
  - `keyword` string, required: The search query. Supports Google search operators (site:, inurl:, filetype:), which cost roughly 5x.
  - `location_code` integer: Geo target as a location code. Common values: 2840 United States (default), 2826 United Kingdom, 2124 Canada, 2036 Australia, 2276 Germany, 2250 France, 2724 Spain, 2356 India, 2076 Brazil.
  - `language_code` string: Two-letter language code, e.g. 'en' (default), 'de', 'es', 'fr', 'pt'.
  - `device` 'desktop' | 'mobile': Device type to emulate. Default 'desktop'.
  - `depth` integer: Number of results to return, in steps of 10. Default 10 (cheapest). Each additional 10 results bills as one more results page.
  - `load_async_ai_overview` boolean: Set to true to load AI Overviews that Google renders asynchronously, so the `ai_overview` item comes back with its text and cited sources (`markdown`, `items`, `references`). Left off, an async overview still appears, flagged `asynchronous_ai_overview: true`, but with those fields null: you can tell an overview exists, not what it cites. In the default markdown view, the overview row lists its cited sources as `cited_domains`. Adds up to about 0.36 cents per call (roughly double the default-depth price), charged only when an overview actually had to be loaded; the response's `meta.costCents` shows what the call billed. Default false.

## Response `200`

Ranked search results with SERP features. `result[0].items` holds the listings.

- object

## Other responses

- `400`: Bad request or upstream task error.
- `401`: Unauthorized.
- `429`: Too many requests.
- `5XX`: Upstream error.

---

[API](https://skmtc.dev/superagnt/apis/superagnt-api.md) · [All operations](https://skmtc.dev/superagnt/apis/superagnt-api/llms.txt) · [OpenAPI document](https://skmtc.dev/superagnt/apis/superagnt-api/revisions/b2d8de30ccf0?raw)
