surfaces: ["google_search"]

A Google SERP API built for the AI-answer era.

Classic SERP APIs return blue links. This surface exists for the layer above them: we render the real Google results page in a browser and return it as the same Envelope as ChatGPT or an AI Overview, any answer-bearing module as the answer, with an opt-in proof-of-page HTML snapshot of the rendered page available on request. One contract for the whole answer stack.

Credit cost
3 credits / successful capture
Regions
any ISO country
Capture method
capture: browser
POST /v1/search
curl -sS -X POST "https://api.aisearchapi.dev/v1/search" \
  -H "Authorization: Bearer $AISEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "best ai search visibility tools",
    "surfaces": ["google_search"],
    "regions": [{ "country": "US", "city": "Seattle" }]
  }'
# → 202 { "jobId": "…", "children": ["….google_search.…"] }
# then poll GET /v1/jobs/:childId, or add ?mode=sync for an inline Envelope

What a Google Search capture returns.

One canonical Envelope, the same four sections every surface returns, with the fields Google Search actually populates. Field names below are the contract, not a summary.

answer.text · answer.markdown

Normalized text from the answer-bearing modules the rendered page showed; empty (with surfacePresent:false) when the SERP had no answer module, never fabricated.

answer.markdown (inline results)

Where the page surfaced an answer with links, they come through inline in the markdown, ready for your own extraction.

provenance.region

Requested-vs-effective country, rankings are geo-sensitive, and the Envelope proves which market you actually measured.

provenance.surfacePresent

Whether the page carried an answer module at all, recorded honestly rather than fabricated.

html (opt-in proof-of-page)

Set include.html:true and the Envelope carries a top-level html URL — a proof-of-page snapshot of the real rendered SERP, fetchable at GET /v1/artifacts/{key}, not a re-serialized guess. Off by default.

Envelope excerpt, google_search
{
  "job": {
    "id": "job_7a25c8e3.google_search.US",
    "surface": "google_search",
    "status": "completed",
    "warnings": []
  },
  "provenance": {
    "surfacePresent": true,
    "region": { "requested": "US", "effective": "US" }
  },
  "answer": { "text": "…", "markdown": "…", "blocks": [ … ] }
}

Cost and regions, on the record.

Classic Google results captured live, the SERP context behind the AI answers.

Phase-2 surfaces are roadmap, not product. Requesting one returns an honest 422 today. The full picture is on the coverage page.

cost: 3 credits (charged on success only)free tier: 500 credits, pricing
regions:USGBDEFRCAAUINJPBR+ optional city & language

Google Search capture, asked precisely.

How is this different from SerpApi-style SERP APIs?

Two ways. First, it is a real browser render, the page a user sees, not a parsed cache. Second, it shares one Envelope contract with our AI-surface captures (ChatGPT, Perplexity, AI Overviews), so the SERP context and the AI answers above it are diffable with the same parser.

Does google_search include the AI Overview?

The rendered page is captured whole, but if the Overview block is your target, use the dedicated google_ai_overview surface. It extracts the Overview and its citation set specifically, with absence-is-data semantics. Many teams request both surfaces in one call.

Can I target a city, not just a country?

Yes, regions accept { country, city?, language? }. Naming a city biases the capture toward that metro (best-effort, surface-dependent), and provenance records requested-vs-effective geo so you can verify it.

What does a capture cost?

Credit costs are published per surface on the pricing page; like every surface, google_search is charged only on a successful capture and every Envelope field is included with no per-field surcharge.

Why capture the classic SERP at all if I care about AI answers?

Because the SERP is the control group. The rendered page is captured whole, so whether your brand shows up in the classic results but is absent from the AI Overview above them, or the reverse, is observable from the same capture, and both captures share one contract.

Capture Google Search in one request.

500 free credits, charged only on success, and the same Envelope for every other surface when you add them.