---
title: "Scrape a Google search SERP for organic + ad results"
method: POST
path: "/serpApi"
tags: ["Scraping"]
---

# Scrape a Google search SERP for organic + ad results

`POST /serpApi`

## Request

- Base URL: `https://api.scrapeunblocker.com`
- URL: `https://api.scrapeunblocker.com/serpApi`
- Auth: API key in header `x-scrapeunblocker-key`

Runs a Google web search for `keyword` and returns a normalized JSON structure with `topAds`, `bottomAds`, `organic` results, `totalResults`, `aiOverview` (Google's AI-written summary and the hostnames it cites, or `null` when the search has none), and the proxy country actually used. Set `pages_to_check` 1-10 to paginate. `wait_after_load` adds a delay after the SERP loads (useful for sites where ads render late); `captcha_pause` lets you eyeball / solve a CAPTCHA when running interactively.

## Query parameters

- `keyword` string, required
- `proxy_country` string
- `pages_to_check` integer
- `wait_after_load` integer
- `captcha_pause` integer

## Response `200`

JSON with organic/ads/totals.

- unknown

## Other responses

- `403`: Google CAPTCHA after retries with different proxies — try another `proxy_country`.
- `422`: Validation Error
- `504`: SERP fetch timed out.

---

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