Brave Search API vs a Google SERP API: index, terms and cost
Brave Search API and a Google SERP API are both “web search as JSON”, but they answer different questions. Brave returns results from its own independent index, ranked by Brave, at a flat per-request price, with an endpoint that returns page content prepared for LLMs. A Google SERP API returns what Google shows a person for a query in a given market and device, with Google’s positions, SERP features and the AI Overview.
Pick Brave when you need a fast, affordable, non-Google web index for real-time use and its terms fit how you will use the data. Pick a Google SERP API when the result has to mean something about Google. This post compares the two on index, output, parameters, price, limits and terms. Brave facts were checked on 2026-09-17 and are linked. For the wider field of Google vendors, see best SERP APIs; for agent tools generally, best search APIs for AI agents.
Index: independent versus Google’s
Brave’s API page, checked 2026-09-17, states that “Brave’s index includes over 30 billion pages, kept fresh by over 100 million page updates every day”, calls it “a completely independent index of the Web”, and says it “is not a scraper that simply uses bots to query Google or Bing”.
A Google SERP API has no index of its own: it returns Google’s results page as data. This API’s POST /v1/monitor/google returns it per request for the country, location and device you set.
What follows from that:
- Results differ by design. Brave’s top result for a query is Brave’s judgment. It does not stand in for a Google position, and overlap between the two varies by query.
- Google-only features exist only in Google data. The AI Overview, Google’s local pack, People Also Ask, Google ads and the knowledge panel are Google page elements.
- Independence can be the point. If you want a second opinion that does not depend on Google’s ranking, or a supplier not tied to Google’s access decisions, Brave’s index is that. Google’s own full-web API is closing: the Custom Search JSON API overview, checked 2026-09-17, says it is closed to new customers, with existing customers given until January 1, 2027.
What each returns
Brave Web Search
From Brave’s Web Search docs: GET https://api.search.brave.com/res/v1/web/search, authenticated with an X-Subscription-Token header. The response is organized into sections: web, news, videos, discussions, faq, infobox, locations, mixed, rich and query. extra_snippets adds up to 5 additional excerpts per result.
Brave LLM Context
A separate endpoint, https://api.search.brave.com/res/v1/llm/context (docs), returns content for grounding: a grounding object with extracted snippets (generic, poi, map) and a sources object keyed by URL with title, hostname and age. Controls include maximum_number_of_tokens from 1,024 to 32,768 (default 8,192), maximum_number_of_urls 1 to 50, count 1 to 50, a context_threshold_mode of strict, balanced, lenient or disabled, freshness and country. Queries are 1 to 600 characters and up to 75 words. Brave’s pricing page lists “LLM context” among what the Search plan includes.
Google SERP API (this API)
POST /v1/monitor/google returns organicResults, ads, peopleAlsoAsk, relatedSearches, localResults, localResultsMoreLink, knowledgeGraph, shoppingCards, peopleAreSaying and, with include.aioverview, an aioverview object with text, sources, citationPills, relatedLinks, videos and ads. No extracted page text: snippet is Google’s excerpt. See structured SERP data for every field.
Parameters side by side
| Intent | Brave Web Search | Google SERP (this API) |
|---|---|---|
| Query | q |
query (or a full Google url) |
| Country | country (2 letters) |
country or gl |
| Language | search_lang (ISO 639-1), ui_lang (e.g. en-US) |
hl |
| City-level location | Not in the web search parameters | location (City,Region,Country) or uule |
| Device | Not in the web search parameters | device: desktop, mobile, ios, android |
| Results per request | count, up to 20 |
About one Google page per pages unit |
| Depth | offset up to 9 |
pages 1 to 10 |
| Freshness | freshness: pd, pw, pm, py or a custom range |
Current results per request; date ranges via tbs in the url shape |
| Safe search | safesearch: off, moderate, strict |
safe in the url shape |
| Custom ranking | goggles (URL or inline definition) |
Not applicable; the ranking is Google’s |
| AI answer | Answers plan, a separate endpoint | include.aioverview returns Google’s overview |
| Auth | X-Subscription-Token header |
Authorization: Bearer header |
Brave parameters are from its web search docs, checked 2026-09-17.
A matching pair of requests:
# Google, as a user in Denver on mobile would see it
curl -X POST https://api.answerline.dev/v1/monitor/google \
-H "Authorization: Bearer $ANSWERLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "emergency dentist",
"country": "US",
"location": "Denver,Colorado,United States",
"device": "mobile",
"include": { "aioverview": {} }
}'
On Brave, the closest request is q=emergency dentist&country=US&search_lang=en against the web search endpoint. There is no Denver and no mobile in that request. For local and device-specific questions only the Google request measures what someone there sees. Local rank tracking builds on that.
Plans, prices and rate limits
Brave
From brave.com/search/api, checked 2026-09-17:
| Plan | Price | Rate limit | Free credits | Includes |
|---|---|---|---|---|
| Search | $5 per 1,000 requests | 50 queries/second | $5 a month | Web results (URLs, text, news, images), LLM context, Goggles, extra snippets, schema-enriched results |
| Answers | $4 per 1,000 requests + $5 per million input/output tokens | 2 queries/second | $5 a month | Summarized answers grounded in search results with citations; streaming; OpenAI SDK compatible |
| Enterprise | Custom | Custom | Full-funnel zero data retention, custom agreements, invoicing, enterprise support |
Google SERP data on this API
Credits per request (credits):
| Request | Async task | Synchronous |
|---|---|---|
| One page | 3 credits | 5 credits |
| One page + AI Overview | 5 | 7 |
| Each additional page | +2 | +2 |
Plan prices and concurrency are on /pricing and rate limits. Failed requests cost nothing. For price comparisons across Google vendors, see cheapest SERP API.
Throughput shape
Brave’s Search plan is a flat 50 queries per second, suited to real-time traffic. Google SERP requests on this API are bounded by plan concurrency, and bulk work is queued: POST /v1/async/task/batch accepts 1 to 500 tasks per call and delivers results to a webhook. For a nightly job of 50,000 keywords, queueing matters more than per-second throughput; for an interactive agent handling user traffic, per-second throughput matters more. See sync, async and webhooks.
Terms: the part most comparisons skip
Brave’s Search API terms, checked 2026-09-17, contain three clauses that decide many projects:
- No storage beyond transient use. Customers may not “store, cache, or create a database of Search Results, in whole or in part, other than transient storage required for operation”.
- No AI model development with results. Customers may not “use the Search Results to create, evaluate, train, re-train, fine-tune, benchmark or otherwise improve artificial intelligence models”.
- Attribution. Display of results requires “POWERED BY BRAVE” attribution with Brave’s logo, per its usage guidelines.
The terms page checked did not describe different storage rights by self-serve plan; the Enterprise plan offers custom agreements. Read the current terms yourself before building, and get anything outside them in writing.
Why it matters in practice:
- Rank tracking and SEO history are databases of results by definition. A time series of positions is stored results.
- RAG with a persistent vector index stores content derived from results.
- Evaluation sets for your own models or agents are an explicit prohibition.
- Real-time answering that uses results for one response and discards them fits the transient-use pattern.
Google SERP APIs have their own terms, and they differ by vendor; this post does not summarize them. Check your vendor’s terms for storage and AI-use rights with the same care, particularly if you are replacing Brave in a pipeline that stores data.
Decision table
| Your job | Brave Search API | Google SERP API |
|---|---|---|
| Real-time grounding for an assistant, results discarded after the answer | Strong fit: flat price, 50 QPS, LLM Context endpoint | Works; returns snippets, not page text |
| Rank tracking and position history | Brave’s ranking is not Google’s, and its terms restrict storage | Fit |
| Local results by city, mobile vs desktop | No city or device parameter in web search | Fit |
| Google AI Overview presence and citations | No | Fit; see monitoring AI Overviews |
| People Also Ask and related searches for keyword research | Brave has a faq section of its own; not Google’s PAA |
Fit; see keyword research |
| A non-Google second index for coverage or resilience | Fit | Not applicable |
| Custom re-ranking of results | Goggles | Not applicable |
| Building training or evaluation data | Prohibited by Brave’s terms checked | Depends on your vendor’s terms |
Worked cost example
An assistant runs 300,000 searches a month interactively and discards results. A separate SEO job tracks 3,000 keywords daily on Google with the AI Overview.
| Line | Calculation | Result |
|---|---|---|
| Brave Search for the assistant | 300,000 × $5 / 1,000 | $1,500 a month, minus $5 free credits |
| Google SERP for the assistant, synchronous | 300,000 × 5 credits | 1,500,000 credits; see /pricing |
| Google SERP for the SEO job, async with AI Overview | 3,000 × 30 × 5 credits | 450,000 credits |
| Brave for the SEO job | Not a like-for-like option | Brave positions are not Google positions, and storing them conflicts with the terms checked |
Brave prices checked 2026-09-17. The split in this example: an independent index for high-volume grounding, Google data where the product’s promise is about Google.
Pitfalls
- Calling Brave results “search rankings” in an SEO product. They are Brave’s rankings. Label them.
- Building a cache or vector store on Brave results without checking terms. The terms checked allow transient storage only.
- Using Answers for bulk work. Its limit is 2 queries per second.
- Forgetting token cost on Answers. $5 per million input and output tokens is on top of $4 per 1,000 requests.
- Paying for AI Overviews you do not read. On this API it is a 2-credit add-on per request; request it only where you use it.
- Sync calls for scheduled jobs. Async tasks cost 2 credits less each and queue instead of failing when concurrency is busy.
For the Google side, start with the quickstart or the Google Search engine page.
Questions
Does Brave Search API use Google or Bing results?
Brave says no. Its API page, checked 2026-09-17, describes a completely independent index of over 30 billion pages and says it is not a scraper that queries Google or Bing.
How much does Brave Search API cost?
Per brave.com/search/api checked 2026-09-17, the Search plan is $5 per 1,000 requests at 50 queries per second, and the Answers plan is $4 per 1,000 requests plus $5 per million input and output tokens at 2 queries per second. Both include $5 of free credits a month.
Can I store Brave Search API results or use them to train a model?
Brave's Search API terms, checked 2026-09-17, prohibit storing, caching or building a database of results beyond transient storage required for operation, and prohibit using results to create, evaluate, train, fine-tune or benchmark AI models. Enterprise terms are custom.
When do I need a Google SERP API instead of Brave?
When the output must reflect Google: rank tracking, local packs by city, People Also Ask, Google ads or the AI Overview. Brave's results come from Brave's own ranking, so they cannot stand in for Google positions.
What does a Google Search request cost on this API?
3 credits for a one-page async task, plus 2 per additional page and 2 once for the AI Overview; synchronous calls add 2 credits.