Google organic results

by DataForSEO

dataforseo/serp_google_organic_live

Return a parsed Google results page for a query in a given market.

Billed per
call
Price
Price: $0.0024
Provider
DataForSEO
Timeout
3 min

Overview

Runs a live web search and returns the whole results page decomposed into structured elements rather than markup. Beyond the ten blue links it captures the surrounding furniture — featured snippets, related questions, knowledge panels, local packs, ads, video and image blocks, AI overviews — each labelled by type and carrying both its rank among its own kind and its absolute position on the page. The market and language decide which engine edition is queried, so the same query can be compared across countries.

One results page, broken into typed and ranked elements with their titles, URLs, domains, and descriptions.

Input

These go in the input object of the run request.

FieldTypeRequiredDescription
keywordstringYesThe search query to run, up to 700 characters.
location_codeintegerYesWhich market to search from.
language_codestringNoInterface and result language.
depthintegerNoHow many results to parse.
Default: 10
Maximum: 200
devicestringNoWhich device to emulate.
Allowed: desktop, mobile
Default: "desktop"
targetstringNoOnly return results from this domain, written without a scheme or `www`.

Requests up to 1 MB.

Example

Use your own API key and a saved idempotency key for each new job. Replace image or media placeholders with your own publicly reachable HTTPS URLs. Keep the same key and request body when recovering a timeout.

# Set once per job; reuse this key and the identical body after a timeout.
: "${AGENTSKY_IDEMPOTENCY_KEY:?Set a unique, saved key for this job}"
curl --fail-with-body https://gateway.agentsky.dev/v1/run \
  -H "authorization: Bearer $AGENTSKY_API_KEY" \
  -H "content-type: application/json" \
  -H "Idempotency-Key: $AGENTSKY_IDEMPOTENCY_KEY" \
  -d '{"provider":"dataforseo","endpoint":"serp_google_organic_live","input":{"keyword":"agent gateways","location_code":2840,"language_code":"en","depth":20}}'
# If status is READY/RUNNING, poll GET /v1/runs/{runId} with the same API key.

Pricing

$0.0024 per call using your plan when signed in. Reported usage is billed under your account plan. Read the final customer charge from price.amount.value after the run finishes. A RUNNING response is not the final bill.

Questions