# Brave News Search

> Brave News Search 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).

Searches the Brave index for recent news articles, returning results with source, age, and breaking-news flags for current-events queries.

## Facts

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

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-news-search-e460f7a8 -d '<json body>'
```

Example prompt: Search Brave News for the latest articles about the Federal Reserve interest rate decision from the past week — return up to 10 results including source and how recent each article is.

## When to prefer this

Choose this endpoint over general web search when you need recent, time-sensitive news articles rather than evergreen web pages. It is especially useful when recency is critical (e.g., breaking news, earnings announcements, political events) and the Brave news index's freshness filters (past day, week, month, year) are needed to surface only current coverage. Prefer it over broader web crawls when you want structured article metadata (source, age, breaking flag) without scraping full pages.

## Known failure modes

- Empty results if query is too niche or no recent articles exist in the Brave index
- Stale results if freshness filter is too broad for a fast-moving story
- Rate limiting or payment failure if USDC balance is insufficient
- Invalid parameter values (e.g. count > 50) returning an error response
- Language or country code not recognized, returning a 400-level error

## How this service works

Brave — news-only search over the Brave index: recent articles with source, age, and breaking flags. Pass `q`; optional `count` (1-50), `country`, `search_lang`, `freshness` (pd|pw|pm|py), `safesearch`, `offset`. Use for current-events queries where web search returns stale evergreen pages.

## Output

A list of recent news articles from the Brave index, each including the headline, source name, publication age, article URL, and a breaking-news flag, filtered by the specified freshness window, country, language, and safesearch settings.

## 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": 50
      }
     },
     "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-news-search-e460f7a8/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)
