# AgentUtility Web Search (Decodo/GDELT)

> AgentUtility Web Search (Decodo/GDELT) is a paid API for AI agents from x402.agentutility.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-13).

Returns ranked Google web search results via Decodo, with a GDELT-based fallback for recent public news when the primary quota is exhausted

## Facts

- Endpoint: POST https://x402.agentutility.ai/search
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentutility-web-search-decodo-gdelt-bfce5398
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0bCzQn_4yVGf59gC55YR_

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 agentutility-web-search-decodo-gdelt-bfce5398 -d '<json body>'
```

Example prompt: Search the web for the latest news about OpenAI's new model releases and give me the top 10 ranked results.

## When to prefer this

Choose this endpoint when you need ranked web search results quickly and cheaply ($0.006/call) without needing to fetch or parse full page content. It is ideal for discovering relevant URLs and reading snippets, as a first-pass research step before deciding which pages to scrape. Prefer it over scrape-to-json or answer-web when you do not need synthesized answers or full page text — just ranked links and summaries. It is well-suited for agents that need to do many searches per session cost-effectively.

## Known failure modes

- Primary quota exceeded — returns GDELT fallback results marked as degraded, limited to news within 168 hours
- No results found for the query — empty result list returned
- Invalid query format — may return an error or empty results
- Network timeout — transient failure, retry recommended
- Payment/x402 authorization failure — request rejected before processing

## How this service works

Returns ranked Decodo Google web results. If primary search is quota-limited, a best-effort fallback returns marked degraded recent public-news results from GDELT (https://www.gdeltproject.org/); fallback recency is capped at 168 hours for month, year, and any. Use it as a low-cost web-search API; for fetched page text or cited synthesis, use scrape-to-json or answer-web.

## Output

A ranked list of web search results, each containing a title, URL, and snippet. Results are sourced from Decodo (Google-backed) when quota is available. If the primary quota is exhausted, a degraded fallback response is returned using GDELT public news data, capped at results from the last 168 hours, and marked as degraded.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "POST"
     ]
    },
    "bodyType": {
     "type": "string",
     "enum": [
      "json",
      "form-data",
      "text"
     ]
    },
    "body": {
     "properties": {
      "query": {
       "type": "string",
       "description": "Search query or research question. 1-500 chars."
      },
      "num_results": {
       "type": "number",
       "description": "Number of results to return. Default 10, max 20."
      },
      "limit": {
       "type": "number",
       "description": "Alias for num_results. If both are supplied, num_results wins."
      },
      "include_text": {
       "type": "boolean",
       "description": "Accepted for compatibility. This route always returns ranked result metadata with include_text: false; use scrape-to-json for page text."
      },
      "recency": {
       "type": "string",
       "enum": [
        "day",
        "week",
        "month",
        "year",
        "any"
       ],
       "description": "Optional freshness filter. Default 'any'."
      }
     },
     "required": [
      "query"
     ]
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "query": {
       "type": "string"
      },
      "results": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "title": {
          "type": "string"
         },
         "url": {
          "type": "string"
         },
         "snippet": {
          "type": "string"
         },
         "domain": {
          "type": "string"
         }
        }
       }
      },
      "source": {
       "type": "string"
      },
      "source_url": {
       "type": "string"
      },
      "degraded": {
       "type": "boolean"
      },
      "include_text": {
       "type": "boolean"
      },
      "note": {
       "type": "string"
      }
     }
    }
   },
   "required": [
    "type"
   ]
  }
 },
 "required": [
  "input"
 ]
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "query": "x402 payment protocol examples",
  "source": "Decodo Google Search",
  "results": [
   {
    "url": "https://example.com/x402",
    "title": "x402 documentation",
    "domain": "example.com",
    "snippet": "Pay-per-request protocol examples..."
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentutility-web-search-decodo-gdelt-bfce5398/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentutility.ai](https://www.zero.xyz/host/x402.agentutility.ai/llms.txt)
