# Brave Search API

Web search API backed by Brave's own index that returns ranked results, news, images, or extracted page content for LLMs.

- Provider: Brave Software (https://brave.com/search/api/)
- Category: Search the web
- Type: Hosted API
- Pricing model: Prepaid credits, no subscription [1]
- Free tier: $5 in free credits every month [1]
- Authentication: API key in the `X-Subscription-Token` header [2]
- Connect via: REST API, local MCP server, agent skills [10]
- Read from the provider's pages on 2026-11-04
- Page: https://supermarket.dev/tools/search-the-web/brave-search-api

## Pricing

### Billing
- Pricing model: Prepaid credits, no subscription [1]
- Free tier: $5 in free credits every month on each of the Search and Answers plans [1]
- Free tier (other page): Up to $20 in free calls every month [1]
- Card required for free tier: Yes, payment information is required on all plans [5]
- Minimum spend: No minimums [1]
- Billing period: Not published
- Payment alternative: USDC micropayment per request on Base via x402, no API key [5]

### Prices
Prices are listed per 1,000 requests, so no conversion was needed. The Answers plan also bills tokens.
| Plan | Price per 1,000 requests | Other charges |
|---|---|---|
| Search (web, news, images, video, LLM Context) | $5 | None listed |
| Answers | $4 | $5 per million input/output tokens |
Source [1]

### Plans
| Plan | Capacity | Special features |
|---|---|---|
| Search | 50 queries per second | Goggles, extra alternate snippets, schema-enriched results |
| Answers | 2 queries per second | Citations, streaming, OpenAI SDK compatible |
| Enterprise | Custom | Full-funnel Zero Data Retention, custom agreements and NDAs, invoicing |
Source [1]

### Other charges
- Failed requests: Not billed [3]

## Tools

### MCP server
- Official MCP server: Yes, local [10]
- Address or package: `@brave/brave-search-mcp-server` (npm), `docker.io/mcp/brave-search`; source `https://github.com/brave/brave-search-mcp-server` [10]

### MCP tools
readOnlyHint is not set in the server source; each tool sets only openWorldHint.
| Tool | What it does | Read-only |
|---|---|---|
| `brave_web_search` | Web search with rich result types and filtering | Not stated |
| `brave_local_search` | Local businesses and places with ratings and hours | Not stated |
| `brave_video_search` | Videos with metadata and thumbnails | Not stated |
| `brave_image_search` | Images with URLs, dimensions and confidence scores | Not stated |
| `brave_news_search` | Current news with freshness controls | Not stated |
| `brave_summarizer` | AI summary from a web search summary key | Not stated |
| `brave_place_search` | Points of interest in a geographic area | Not stated |
| `brave_llm_context` | Pre-extracted web content for AI agents and RAG | Not stated |
Source [10]

### API
| Endpoint | What it does |
|---|---|
| `GET/POST /res/v1/llm/context` | Ranked, extracted page content for LLMs |
| `GET /res/v1/web/search` | Web results for human-facing use |
| `GET /res/v1/news/search` | News search |
| `GET /res/v1/images/search` | Image search |
| `GET /res/v1/videos/search` | Video search |
| `POST /res/v1/chat/completions` | Answers, OpenAI-compatible, grounded in search |
| `GET /res/v1/local/place_search` | Place search |
| `GET /res/v1/suggest/search` | Autosuggest |
Source [7]

### Features
- Results per query: Web search: up to 20 results per page, offset up to 9; LLM Context: up to 50 results considered [6]
- Content returned: Titles, descriptions and URLs; up to 5 extra snippets per result; LLM Context returns extracted page chunks [7]
- Search types: Web, news, images, video, places, LLM Context, Answers, autosuggest, spellcheck [11]
- Freshness controls: `pd` (24 hours), `pw` (7 days), `pm` (31 days), `py` (year) or a custom date range [6]
- Domain filters: `site:` operator and Goggles for boosting, demoting or filtering domains [6]
- Storing results: Terms prohibit storing or caching results beyond transient storage; the product page says storage is allowed on a plan with storage rights [9]
- Storing results (other page): Yes, with a plan that includes storage rights [1]

## Authentication

### Methods
| Method | Used for | How |
|---|---|---|
| API key | All REST endpoints | Send `X-Subscription-Token: YOUR_API_KEY` header |
| x402 micropayment | Pay per request without an API key | USDC on Base, signed payment replaces the key |
| API key via environment variable | Local MCP server | Set `BRAVE_API_KEY` or `BRAVE_API_KEY_FILE` |
Source [2]

### Getting access
- Who creates the account: A person creates an account and activates a plan; agents can pay per request with x402 instead [5]
- Where to get a key: Dashboard API Keys section after activating a plan (`https://api-dashboard.search.brave.com/app/keys`) [2]
- Other requirements: Payment details, postal address and billing details [5]

## Setup

### Addresses
- REST API: `https://api.search.brave.com/res/v1` [2]
- MCP server: Local only (STDIO default, HTTP optional on port 8080); no hosted address found [10]
- OpenAPI spec: Not published
- Docs for agents: `https://api-dashboard.search.brave.com/llms.txt` [11]
- Status page: Not published

### Install
| What | Command |
|---|---|
| MCP server (npx, HTTP) | `npx -y @brave/brave-search-mcp-server --transport http` |
| MCP server (Docker) | `docker run -i --rm -e BRAVE_API_KEY docker.io/mcp/brave-search` |
| Agent skills for Claude Code | `/plugin marketplace add brave/brave-search-skills` then `/plugin install brave-search-skills@brave-search` |
Source [12]

## Limits

### Rate limits
- Search plan: 50 queries per second [1]
- Answers plan: 2 queries per second [1]
- Window: 1-second sliding window; HTTP 429 when exceeded [3]
- Monthly quota: Plan-specific, reported in `X-RateLimit-Limit` header; 0 means unlimited [3]

### Other limits
- Query length (LLM Context): 1-600 characters, 75 words at most [7]
- Query length (MCP server): 400 characters, 50 words [10]
- Context size (LLM Context): 1,024 to 32,768 tokens; default 8,192 [7]
- URLs per LLM Context response: 1 to 50; default 20 [7]

## Privacy

### Your data
- Data location: Provider is based in the U.S.; processing region not stated [5]
- Retention: Search query logs kept up to 90 days for billing and troubleshooting [5]
- Used for training: No; queries are not shared or trained on [1]
- Zero data retention: Available on the Enterprise plan [5]

### Compliance
- Certifications: SOC 2 Type II attested [4]
- HIPAA: Not published

## Sources

1. Brave Search API product page and pricing: https://brave.com/search/api/
2. Authentication guide: https://api-dashboard.search.brave.com/documentation/guides/authentication/index.html.md
3. Rate limiting guide: https://api-dashboard.search.brave.com/documentation/guides/rate-limiting/index.html.md
4. Security: https://api-dashboard.search.brave.com/documentation/resources/security/index.html.md
5. Privacy notice for API customers: https://api-dashboard.search.brave.com/documentation/resources/privacy-notice/index.html.md
6. Web Search docs: https://api-dashboard.search.brave.com/documentation/services/web-search/index.html.md
7. LLM Context docs: https://api-dashboard.search.brave.com/documentation/services/llm-context/index.html.md
8. Answers docs: https://api-dashboard.search.brave.com/documentation/services/answers/index.html.md
9. Terms of service: https://api-dashboard.search.brave.com/documentation/resources/terms-of-service
10. Brave Search MCP server README: https://raw.githubusercontent.com/brave/brave-search-mcp-server/main/README.md
11. llms.txt: https://api-dashboard.search.brave.com/llms.txt
12. Skills docs: https://api-dashboard.search.brave.com/documentation/resources/skills/index.html.md
13. Checked by supermarket.dev
