# Brave Web Search (via vaaya.ai)

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

Keyword web search over Brave's independent index, returning ranked results with snippets, news, videos, FAQs, and discussions — not sourced from Google or Bing.

## Facts

- Endpoint: POST https://vaaya.ai/api/run/brave/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/brave-web-search-via-vaaya-ai-a432e422
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_IzFCCgPVuoiwBEfDOXwuC

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 brave-web-search-via-vaaya-ai-a432e422 -d '<json body>'
```

Example prompt: Search the web using Brave's independent index for 'best open-source LLMs 2024', give me 10 results filtered to web and news only, with fresh content from the past month.

## When to prefer this

Choose this endpoint when you need keyword-based web search from an index independent of Google and Bing, especially when you want to avoid big-tech search bias, need fine-grained freshness filtering, want to filter by result type (news, video, FAQ, discussions), or need per-result extra snippets for richer context. Prefer over AI-summarizing search (like Linkup) when you want raw ranked results rather than a synthesized answer.

## Known failure modes

- Invalid or missing query parameter returns an error
- count outside 1-20 range is rejected
- Invalid country code or search_lang returns an error or empty results
- Overly restrictive freshness or filter combination may return zero results
- Rate limits or payment failures return a 402 or rate-limit error

## How this service works

Brave — keyword web search over Brave's own independent index (not Google/Bing). Pass `q`; optional `count` (1-20), `offset` (pagination), `country` (2-letter), `search_lang`, `freshness` (pd|pw|pm|py or YYYY-MM-DDtoYYYY-MM-DD), `safesearch`, `result_filter` (comma list: web,news,videos,faq,discussions), `extra_snippets` (up to 5 alternative excerpts per hit). Returns ranked results with snippets — no page content; chain a scrape action for full text. The independent keyword-index alternative t…

## Output

A ranked list of up to 20 web results per page, each including title, URL, and snippet. Depending on result_filter, may also include news articles, videos, FAQs, and discussion threads. Up to 5 alternative excerpts per result if extra_snippets is enabled. Does not return full page content — a scrape action is needed for that.

## 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": {
     "type": "object",
     "properties": {
      "q": {
       "type": "string",
       "minLength": 1,
       "maxLength": 400
      },
      "country": {
       "type": "string",
       "minLength": 2,
       "maxLength": 2
      },
      "search_lang": {
       "type": "string",
       "minLength": 2,
       "maxLength": 5
      },
      "safesearch": {
       "type": "string",
       "enum": [
        "off",
        "moderate",
        "strict"
       ]
      },
      "spellcheck": {
       "type": "boolean"
      },
      "offset": {
       "type": "integer",
       "minimum": 0,
       "maximum": 9
      },
      "freshness": {
       "type": "string",
       "minLength": 2,
       "maxLength": 30
      },
      "count": {
       "type": "integer",
       "minimum": 1,
       "maximum": 20
      },
      "result_filter": {
       "type": "string",
       "minLength": 1,
       "maxLength": 120
      },
      "extra_snippets": {
       "type": "boolean"
      }
     },
     "required": [
      "q"
     ],
     "additionalProperties": false,
     "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "pathParams": {
     "type": "object"
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   },
   "required": [
    "type"
   ]
  }
 },
 "required": [
  "input"
 ]
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/brave-web-search-via-vaaya-ai-a432e422/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from vaaya.ai](https://www.zero.xyz/host/vaaya.ai/llms.txt)
