Documentation

SERP API

Run live Google searches over a REST API. Get the top 100 organic results, AI Overviews, and SERP features for any keyword, with precise geo and device targeting.

What it does

The SERP API crawls Google in real time and returns structured search results. Give it a keyword and a location; it resolves the right country, language, and geo-targeting, runs the search from a residential IP, and returns parsed organic results plus AI Overview and SERP-feature blocks.

  • Up to 100 organic results per keyword (10 pages), ranked by Google position.
  • AI Overview text and cited source domains, captured on page one.
  • SERP features: featured snippet, people-also-ask, related searches, local pack, knowledge panel, inline images/videos, top stories, shopping, and sitelinks.
  • Geo targeting by locality, plus desktop / mobile / tablet device profiles.
  • Output as SerpApi-compatible JSON, a native JSON schema, or the raw assembled HTML.

How it works

A search is a two-step, job-based flow. You submit a search and receive a job_id; the crawl runs asynchronously; you then poll for the result in the format you want.

the flow
1.  POST /v1/search          -> { "job_id": "...", "status": "queued" }
2.  (crawl runs on the worker fleet: geo resolve -> crawl -> parse)
3.  GET  /v1/search/{job_id}  -> poll until status is "done" or "partial"

For low-latency callers, a search can also run synchronously (the request blocks until the crawl finishes or a timeout elapses). See Submit a search.

Base URL & a first request

All endpoints live under one base URL. Every request is authenticated with an X-API-Key header.

base url
https://serp-api.hoangha.shop
curl
curl -X POST https://serp-api.hoangha.shop/v1/search \
  -H "X-API-Key: sk_..." \
  -H "Content-Type: application/json" \
  -d '{"keyword": "best running shoes", "location": "Hanoi, Vietnam"}'

No account yet?

You can try the crawler with no signup on the free SERP check. For programmatic access, create an account and mint an API key.

Compatibility

The output=serpapi format mirrors SerpApi’s field names (organic_results, answer_box, related_questions,ai_overview, …), so existing SerpApi integrations can point here with minimal code change. A native JSON schema and the raw HTML are also available. See Retrieve results.