# Swerver Web Search API

> Swerver Web Search API is a paid API for AI agents from cheap-search--gw.swerver.net, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Performs a web search query and returns a list of results with URLs, titles, and snippets, paid per-request via USDC on Base.

## Facts

- Endpoint: POST https://cheap-search--gw.swerver.net/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/swerver-web-search-api-0b19e571
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qiOORZtcPO5S3pMl7Z6sW

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 swerver-web-search-api-0b19e571 -d '<json body>'
```

Example prompt: Search the web for 'open source LLM benchmarks 2024' and return the top 5 results with their titles and URLs.

## When to prefer this

Choose this endpoint when you need to perform a web search without a traditional API key, can pay per-request in USDC via the x402 protocol, and want structured search results (URL, title, snippet) returned in a clean JSON format. Prefer this over scraping endpoints when you need a list of relevant URLs for a query rather than the full content of a single page.

## Known failure modes

- Query field missing — returns 400 bad request
- Search timeout exceeded — results may be partial or empty
- Payment not provided or insufficient USDC — returns 402 Payment Required
- No results found for query — empty results array returned
- Network or upstream search provider error — returns 5xx error

## How this service works

Headless browser API for web scraping. Fetch any URL and get back clean HTML, Markdown, plain text, or extracted links. Supports JavaScript evaluation, CSS selector targeting, stealth mode, and batch operations. Pay-per-request via x402 protocol (USDC on Base). No API key required.

## Output

An object containing the original query string, an array of search results each with a URL, title, and snippet, plus metadata including elapsed time in milliseconds, content length in bytes, and whether results were truncated.

## Example request

```json
{
 "count": 5,
 "query": "artificial intelligence",
 "timeout": 30
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "query"
 ],
 "properties": {
  "count": {
   "type": "integer",
   "description": "Number of results to return"
  },
  "query": {
   "type": "string",
   "description": "Search query"
  },
  "timeout": {
   "type": "integer",
   "description": "Search timeout in seconds"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "query": {
   "type": "string"
  },
  "results": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "url": {
      "type": "string",
      "format": "uri"
     },
     "title": {
      "type": "string"
     },
     "snippet": {
      "type": "string"
     }
    }
   }
  },
  "metadata": {
   "type": "object",
   "properties": {
    "truncated": {
     "type": "boolean",
     "description": "Whether content was truncated by max_length"
    },
    "elapsed_ms": {
     "type": "integer",
     "description": "Time taken to fetch and render the page in milliseconds"
    },
    "content_length": {
     "type": "integer",
     "description": "Original content length in bytes before truncation"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/swerver-web-search-api-0b19e571/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from cheap-search--gw.swerver.net](https://www.zero.xyz/host/cheap-search--gw.swerver.net/llms.txt)
