# Google Search SERP API (x402atlas)

> Google Search SERP API (x402atlas) is a paid API for AI agents from websearch.use.x402atlas.com, paid per call via x402, $0.108/call, status unknown (last checked 2026-10-12).

Performs a Google search and returns structured SERP results (title, URL, snippet, position) as clean JSON, scoped by country and language.

## Facts

- Endpoint: GET https://websearch.use.x402atlas.com/google-search?utm_source=zero.xyz
- Price: $0.108/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/google-search-serp-api-x402atlas-91a74ee1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_27GmRIFWVxxQemrQBZM6p

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability google-search-serp-api-x402atlas-91a74ee1
```

Example prompt: Search Google for 'best electric vehicles 2025' and give me the top 10 results scoped to the United States in English — return the title, URL, and snippet for each.

## When to prefer this

Choose this endpoint when you need structured, ranked Google SERP results as JSON with per-result position, title, URL, and snippet — especially when country or language scoping is important. Prefer this over generic web-scraping endpoints when you want clean, agent-ready output without HTML parsing. It is ideal for research agents, competitive intelligence, news monitoring, and any workflow where Google's ranking signal matters.

## Known failure modes

- Invalid or unrecognised country code — request rejected before search runs
- Malformed language code (not matching ISO 639-1 pattern) — request rejected
- Query string exceeds 400 characters — validation error
- num_results out of range (< 1 or > 20) — validation error
- Payment failure (insufficient USDC balance) — 402 response
- Google search returns no results for niche queries — empty results array
- Rate limiting or upstream Google service unavailability

## How this service works

Perform a Google search and return structured results. Returns title, URL, snippet, position for each result. Google search SERP results for AI agents: organic results as clean JSON, scoped by country (ISO 3166) and language (ISO 639-1), up to 20 results per call.

## Output

A JSON object containing the echoed query, timestamp (queried_at), optional resolved country code, and an array of up to 20 result objects each with position (integer rank), title, URL, and snippet. Optionally includes a note field on sample/empty-query responses.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "query"
     ],
     "properties": {
      "query": {
       "type": "string",
       "maxLength": 400,
       "description": "Search query"
      },
      "country": {
       "type": "string",
       "maxLength": 64,
       "description": "Country to scope results to, as an ISO 3166-1 alpha-2 code (MX), alpha-3 code (MEX), numeric code (484), or exact country name (Mexico). \"UK\" is accepted as an alias for GB. Unrecognised values are rejected before the search runs rather than silently ignored. Omit for unscoped global results."
      },
      "language": {
       "type": "string",
       "pattern": "^[A-Za-z]{2}(-[A-Za-z]{2})?$",
       "description": "Language for results, as an ISO 639-1 code (\"en\"), optionally with a region (\"pt-BR\"). Validated for shape and rejected before the search runs if malformed, rather than silently ignored. Omit for Google's default."
      },
      "num_results": {
       "type": "integer",
       "default": 10,
       "maximum": 20,
       "minimum": 1,
       "description": "Number of results (default 10, max 20)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "queried_at",
      "query",
      "results"
     ],
     "properties": {
      "note": {
       "type": "string",
       "description": "Present only on a sample response (empty/omitted query): a hint to pass a real query. The paid request ran; no search was made."
      },
      "query": {
       "type": "string",
       "description": "Echoed search query (trimmed)"
      },
      "country": {
       "type": "string",
       "description": "Resolved ISO 3166-1 alpha-2 code the results were scoped to, upper-case; absent when unscoped"
      },
      "results": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "position",
         "title",
         "url",
         "s
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/google-search-serp-api-x402atlas-91a74ee1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from websearch.use.x402atlas.com](https://www.zero.xyz/host/websearch.use.x402atlas.com/llms.txt)
