Brave Search API

Get Brave Search results from any of 36 countries, as JSON

endpoints
5
credits per call
1–2

The Brave Search API returns search.brave.com results as JSON.

This page covers what the Brave Search API returns, who uses it, a real response and pricing. Every parameter and response field is in Brave Search API parameters and responses →

POST/brave/v1/search
Real result, captured Nov 6, 20263 of 20
titlepositiondomainsite_name
A conceptual overview of asyncio — Python 3.15.2 documentation1docs.python.orgPython documentation
Python's asyncio: A Hands-On Walkthrough – Real Python2realpython.comReal Python
Python Asyncio Part 1 – Basic Concepts and Patterns | cloudfit-…3bbc.github.ioBBC
5 active endpoints, on 1 and 2 credit tiers.search · news · images · videos · suggestDetails ↓OpenAPI 3.0 spec ↗

2 credits per call≈ $2/1,000 calls1,000 free credits, no card

Get a free API key
Try it live

Run the call yourself, on the real endpoint

Change a parameter and press Try it. The response on the right is what your code will receive.

Brave Search API

3 of 5 endpoints, ready to run

View docs ↗

Ranked Brave web results with title, URL, snippet, date, site name and sitelinks — plus the discussions, FAQ, infobox, local places, top news, videos and related searches Brave shows on the same page.

2 credits1 required · 5 optional
POST/brave/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

Try every endpoint in the playground

Endpoints

What Brave Search endpoints does ReefAPI ship?

5 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

  • search

    2 cr

    Brave web search results for a query, as a searcher in the chosen country sees them.

    required
    q
    optional
    country, page, safesearch, freshness, goggles
  • news

    2 cr

    Brave News results for a query.

    required
    q
    optional
    country, page, safesearch, freshness
  • images

    2 cr

    Brave image search.

    required
    q
    optional
    country, safesearch
  • videos

    2 cr

    Brave video search.

    required
    q
    optional
    country, page, safesearch, freshness
  • suggest

    1 cr

    Brave's autocomplete for a partial query.

    required
    q
    optional
    country

Every parameter, every allowed value →

Missing a Brave Search endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
How it works

How the Brave Search API works

Brave Search is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

Authenticate01
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 632 engines.

Call02
POST /brave/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

Pay03
1 or 2 credits per call

Credits, not seats. Failed and blocked calls are never charged, and nothing is cached: every call reads the source live.

Read04
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Recipe

Track a keyword in several markets

Brave ranks by where the searcher is. Ask for the market with country and the answer is the result set a searcher there sees — the same query differs a lot between the US, the UK and Germany.

01search
POST/brave/v1/search
{"q": "best running shoes", "country": "gb"}

Read organic_results[].position, url and domain. discussions[], faq[] and infobox come from the same page.

02search
POST/brave/v1/search
{"q": "best running shoes", "country": "gb", "page": 2}

About 20 results per page. Repeat while has_more is true; Brave stops after page 10 or earlier.

03search
POST/brave/v1/search
{"q": "best running shoes", "country": "de", "freshness": "month"}

freshness narrows to recently published pages; date carries Brave's own page date in ISO form when it has one.

One row per ranked result with Brave's position, plus the page's side blocks as their own arrays — nothing from a discussion or FAQ box is mixed into organic_results.

request
curl -X POST https://api.reefapi.com/brave/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"q":"python asyncio tutorial"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "brave",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}
Fields

What each action returns

Measured on 2026-11-06 with live calls. Every action returns the standard envelope; rows below are inside data.

ActionRowsFilters and paging
searchorganic_results[], news_results[], video_results[], discussions[], faq[], infobox, locations[], recipes[], rich_answers[], ads[], related_searches[]country, page 1-10 (about 20 per page), freshness, safesearch, goggles
newsnews_results[] with url, source, snippet, age, date, thumbnailcountry, page, freshness, safesearch
imagesimages[] with image_url, width, height, thumbnail, page_url, source, titlecountry, safesearch (one page of up to about 200)
videosvideo_results[] with duration, views where published, creator, publisher, channel, date, thumbnailcountry, page, freshness, safesearch
suggestsuggestions[], including entity suggestions with a description and imagecountry

A query Brave marks as having no results returns NOT_FOUND. A page past the last one returns zero rows with has_more false. A change in Brave's layout returns SCHEMA_DRIFT, never an empty success.

Coverage

What Brave actually returns, measured

Measured on 2026-11-06 with several hundred live calls — 36 markets, more than ten languages and scripts, every filter and every action — through the same gateway path customers use.

country really changes the results

Brave ranks by the searcher's location, not only by its country setting. The engine asks from inside the chosen country, so country=fr returns French sources (Météo-France, Le Figaro) and country=au returns Australian ones, instead of a generic list with a different label.

Brave's own index, not a copy of Google

Brave Search answers from its own independent web index rather than reselling another engine's results, so it is a genuine second source when you compare engines or track the pages AI assistants draw on.

The whole page, not ten blue links

Besides the ranked results: forum and Reddit discussions with votes and answer counts, FAQ answers, the infobox (knowledge panel with attributes and profiles), local places with address, phone, rating, hours and coordinates, recipes, stock quotes, top news, videos, ads and related searches — each in its own field.

Filters that were checked to bite

freshness, page, safesearch (strongest on images) and Goggles each changed the result set against an unfiltered call. Brave's language setting did not change web results in our tests, so it is not offered.

Against us: a nonsense query is still answered

Brave fills a query it cannot match with loosely related pages rather than saying nothing. Only a page Brave itself marks as having no results comes back as NOT_FOUND; anything else comes back as results, exactly as Brave shows them.

Dates

date is Brave's own ISO page date where Brave has one. Where Brave only prints a relative age ("2 days ago"), date is computed from it at call time and date_is_estimate is true; age keeps Brave's wording.

Use cases

What people build with Brave Search

The jobs this data is most often used for.

01

SEO teams track where a site ranks on Brave for a keyword in each market, up to ten pages deep.

02

AI and RAG pipelines use search and news as a second, independent web index next to Google or Bing results.

03

Researchers read the Reddit and forum discussions Brave surfaces for a query, with vote and answer counts.

04

Keyword tools pull Brave autocomplete and related searches per country to collect real query phrasing.

5

endpoints

1/2

credits per call

Pricing

What Brave Search data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

$0.67–$1.50 / 1,000 credits
Full pricing →
  • 1,000 free credits on signup, no card
  • One key, all 632 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire
no credit card1,000 free credits · instant API key · pay by card or crypto
Quickstart

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/brave/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"q":"python asyncio tutorial"}'
python
import os
import requests

REEF_KEY = os.environ["REEF_KEY"]

r = requests.post(
    "https://api.reefapi.com/brave/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
        "q": "python asyncio tutorial"
    },
    timeout=90,
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Brave Search.

Is this Brave's official Search API?▾

No. Brave sells its own Search API with an API key and plans. ReefAPI is an independent service that returns what the public search.brave.com pages show, as JSON, with one ReefAPI key.

Which countries are supported?▾

36 markets: all, us, gb, ca, au, nz, in, de, at, ch, fr, be, nl, es, pt, it, dk, fi, no, se, pl, tr, ru, jp, kr, tw, hk, id, my, ph, sa, za, br, mx, ar and cl. Each call is answered as a searcher in that country would see it.

How deep can I paginate?▾

Web search has up to 10 pages of about 20 results. News and videos page too; images return one page of up to about 200. When Brave has no further page, the next one returns zero rows with has_more false.

What are Brave Goggles?▾

Goggles are Brave's re-ranking rules — for example a goggle that favours tech blogs and Hacker News. Pass the URL of a public .goggle file in goggles and the same query comes back re-ranked.

Do search operators work?▾

Yes: "exact phrase", -word, site:example.com and filetype:pdf work inside q, as they do on search.brave.com.

Does safesearch filter web results?▾

Brave applies it mostly to images and videos. On web results strict removes a few explicit sites; off and moderate return the same list.

What is the Brave Search API?▾

Brave Search API is a ReefAPI endpoint group for brave search It returns live JSON through POST requests under /brave/v1.

Is the Brave Search API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Brave Search calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Brave Search login or account?▾

No login to Brave Search is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Brave Search data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Brave Search API use?▾

Brave Search actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Brave Search from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call brave actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Brave Search API a Brave Search scraper?▾

It is the managed alternative to a DIY Brave Search scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same brave search back as clean JSON.

Why does my Brave Search scraper keep getting blocked?▾

Most Brave Search scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.

Same key

11 Search & SEO APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Brave Search, you are one call away from the rest of the category — no second contract, no second integration.

Contact

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 631 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-11-06.