WebSearch
APIs
Submit an API

Blog/How-to

How to get a Brave Search API key (and what the free credits cover)

Step-by-step Brave Search API signup, why it asks for a credit card, what $5 of free monthly credits buys, pricing, rate limits, and your first request in under five minutes.

TL;DR

  • Sign up at api-dashboard.search.brave.com, activate the Search plan with a card, then add a key under API Keys.
  • Search costs $5 per 1,000. Every account gets $5 of free credits a month, about 1,000 searches.
  • A credit card is required. The old card-free plan was replaced by monthly credits in 2026.
  • Send the key in the X-Subscription-Token header. Use /llm/context if a model reads the results.
5 minRoughly, from signup to first request
$5Free credits every month
≈1,000Searches those credits cover
50 rpsRate limit on the Search plan

Brave is the search API people reach for when they want search, not a wrapper around someone else’s. It runs its own crawler and its own index, never falls back to Google or Bing, and its request format is close enough to the old Bing v7 API that a lot of teams moved over in an afternoon when Bing shut down.

Getting a key takes about five minutes. Knowing what you’re signing up for takes a bit longer, so here’s both.

Step by step

These steps follow Brave’s own quickstart.

  1. Create an account. Go to api-dashboard.search.brave.com, sign up with your email and a password, and click the confirmation link Brave emails you.
  2. Activate a plan. Open Plans in the dashboard, choose Search, and enter your credit card. The Search plan includes both Web Search and LLM Context (search for AI agents).
  3. Create a key. Go to API Keys, click Add API Key, and name it something like “production” or “dev”.
  4. Store it properly. Put it in an environment variable or secret manager. Never in client-side code, never in a git repo.

Create two keys from the start: one for development, one for production. When a dev script goes rogue at 2 a.m., you can kill its key without taking your product down with it.

Your first request

Every request sends the key in the X-Subscription-Token header:

curl -G "https://api.search.brave.com/res/v1/web/search" \
  --data-urlencode "q=latest rust release" \
  -H "X-Subscription-Token: $BRAVE_API_KEY"

If a model reads your results rather than a person, use the LLM Context endpoint. It returns pre-extracted page content, ready to drop into a prompt:

curl "https://api.search.brave.com/res/v1/llm/context?q=artificial+intelligence" \
  -H "X-Subscription-Token: $BRAVE_API_KEY"

Parameters worth knowing

ParameterWhat it doesExample
countryResults for a countryUS, DE
search_langResults languageen, fr
freshnessPast day, week, monthpd, pw, pm
count / offsetResults per page, pagingcount=10&offset=1
extra_snippetsMore text per resulttrue

Search operators like site: and filetype: go straight into q.

Does the Brave Search API need a credit card?

Yes. Brave’s quickstart lists “a credit card to activate a plan” as a prerequisite. The $5 of monthly credits apply automatically, so if you stay under about 1,000 searches a month you won’t be charged. You can also set your own budget in the dashboard, which you should do on day one.

Brave Search API pricing

From Brave’s pricing page, November 2026:

PlanPriceFree creditsRate limitWhat you get
Search$5 per 1,000 requests$5 every month50 requests/secondWeb search, LLM context, news, videos, images
Answers$4 per 1,000 queries + $5 per 1M input tokens + $5 per 1M output tokens$5 every month2 requests/secondAI-generated answers with citations
EnterpriseCustomCustomZero data retention, custom terms

Both plans are prepaid: you load credits and draw them down. There’s no subscription.

What does $5 of free credits cover?

About 1,000 web searches a month on the Search plan. On Answers it’s fewer than 1,000 answers, because tokens are billed on top of the $4 per 1,000 queries.

Is the Brave Search API free?

Not in the old sense. Until 2026 there was a free plan with a monthly request cap. Now every account pays $5 per 1,000 and gets $5 of credits back each month.

For a hobby project, it’s free. For anything bigger, it’s $5 per 1,000. Same thing, better accounting.

Rate limits

Brave enforces rate limits on a 1-second sliding window and returns 429 when you go over. Every response carries headers you should actually read:

  • X-RateLimit-Limit: your per-second and per-month limits, e.g. 1, 15000
  • X-RateLimit-Remaining: what’s left in each window
  • X-RateLimit-Reset: seconds until each window resets

Don’t retry 429s in a tight loop. Back off until X-RateLimit-Reset says the window has passed. A retry storm burns your per-second budget and makes the problem worse.

Can I store results or train on them?

Brave’s pricing FAQ covers storage and training rights separately. Read it before you cache results long-term or put them in a training set, because rights depend on your plan and agreement.

Why use Brave at all?

Independence. Brave runs its own index and can’t be cut off by a bigger search engine changing its mind, which is exactly what happened to everyone built on Bing. For a product where people read the results, that’s worth a lot. It’s also the least surprising migration from Bing v7.

The trade-off is accuracy on agent-style fact questions. On SimpleQA, Brave scores 94.1 F1 in its own AI Grounding test, 87% in Parallel’s and 76.05% in Tavily’s. That spread says as much about the tests as about Brave. See the table.

Brave Search API alternatives

If you wantTryPrice per 1,000
Cheaper, own indexKeirolabs lite$0.10
Google’s resultsSerper$0.30–1.00
Page text for RAGExa$4–7
Fast mode for agentsParallel$1
A bigger free monthly tierParallel (5,000 requests/mo), Tavily (1,000 credits/mo, no card)

More in best web search APIs, or price your volume in the calculator.

FAQ

Where do I find my Brave Search API key?

In the dashboard under API Keys, after you’ve activated a plan.

Which header does the key go in?

X-Subscription-Token. Not Authorization, not a query parameter.

Why am I getting 429 errors?

You’ve exceeded the per-second or monthly limit. Check the X-RateLimit-* headers and back off until the reset.

Keep reading