# Brave Search Web Search

> Brave Search Web Search is a paid API for AI agents from bx402.bsg.brave.com, paid per call via x402, $0.005/call, status down (last checked 2026-10-18).

Searches Brave's independent web index and returns ranked pages with titles, URLs, snippets, plus news, video, and discussion results.

## Facts

- Endpoint: GET https://bx402.bsg.brave.com/res/v1/web/search?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: down
- Last checked: 2026-10-18
- Success rate: 0% of calls made through Zero
- Activations on Zero: 1
- Tags: x402
- Canonical page: https://www.zero.xyz/c/brave-search-web-search-7f71728e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fjnWeb2nmFrrDaMnSne33

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-search-web-search-7f71728e
```

Example prompt: Search the web for the latest news on AI regulation in the EU — give me the top 10 results from the past month, focusing on English-language sources from the US.

## When to prefer this

Choose this endpoint when you need web search results from an independent index that is not Google or Bing, especially when avoiding Big Tech data dependencies matters. Prefer it for real-time or fresh content discovery with freshness filtering, multi-language or country-specific searches, or when you need news, video, and discussion results alongside standard web results. The x402 pay-per-call model makes it suitable for agent workflows with controlled cost per search.

## Known failure modes

- Missing required 'q' parameter returns a validation error
- Query string exceeding 600 characters is rejected
- Offset above 9 or count above 20 returns an error
- Invalid country or language code may return empty or unexpected results
- Freshness range with malformed date format fails
- Payment not included or insufficient USDC causes x402 payment-required response
- Query with no matching results returns empty results array

## How this service works

Web search over Brave's independent index. Returns ranked pages with title, URL, and snippet, plus news, video, and discussion results when relevant. Use it to find current sources on any topic. Pass q, and optionally count, offset, country, search_lang, and freshness.

## Output

A JSON object containing ranked web results, each with a title, URL, snippet/description, and page age. May also include categorized results for news, video, and discussions when relevant to the query. The original query string is echoed back.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "maxLength": 600,
       "description": "Search query"
      },
      "count": {
       "type": "integer",
       "default": 20,
       "maximum": 20,
       "minimum": 1
      },
      "offset": {
       "type": "integer",
       "maximum": 9,
       "minimum": 0,
       "description": "Pages of count results to skip"
      },
      "country": {
       "type": "string",
       "description": "Country code such as US, or ALL"
      },
      "freshness": {
       "type": "string",
       "description": "pd, pw, pm, py, or a range like 2026-01-01to2026-06-30"
      },
      "safesearch": {
       "enum": [
        "off",
        "moderate",
        "strict"
       ],
       "type": "string",
       "default": "moderate"
      },
      "search_lang": {
       "type": "string",
       "description": "Language code such as en"
      }
     }
    }
   }
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "web": {
       "type": "object",
       "properties": {
        "type": {
         "type": "string"
        },
        "results": {
         "type": "array",
         "items": {
          "type": "object",
          "properties": {
           "url": {
            "type": "string"
           },
           "title": {
            "type": "string"
           },
           "page_age": {
            "type": "string"
           },
           "description": {
            "type": "string"
           }
          }
         }
        }
       }
      },
      "type": {
       "type": "string"
      },
      "query": {
       "type": "object",
       "properties": {
        "original": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/brave-search-web-search-7f71728e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from bx402.bsg.brave.com](https://www.zero.xyz/host/bx402.bsg.brave.com/llms.txt)
