<!-- twin of https://specstream.ai/compare/exa-vs-brave -->
# Exa vs Brave Search API in 2026: one SpecStream key answers both calls

Compared on Nov 10, 2026. The page: https://specstream.ai/compare/exa-vs-brave

On Nov 10, 2026, Exa charges $7 per 1,000 searches on `auto` and $4 on `lite`, plus $1 per 1,000 results above 10. Brave charges $5 per 1,000 requests and caps the Search plan at 50 queries per second.

SpecStream answers both calls with one key. Exa code points at `https://api.specstream.ai/exa`, Brave code at `https://api.specstream.ai`, and each gets its own JSON back. Every search of up to 10 results costs $0.005.

SpecStream is the live web data engine. Its Search API scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks, shown on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=exa-vs-brave) page.

[Get an API key](https://specstream.ai/signup?src=alternatives-exa-vs-brave&utm_source=alternatives-md&utm_campaign=exa-vs-brave&returnTo=%2Fworkspace%2Fagents%3Ftab%3Dkeys) New accounts get $10 of credit, no card. It covers 2,000 searches.

## SpecStream, Exa and Brave Search API side by side

| | SpecStream | Exa | Brave Search API |
|---|---|---|---|
| Your code | Runs as written. Exa calls go to `POST https://api.specstream.ai/exa/search` with the key in `x-api-key`. Brave calls go to `GET https://api.specstream.ai/res/v1/web/search` with the key in `X-Subscription-Token`. One key answers both | `POST https://api.exa.ai/search` with an Exa key in `x-api-key` or as a Bearer token | `GET https://api.search.brave.com/res/v1/web/search` with a Brave key in `X-Subscription-Token` |
| What comes back | Each API's own JSON. Exa: `results[]` with `id`, `url`, `title`, `publishedDate`, `text` when asked, and `costDollars.total`. Brave: `query`, `mixed` and `web.results[]` with `title`, `url` and `description` | `results[]` with the title, URL, published date and author of each result, and text, highlights or summary when `contents` asks for them | A `web.results` array with a title, a URL and a description for each result, and up to 5 extra excerpts per result |
| Price per 1,000 searches | $5 for up to 10 results, on either route and whatever `type` you send | $7 on `auto` and `fast`, $4 on `lite`, for up to 10 results. Each result above 10 adds $1 per 1,000 results | $5 per 1,000 requests on the Search plan |
| Results per call | Up to 100 on the Exa route: `numResults: 100` costs $0.059. Up to 20 on the Brave route: `count=20` costs $0.011, and a call with no `count` returns 10 for $0.005 | `numResults` from 1 to 100 | Up to 20 a request, 20 by default, with `offset` from 0 to 9 |
| The text of each page | `contents.text` on the Exa route fills each result's `text` in the price of the search. The Extract API reads any page, PDF, Word or Excel file at $0.80 per 1,000 pages | Contents costs $1 per 1,000 pages per content type | The description and up to 5 extra excerpts that come with each result |
| What answers the call | The whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct) | Exa's own index, which tracks over 2 trillion URLs and serves 100 billion pages as of October 2026 | Brave's own search index. Operators are written inside `q` |
| Rate | No limit per key and no daily limit. A busy call gets `429` with `Retry-After` and is not charged | One API call is one request, priced per 1,000 requests | 50 queries per second on the Search plan |
| Free to start | $10 of credit, no card: 2,000 searches. Credit you buy never expires | $10 in credits on sign-up, reset to $10 on the first of every month, no payment method | $5 in free credits every month |
| Every match as rows | Deep Search: a request in plain words returns every match on the live web as rows that meet each condition you wrote, at 5¢, 15¢ or $1 a row, plus 5¢ for an email and 15¢ for a phone. The most a run can cost is quoted before it starts, and a saved request reruns hourly to yearly with each row labeled changed, unchanged or no longer matching | Agent: $0.012 to $1.00 a request at a fixed effort. Monitors run scheduled searches at $2 per 1,000 requests | One request returns up to 20 results for one query, and `more_results_available` says whether another page exists |
| MCP and API | MCP server at `https://api.specstream.ai/mcp`, REST API, Python and TypeScript SDKs, a CLI and A2A. An agent can buy one request with no account, by card or in USDC | Hosted MCP server at `https://mcp.exa.ai/mcp`, the API, and the `exa-py` and `exa-js` SDKs | A REST API paid with prepaid credits. Also sold on AWS Marketplace as the Data for AI plan at $0.005 a request |

## Why Exa and Brave users move to SpecStream

### Both calls answered on one key

You do not have to pick one API and rewrite the other. Each call keeps its path, its body and its parser. The address changes, and the key.

```
# Exa: before
curl -X POST https://api.exa.ai/search -H "x-api-key: $EXA_KEY" -H "Content-Type: application/json" -d '{"query": "open source vector databases", "numResults": 10}'
# Exa: after
curl -X POST https://api.specstream.ai/exa/search -H "x-api-key: $SPECSTREAM_KEY" -H "Content-Type: application/json" -d '{"query": "open source vector databases", "numResults": 10}'

# Brave: before
curl "https://api.search.brave.com/res/v1/web/search?q=open+source+vector+databases&count=10" -H "X-Subscription-Token: $BRAVE_KEY"
# Brave: after
curl "https://api.specstream.ai/res/v1/web/search?q=open+source+vector+databases&count=10" -H "X-Subscription-Token: $SPECSTREAM_KEY"
```

The parameter and field tables are in the [Exa guide](https://specstream.ai/migrate/exa?utm_source=alternatives&utm_campaign=exa-vs-brave) and the [Brave Search API guide](https://specstream.ai/migrate/brave?utm_source=alternatives&utm_campaign=exa-vs-brave).

### What stays the same

On the Exa route, `query`, `numResults` (1 to 100), `includeDomains`, `excludeDomains`, `includeText`, `excludeText`, `startPublishedDate`, `endPublishedDate` and `contents.text` work as on Exa, and every `type` costs the same. On the Brave route, `q`, `count` (1 to 20), `offset` (0 to 9) and `freshness` work as on Brave, and operators inside `q` such as `site:` shape the search.

Not returned: Exa's `score`, `summary`, `image` and `favicon`, and `author` is null. Brave's `extra_snippets` and summarizer key; `page_age` comes back only on results that carry a date.

### $5 per 1,000 searches on both routes, from credit that does not expire

Exa's price depends on the search type and the number of results, and Brave's free credits arrive as $5 a month. SpecStream charges one price on both routes: $0.005 for up to 10 results, and each started block of 10 more adds $0.006. There is no monthly plan, credit you buy never expires, and a call stopped by a `429` charges nothing.

### The most accurate web search API in the world

The SpecStream Search API scores 97.9 F-score on all 1,000 official SimpleQA Verified questions, 978 of them correct, and 64.0 item F1 and 43.4 row F1 on all 200 official WideSearch tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=exa-vs-brave) page.

### About one second a search, with no limit per key

Every drop-in route runs the fast search unless the call asks for page text or results past the first ten. On November 9, 2026 production took 1 to 20 fast searches a second and answered 718 of 720: the median was 0.82 s at 1 search a second and 1.07 s at 20 a second, and the 95th percentile stayed between 1.09 and 1.73 s. There is no limit per key and no daily limit; a busy call gets a `429` with `Retry-After` and is not charged.

### Zero retention on any key

Set `zero_retention` when you create a key, or later. A search made with that key keeps no request text and no answer after the reply: it is not in the history, its answer is not reused for another call, and its log lines carry neither.

```
curl -X POST https://api.specstream.ai/v1/account/keys \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'
```

### Search, pages and rows on one key

A search API returns links and snippets, and your product still has to read the pages and build its records. On SpecStream the same key reads up to 20 pages or documents a call with the [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=exa-vs-brave) at $0.80 per 1,000 pages, maps and crawls a site at the page price, and runs [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=exa-vs-brave), which returns every match on the live web as structured rows at 5¢, 15¢ or $1 a row. The most a run can cost is approved before it starts. Saved requests rerun hourly to yearly, with each row labeled changed, unchanged or no longer matching, and new rows arrive in Slack, a sheet, a CRM or a signed webhook.

## Other Exa and Brave Search API alternatives

### Tavily

A search API for agents billed in credits: a basic search is 1 credit and an advanced search 2, at $0.008 a credit pay as you go, with 1,000 free credits every month. SpecStream answers Tavily's call at `https://api.specstream.ai/tavily` for $0.005 a search.

### Serper

Google results sold as prepaid credit packs, from $1.00 per 1,000 on the 50k pack, and the credits are valid for 6 months. SpecStream answers Serper's call at `https://api.specstream.ai/serper`, and its credit never expires.

### Parallel

Search, Extract and Task APIs priced by their own units. Web search starts at $1 per 1,000 requests, and the Developer plan allows 600 Search requests a minute. SpecStream answers Parallel's search call at `https://api.specstream.ai/parallel` with no limit per key.

### Firecrawl

Search and page endpoints billed in credits: a search costs 2 credits per 10 results, and the Standard plan is $99 a month for 100,000 credits. SpecStream answers Firecrawl's v2 calls at `https://api.specstream.ai/firecrawl`, with search at $5 per 1,000 and pages at $0.80 per 1,000.

## How to move Exa and Brave code to SpecStream

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.

2. Point Exa code at `https://api.specstream.ai/exa` and put the SpecStream key in `x-api-key`. In the `exa-py` SDK, pass `base_url="https://api.specstream.ai/exa"`.

```
import requests

reply = requests.post(
    "https://api.specstream.ai/exa/search",  # was https://api.exa.ai/search
    headers={"x-api-key": SPECSTREAM_KEY},
    json={"query": "open source vector databases", "numResults": 10},
    timeout=30,
).json()

for result in reply["results"]:
    print(result["title"], result["url"], result["publishedDate"])
```

3. Point Brave code at `https://api.specstream.ai` and send the SpecStream key in `X-Subscription-Token`. In crewAI, pass `search_url="https://api.specstream.ai/res/v1/web/search"` to `BraveSearchTool`.

```
const params = new URLSearchParams({ q: "open source vector databases", count: "10" });
const reply = await fetch(`https://api.specstream.ai/res/v1/web/search?${params}`, {
  headers: { "X-Subscription-Token": process.env.SPECSTREAM_API_KEY },
}).then((response) => response.json());

for (const result of reply.web.results) console.log(result.title, result.url, result.description);
```

4. On a `429`, wait the seconds in `Retry-After` and send the call again; nothing was charged. Both routes spend from one balance, inside the spending limit you set on the key.

## Frequently asked questions

### Is Exa better than Brave Search API?

They search different indexes: Exa its own index of over 2 trillion URLs, Brave its own search index. SpecStream reads the whole live web at the moment of the call, scores 97.9 F-score on all 1,000 SimpleQA Verified questions, and answers both APIs' calls on one key.

### Exa vs Brave Search API pricing: what does each cost?

Exa costs $7 per 1,000 searches on `auto` and $4 on `lite` for up to 10 results, plus $1 per 1,000 results above 10. Brave costs $5 per 1,000 requests. SpecStream costs $5 per 1,000 searches of up to 10 results on both routes.

### Can I use both Exa and Brave code?

Yes, on one SpecStream key. Exa calls go to `https://api.specstream.ai/exa`/search and Brave calls to `https://api.specstream.ai/res/v1/web/search`, each answered in its own JSON and billed from one balance at $0.005 a search.

### Which fields does SpecStream not return?

On the Exa route, `score`, `summary`, `image` and `favicon`, and `author` is null. On the Brave route, `extra_snippets` and the summarizer key, and `page_age` only when a result carries a date.

### Do Exa's and Brave's free credits roll over?

No. Exa resets its free credits to $10 on the first of every month, and Brave gives $5 in free credits every month. SpecStream gives $10 of credit, no card, and credit you buy never expires.

### How many searches a second can I send?

SpecStream has no limit per key and no daily limit; on November 9, 2026 production answered 718 of 720 searches at up to 20 a second, with a median of 1.07 s. Brave's Search plan allows 50 queries per second.

## Sources

SpecStream wrote this page. Each rival figure comes from that company's own page.

- [Exa pricing](https://exa.ai/docs/admin/pricing.md), read Nov 10, 2026
- [Exa search reference](https://exa.ai/docs/reference/search.md), read Nov 10, 2026
- [Exa FAQ](https://exa.ai/docs/admin/faqs.md), read Nov 10, 2026
- [Brave Search API](https://brave.com/search/api/), read Nov 10, 2026
- [Brave Web Search documentation](https://api-dashboard.search.brave.com/app/documentation/web-search/get-started), read Nov 10, 2026
- [Brave Search API on AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-qjlabherxghtq), read Nov 10, 2026
- [Tavily API credits](https://docs.tavily.com/documentation/api-credits.md), read Nov 10, 2026
- [Serper](https://serper.dev/), read Nov 10, 2026
- [Parallel pricing](https://parallel.ai/pricing), read Nov 10, 2026
- [Firecrawl pricing](https://www.firecrawl.dev/pricing), read Nov 10, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
- [SpecStream pricing](https://specstream.ai/pricing), read Nov 10, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 10, 2026
