Serper vs Brave Search API in 2026
One key answers both calls.
On Nov 10, 2026, Serper sells Google results in prepaid packs from $1.00 per 1,000 credits, valid for 6 months. Brave charges $5 per 1,000 requests on its own index, with $5 in free credits a month and 50 queries per second.
SpecStream answers both calls with one key. Serper code points at https://api.specstream.ai/serper, 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 page.
New accounts get $10 of credit, no card. It covers 2,000 searches.
SpecStream, Serper and Brave Search API side by side
| SpecStream | Serper | Brave Search API | |
|---|---|---|---|
| Your code | Runs as written. Serper calls go to POST https://api.specstream.ai/serper/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://google.serper.dev/search with a Serper key in X-API-KEY | 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. Serper: searchParameters, answerBox when the search has an answer, and organic[] with title, link, snippet and position. Brave: query, mixed and web.results[] with title, url and description | Google's results page as JSON: knowledgeGraph, organic results with a title, link, snippet and position, peopleAlsoAsk and relatedSearches | 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, paid from a balance | Prepaid packs: 50k credits at $1.00 per 1,000, 500k at $0.75, 2.5M at $0.50 and 12.5M at $0.30. A credit is deducted for each successful response | $5 per 1,000 requests on the Search plan. Answers costs $4 per 1,000 requests plus $5 per million input and output tokens |
| Results per call | Up to 100 on the Serper route: num: 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 | One Google results page per call, set by num and page | Up to 20 a request, 20 by default, with offset from 0 to 9 |
| How long the balance lasts | Credit you buy never expires | Credits are valid for 6 months. At a zero balance Serper stops accepting new queries | Prepaid credits, plus $5 in free credits every month |
| 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) | Google, queried live at each call. Nothing is cached | 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 | 50 queries per second on the smallest pack, 300 on the Ultimate pack | 50 queries per second on the Search plan |
| Free to start | $10 of credit, no card: 2,000 searches | 2,500 free queries, no credit card | $5 in free credits every month |
| The text of each page | The Extract API reads up to 20 pages or documents a call, PDF, Word and Excel included, at $0.80 per 1,000 pages | Google's snippet for each organic result | The description and up to 5 extra excerpts that come with each result |
| 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 | One Google results page per query, as JSON | 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 | A JSON API called with X-API-KEY, sold as prepaid top-ups with no subscription | A REST API paid with prepaid credits. Also sold on AWS Marketplace as the Data for AI plan at $0.005 a request |
Why Serper 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.
# Serper: before
curl -X POST https://google.serper.dev/search -H "X-API-KEY: $SERPER_KEY" -H "Content-Type: application/json" -d '{"q": "open source vector databases", "num": 10}'
# Serper: after
curl -X POST https://api.specstream.ai/serper/search -H "X-API-KEY: $SPECSTREAM_KEY" -H "Content-Type: application/json" -d '{"q": "open source vector databases", "num": 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 Serper guide and the Brave Search API guide.
What stays the same
On the Serper route, q, num (1 to 100), page and tbs work as on Serper, and gl, hl, location and autocorrect are accepted and echoed in searchParameters. credits stays 1, so code that counts it keeps working. 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: Serper's knowledgeGraph, peopleAlsoAsk and relatedSearches, and its images, news, maps, places, videos, shopping, scholar, patents and autocomplete paths. Brave's extra_snippets and summarizer key; page_age comes back only on results that carry a date.
One price on both routes, from credit that does not expire
Serper's packs are valid for 6 months, and Brave's free credits arrive as $5 a month. SpecStream charges $0.005 for a search of up to 10 results on both routes, each started block of 10 more adds $0.006, and credit you buy never expires. There is no plan to pick, 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 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 at $0.80 per 1,000 pages, maps and crawls a site at the page price, and runs Deep Search, 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 Serper and Brave Search API alternatives
SerpApi
Google results pages as JSON, sold month to month. Starter costs $25 a month for 1,000 searches and guarantees 200 successful searches an hour. SpecStream answers SerpApi's call at https://api.specstream.ai/serpapi, and $25 pays for 5,000 searches.
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. SpecStream answers Tavily's call at https://api.specstream.ai/tavily for $0.005 a search.
Exa
Search on Exa's own index, at $7 per 1,000 requests on auto and $4 on lite. SpecStream answers Exa's POST /search at https://api.specstream.ai/exa for $5 per 1,000, whatever type you send.
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 no monthly plan.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to move Serper 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 Serper code at https://api.specstream.ai/serper and send the SpecStream key in X-API-KEY. In crewAI, pass base_url="https://api.specstream.ai/serper" to SerperDevTool.
import requests
reply = requests.post(
"https://api.specstream.ai/serper/search", # was https://google.serper.dev/search
json={"q": "open source vector databases", "num": 10, "page": 1},
headers={"X-API-KEY": SPECSTREAM_KEY},
).json()
for result in reply["organic"]:
print(result["position"], result["title"], result["link"])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. Read each call's price from specstream.price_usd. On a 429, wait the seconds in Retry-After and send the call again; nothing was charged.
Frequently asked questions
Something we didn't answer? Talk to a human
Is Serper better than Brave Search API?
Serper vs Brave Search API pricing: what does each cost?
Can I use both Serper and Brave code?
https://api.specstream.ai/serper/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?
knowledgeGraph, peopleAlsoAsk and relatedSearches, and only web search is served. On the Brave route, extra_snippets and the summarizer key, and page_age only when a result carries a date.Do Serper credits expire?
How many searches a second can I send?
Can one call return 100 results?
num: 100 returns up to 100 results for $0.059. Brave returns up to 20 a request, and the Brave route on SpecStream does the same.Sources
SpecStream wrote this page. Each rival figure comes from that company's own page.
- Serperserper.dev/, read Nov 10, 2026
- Brave Search APIbrave.com/search/api/, read Nov 10, 2026
- Brave Web Search documentationapi-dashboard.search.brave.com/app/documentation/web-search/get-started, read Nov 10, 2026
- Brave Search API on AWS Marketplaceaws.amazon.com/marketplace/pp/prodview-qjlabherxghtq, read Nov 10, 2026
- SerpApi pricingserpapi.com/pricing, read Nov 10, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
- Exa pricingexa.ai/docs/admin/pricing.md, read Nov 10, 2026
- Firecrawl pricingfirecrawl.dev/pricing, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




