> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.auxiliar.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.auxiliar.ai/_mcp/server.

# Brave Search

Proxies [Brave Search](https://brave.com/search/api/)'s verticals. The gateway exposes them under `/brave`, absorbing Brave's `/res/v1` base path:

```
GET /brave/<vertical>/search   → https://api.search.brave.com/res/v1/<vertical>/search
```

`GET` only. Every control (`q`, `count`, `country`, …) travels in the query string and is forwarded byte-for-byte.

## Verticals

The gateway accepts exactly this whitelist; any other vertical returns the gateway's `404` without reaching Brave.

| Vertical                                                                 | Upstream                                                |
| ------------------------------------------------------------------------ | ------------------------------------------------------- |
| `web`, `images`, `videos`, `news`, `suggest`, `spellcheck`, `summarizer` | `https://api.search.brave.com/res/v1/<vertical>/search` |

Brave's AI "Answers" endpoints (`/chat/completions`, `/llm/context`) are **deliberately not exposed**.

## What the gateway injects and strips

* **The `X-Subscription-Token` header is injected**, overwriting any client-supplied one.
* **The `Authorization` header is stripped** before forwarding — Brave has no use for your gateway token.

## Examples

```bash
curl "$GATEWAY/brave/web/search?q=cloudflare+workers" \
  -H "Authorization: Bearer $TOKEN"
```

```bash
curl "$GATEWAY/brave/news/search?q=cloudflare&count=10" \
  -H "Authorization: Bearer $TOKEN"
```

The response is Brave's JSON, returned unchanged. For request and response fields, follow [Brave Search's documentation](https://api-dashboard.search.brave.com/app/documentation) — the gateway does not alter them.