# Brave Search News

> Brave Search News is a paid API for AI agents from search.agent.s.brave.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-12).

Searches Brave's independent news index and returns recent articles with title, URL, source, and age for current events coverage.

## Facts

- Endpoint: GET https://search.agent.s.brave.app/res/v1/news/search?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/brave-search-news-00441f41
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qUbaI6-9PO3vXQnOx4HqX

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-news-00441f41
```

Example prompt: Search Brave News for the latest articles about the Federal Reserve interest rate decision from the past week — give me up to 10 results from US sources.

## When to prefer this

Choose this endpoint over web search when you need recent or breaking news specifically — it targets a news-optimized index so results are more timely than general web pages. Use the freshness parameter to narrow to the past day, week, or month. Prefer this over social media APIs when you need structured article metadata (title, URL, source, age) rather than social posts. Use the country filter when regional news coverage matters.

## Known failure modes

- Missing required 'q' parameter returns a 400 error
- Invalid freshness format (e.g. wrong date range syntax) may return no results or an error
- Country code not recognized may fall back to global results
- Offset beyond maximum of 9 returns an error
- Count exceeding 50 is rejected
- Query returning no matching news yields an empty results array
- Payment not included or insufficient USDC triggers a 402 response

## How this service works

News search over Brave's independent index. Returns recent articles with title, URL, source, and age. Use it for current events, where web search can surface older pages. Pass q, and optionally count, country, and freshness.

## Output

An array of news article objects, each containing the article title, URL, source name, article age (human-readable), and page age (ISO-formatted date). The response also echoes back the original query.

## 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": 400,
       "description": "Search query"
      },
      "count": {
       "type": "integer",
       "default": 20,
       "maximum": 50,
       "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": "strict"
      },
      "search_lang": {
       "type": "string",
       "description": "Language code such as en"
      }
     }
    }
   }
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "type": {
       "type": "string"
      },
      "query": {
       "type": "object",
       "properties": {
        "original": {
         "type": "string"
        }
       }
      },
      "results": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "age": {
          "type": "string"
         },
         "url": {
          "type": "string"
         },
         "type": {
          "type": "string"
         },
         "title": {
          "type": "string"
         },
         "page_age": {
          "type": "string"
         }
        }
       }
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/brave-search-news-00441f41/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from search.agent.s.brave.app](https://www.zero.xyz/host/search.agent.s.brave.app/llms.txt)
