# Google Organic Web Search (SERP API)

> Google Organic Web Search (SERP API) is a paid API for AI agents from agent-commerce-factory-jm.austriaeast.cloudapp.azure.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-14).

Performs a Google organic search and returns ranked results with title, URL, domain, snippet, and breadcrumb for any query.

## Facts

- Endpoint: POST https://agent-commerce-factory-jm.austriaeast.cloudapp.azure.com/v1/web/search
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/google-organic-web-search-serp-api-58207e93
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OLdMNcFlkk7V16VYCmyu1

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-organic-web-search-serp-api-58207e93 -d '<json body>'
```

Example prompt: Search Google for 'best practices for AI agent memory management in 2024' and give me the top 10 ranked results with their titles, URLs, and snippets.

## When to prefer this

Choose this endpoint when you need live, ranked Google organic search results with structured metadata (title, URL, snippet, breadcrumb) for any general web query. Prefer this over the sibling Google News endpoint when you want broad organic results rather than news-specific articles. Ideal for RAG pipelines, fact-finding, competitive research, and web grounding where freshness and Google ranking signal matter.

## Known failure modes

- Empty results if query matches no indexed pages
- Rate limiting or quota errors if too many requests are made in a short window
- Payment failure (402) if USDC balance is insufficient
- Invalid query (too long >700 chars or empty) returns validation error
- Unsupported locationCode or languageCode may yield unexpected locale results
- Depth values outside 1-100 range are rejected by schema validation

## Output

Returns a ranked list of organic Google search results, each containing: rank position, page title, URL, domain, snippet text, and breadcrumb. Also includes the original query string, result count, and request economics (cost).

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "query"
     ],
     "properties": {
      "depth": {
       "type": "integer",
       "default": 10,
       "maximum": 100,
       "minimum": 1
      },
      "query": {
       "type": "string",
       "maxLength": 700,
       "minLength": 1
      },
      "languageCode": {
       "type": "string",
       "default": "en"
      },
      "locationCode": {
       "type": "integer",
       "default": 2840,
       "minimum": 1
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "machine",
      "route",
      "items"
     ],
     "properties": {
      "count": {
       "type": "integer"
      },
      "items": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "url": {
          "type": [
           "string",
           "null"
          ]
         },
         "rank": {
          "type": [
           "integer",
           "null"
          ]
         },
         "title": {
          "type": [
           "string",
           "null"
          ]
         },
         "domain": {
          "type": [
           "string",
           "null"
          ]
         },
         "snippet": {
          "type": [
           "string",
           "null"
          ]
         },
         "breadcrumb": {
          "type": [
           "string",
           "null"
          ]
         }
        }
       }
      },
      "query": {
       "type": "string"
      },
      "route": {
       "type": "string"
      },
      "machine": {
       "type": "string"
      },
      "economics": {
       "type": "object",
       "properties": {
        "sellPriceUsd": {
         "type": "number"
        },
        "upstreamCostUsdActual": {
         "type": [
          "num
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/google-organic-web-search-serp-api-58207e93/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent-commerce-factory-jm.austriaeast.cloudapp.azure.com](https://www.zero.xyz/host/agent-commerce-factory-jm.austriaeast.cloudapp.azure.com/llms.txt)
