# botsmith Google SERP Search

> botsmith Google SERP Search is a paid API for AI agents from x402.botsmith.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Returns Google search results as clean JSON (title, URL, domain, snippet, rank) for a given query, with optional location targeting and result count control.

## Facts

- Endpoint: GET https://x402.botsmith.dev/serp/search
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/botsmith-google-serp-search-c5da9a60
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dm2x3-khK4WZX8lsKfBRs

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 botsmith-google-serp-search-c5da9a60
```

Example prompt: Search Google for 'best electric cars 2025' and give me the top 10 results including their titles, URLs, and snippets — US location.

## When to prefer this

Choose this endpoint when you need clean, structured Google SERP data without managing a Google API key or quota, especially when you need per-call pay-as-you-go pricing at $0.005. Prefer it over raw web scrapers when you want normalized JSON output (title, URL, domain, snippet, rank) with location targeting. Best suited for agents doing research, competitive analysis, or real-time information lookup via Google's index.

## Known failure modes

- Empty results array if the query returns no organic results
- Null values for title, URL, domain, or snippet on individual results if Google omits them
- Invalid or unsupported location_code returns results defaulting to US or an error
- Query exceeding 400 characters rejected at input validation
- num parameter outside 1-20 range rejected
- Payment failure if USDC balance is insufficient for the $0.005 call fee

## How this service works

Google SERP Search ($0.005/call): Google search results as clean JSON (title, URL, domain, snippet, rank) - one page per call. No API key needed.

## Output

A JSON object containing the original query string, total results count Google reports, and an array of up to 20 organic results each with position (rank), title, URL, domain, and snippet. Results are ordered by rank ascending.

## 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",
      "location_code",
      "num"
     ],
     "properties": {
      "num": {
       "type": "integer",
       "default": 10,
       "maximum": 20,
       "minimum": 1,
       "description": "How many organic results (max 20)"
      },
      "query": {
       "type": "string",
       "maxLength": 400,
       "minLength": 1,
       "description": "Search query, plain Google syntax"
      },
      "location_code": {
       "type": "integer",
       "default": 2840,
       "maximum": 9007199254740991,
       "minimum": -9007199254740991,
       "description": "DataForSEO location code (default 2840 = United States)"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "query",
      "resultsCount",
      "results"
     ],
     "properties": {
      "query": {
       "type": "string"
      },
      "results": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "position",
         "title",
         "url",
         "domain",
         "snippet"
        ],
        "properties": {
         "url": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ]
         },
         "title": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ]
         },
         "domain": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ]
         },
         "snippet": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ]
         },
         "position": {
          "type": "integer",
          "maximum
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/botsmith-google-serp-search-c5da9a60/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.botsmith.dev](https://www.zero.xyz/host/x402.botsmith.dev/llms.txt)
