# Speedbot Web Intelligence

> Speedbot Web Intelligence is a paid API for AI agents from speedbot.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-12).

Performs a Brave web search and fetches up to three public HTTPS pages, returning structured JSON with titles, metadata, headings, text, links, and JSON-LD — paid per request via x402 at $0.01 USDC on Base.

## Facts

- Endpoint: POST https://speedbot.dev/api/web-intelligence?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/speedbot-web-intelligence-975f43a8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_A5tlrYMozOvTKHoRz4dsw

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 speedbot-web-intelligence-975f43a8 -d '<json body>'
```

Example prompt: Search the web for 'x402 payment protocol explained' and give me the title, headings, and full text from up to 3 pages — I want source-backed structured results I can read through.

## When to prefer this

Choose this endpoint when you need live, source-backed web content extracted as clean structured JSON — especially when you want search plus page fetch in a single call, need JSON-LD or semantic metadata, require no signup, and are comfortable paying $0.01 USDC per call via x402 on Base. Prefer it over generic scraping APIs when you need the Brave search leg bundled with extraction, or when you want structured fields (headings, links, JSON-LD) rather than raw HTML.

## Known failure modes

- Page behind JavaScript rendering returns empty or partial content (no JS execution)
- Target URL returns non-HTML/non-text/non-JSON content type (e.g. PDF, binary) — skipped
- Brave search returns no results for obscure or malformed queries
- Payment not confirmed — request blocked until x402 USDC payment on Base is processed
- request_id reuse with different body returns cached/pending prior response
- max_pages exceeds limit of 3 — validation error
- query string empty or over 500 characters — validation error
- HTTPS-only constraint means HTTP URLs are not fetched

## How this service works

Juniper Agent Web Intelligence: one Brave web search, fetch up to three public HTTPS pages and extract source-backed JSON (title, metadata, headings, text, links, JSON-LD). 0.01 USDC on Base per request; no signup. HTML/text/JSON only; no JavaScript rendering or arbitrary LLM schema. Reuse your private request_id on pending responses.

## Output

Returns a JSON object containing: the original query string, an array of Brave search results, an array of fetched page objects (each with requested fields such as title, description, canonical URL, headings, text, links, and JSON-LD), and an untrusted_content boolean flag indicating the content originated from external web sources.

## 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": {
      "query": {
       "type": "string",
       "maxLength": 500,
       "minLength": 1
      },
      "fields": {
       "type": "array",
       "items": {
        "enum": [
         "title",
         "description",
         "canonical",
         "headings",
         "text",
         "links",
         "json_ld"
        ],
        "type": "string"
       },
       "maxItems": 7,
       "minItems": 1
      },
      "max_pages": {
       "type": "integer",
       "default": 3,
       "maximum": 3,
       "minimum": 1
      },
      "request_id": {
       "type": "string",
       "pattern": "^[a-f0-9]{64}$",
       "description": "Private random 32-byte request capability. Generate locally; never share. Reuse the identical body for recovery."
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "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": [
      "query",
      "results",
      "pages",
      "untrusted_content"
     ],
     "properties": {
      "pages": {
       "type": "array"
      },
      "query": {
       "type": "string"
      },
      "results": {
       "type": "array"
      },
      "untrusted_content": {
       "type": "boolean"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "pages": [],
  "query": "site:docs.cdp.coinbase.com x402 payment requirements",
  "results": [],
  "generated_at": "2000-01-01T00:00:00.000Z",
  "search_provider": "Brave Search",
  "untrusted_content": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/speedbot-web-intelligence-975f43a8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from speedbot.dev](https://www.zero.xyz/host/speedbot.dev/llms.txt)
