The Cheapest Brave Search API for Developers

Brave's independent index as structured JSON — web (Quick + Deep), news, images and videos, from one API key.

Try for Free View Documentation
Brave web from $0.03/1K calls Brave News $0.01/1K calls 10 Free Calls Optional AI digest (include_aio)

Run a live Brave search right here

One real call against the API, no signup and no key. What comes back is drawn as a results page and printed as raw JSON.

Four Brave Endpoints, One API Key

Web search for the full Brave SERP object with an optional AI digest, plus news, images and videos. Every engine is billed at the same rates, so switching engine= never changes your bill.

News

News

from $0.01
per 1,000 calls (Scale tier)
  • ~29 articles when num is set
  • Seven fields, always present
  • Publisher name, e.g. Reuters
  • publishedTime as an ISO date
  • Freshness: day, week, month, year
  • Country and language targeting
Default$0.20/1K calls
Growth$0.02/1K calls
Scale$0.01/1K calls
Learn more →
Images

Images

from $0.25
per 1,000 calls (Scale tier)
  • Up to ~50 images per call
  • Full-size and thumbnail URLs
  • Dimensions (width × height)
  • Eight fields, always present
  • Country and language targeting
  • Brave takes no size/colour filters
Default$0.35/1K calls
Growth$0.32/1K calls
Scale$0.25/1K calls
Learn more →
Videos

Videos

from $0.07
per 1,000 calls (Scale tier)
  • Up to ~50 videos per call
  • Duration, thumbnail, embed URL
  • views as a number, not a string
  • Eleven fields, always present
  • Freshness and safe-search filters
  • Uploader name where Brave gives one
Default$0.10/1K calls
Growth$0.09/1K calls
Scale$0.07/1K calls
Learn more →
OPT-IN

Brave's AI digest, as a field you ask for

Brave opens many result pages with an AI-written summary of the answer. Add include_aio=true to a paid Deep Search call on engine=brave and that summary comes back as results.aiOverview, alongside the organic list from the same page. Same per-call price, opt-in flag.

It is genuinely optional: leave the flag off and aiOverview is null and the response is byte-for-byte what it was before the flag existed. metadata.hasAiOverview tells you whether this particular query earned one. Brave's digest carries no citation links of its own, so sources is an empty array on this engine — the text is the product.

See the parameter reference →
GET /api/search
  ?q=best+password+manager
  &engine=brave
  &include_aio=true

{
  "results": {
    "aiOverview": {
      "text": "Password managers store…",
      "sources": []
    },
    "organic": [ … organic results … ]
  },
  "metadata": {
    "hasAiOverview": true
  }
}

Integrate in Under 5 Minutes

A single cURL request is all you need. Set engine=brave and replace YOUR_API_KEY with the key from your dashboard.

cURL - Brave Deep Search
# The full Brave SERP object, with the AI digest asked for explicitly
curl "https://apiserpent.com/api/search?q=best+password+manager&engine=brave&num=20&country=us&include_aio=true" \
  -H "X-API-Key: YOUR_API_KEY"

# Organic only, built for rank tracking — one call, one charge
curl "https://apiserpent.com/api/search/quick?q=best+password+manager&engine=brave&num=20" \
  -H "X-API-Key: YOUR_API_KEY"
JSON Response (partial)
{
  "success": true,
  "query": "best password manager",
  "type": "web",
  "engine": "brave",
  "country": "us",
  "pagesRequested": 2,
  "pagesScraped": 2,
  "results": {
    "organic": [
      {
        "position": 1,
        "title": "The Best Password Managers of 2026",
        "url": "https://example.com/best-password-managers",
        "snippet": "We tested 14 managers on autofill, sharing and recovery...",
        "displayedUrl": "example.com"
      }
    ],
    "peopleAlsoAsk": [
      {
        "question": "Is a password manager actually safe?",
        "answer": "A vault is encrypted on your own device before...",
        "sourceUrl": "https://example.com/vault-security",
        "sourceTitle": "How Password Vaults Work",
        "sourceDisplay": "example.com › vault-security"
      }
    ],
    "relatedSearches": [
      { "query": "open source password manager" },
      { "query": "password manager for teams" }
    ],
    "richSnippets": [
      {
        "position": 1,
        "breadcrumb": "example.com › reviews › security",
        "publishDate": "2026-02-11",
        "rating": 4.6,
        "sitelinks": []
      }
    ],
    "aiOverview": { "text": "A password manager stores...", "sources": [] }
  },
  "metadata": {
    "totalOrganicResults": 20,
    "hasAiOverview": true,
    "hasPeopleAlsoAsk": true,
    "source": "brave"
  },
  "meta": {
    "totalOrganic": 20,
    "requestedNum": 20,
    "elapsed": "6421ms"
  }
}

Every Brave Endpoint, Fully Typed

Each endpoint returns a fixed key set. A block Brave's page did not carry comes back as its own empty value — null for objects, [] for lists — never as a missing key, so one parser covers every engine you point it at.

Web Search Fields (Deep)

  • organic[].position, .title, .url
  • organic[].snippet, .displayedUrl
  • peopleAlsoAsk[].question, .answer
  • peopleAlsoAsk[].sourceUrl, .sourceTitle
  • relatedSearches[].query
  • richSnippets[].breadcrumb, .publishDate
  • richSnippets[].rating, .priceRange, .phone
  • ads.top[], knowledgePanel, localPack[]
  • aiOverview.text (with include_aio)

News Search Fields

  • articles[].position
  • articles[].title
  • articles[].url
  • articles[].source
  • articles[].publishedTime
  • articles[].snippet
  • articles[].image
  • totalResults

Image & Video Fields

  • images[].thumbnail, .original
  • images[].width, .height
  • images[].source, .pageUrl
  • videos[].url, .duration, .thumbnail
  • videos[].views (number)
  • videos[].publisher, .embedUrl
  • videos[].publishedTime (YYYY-MM-DD)
  • videos[].description

Request Parameters

  • q (search query)
  • engine=brave
  • num (1–100; 1–50 on news)
  • pages (1–10 on web, 1–5 on news)
  • country (112 codes, e.g. us, de, in)
  • language (2-letter ISO, e.g. en, de)
  • freshness (h, d, w, m, y)
  • safe (off, moderate, strict)
  • include_aio (Deep, paid plans)
  • format (full, simple)

What a Brave Deep Search actually fills in

Brave's result page is not shaped like Google's, and pretending otherwise wastes your time. This is what to expect from engine=brave on /api/search, honestly, so you can decide before you spend a call.

BlockOn engine=braveWhat you get
Organic resultsYesRoughly 10–20 per result page, with title, URL, snippet and a clean display URL — the host on its own, with the breadcrumb path published separately.
Related searchesYesThe most consistently present block Brave has — returned as { query } objects, never bare strings.
People Also AskYesThe question, the full answer text, and the source page's URL, title and breadcrumb.
Rich snippetsYesBreadcrumb trail, publish date, star rating, price band, address and phone, keyed to the result's position.
AdsYesBrave's own sponsored slot above the organic list, with its visible "Sponsored" label.
Inline videosYesThe video carousel as a list — title, URL, duration, thumbnail and date. Video results that hold a real organic rank stay in organic, where they belong.
AI digestOpt-inDeep Search, paid plans, include_aio=true. Returned as aiOverview.text.
Knowledge panelWhere presentTitle, subtitle, description, deduplicated fact pairs and profile links.
Local packWhere presentBusiness name, address and opening state. Brave prints no star rating inside this block, so do not build a review-score chart on it.
Featured snippetUncommonThe key is always in the response; Brave surfaces this far less often than Google does.
Shopping blocksNoNot returned on this engine.
pixel_positionNoThe pixel-geometry beta covers google, yahoo, bing and ddg. A Brave response carries no pixel fields.

Quick Search is organic-only on every engine by design, Brave included — every block above is a Deep Search (/api/search) feature. The keys still ship on Quick, simply empty, so your parser never has to branch. Field definitions live in the API reference.

An independent index, and a page that answers differently

Brave runs its own crawler over its own web index, outside the Google and Microsoft families, and it does not personalise around a search history — a third opinion, not an echo.

A third opinion on who ranks

Brave ranks with its own signals, so a page that sits at position 3 on Google can be absent from Brave entirely, and vice versa. Teams tracking share of voice across engines use Brave to catch the gap: a competitor winning a query nobody else shows you.

No personalisation to control for

Brave does not build a profile of the searcher or reshape results around browsing history, so two captures of the same query and country are comparable. That is what makes a Brave time series usable as evidence rather than as noise you have to explain away.

Unusually rich breadcrumb data

Brave prints a full breadcrumb path under most organic results, and we publish it as richSnippets[].breadcrumb with the host separated from the path. In our own field-coverage sampling it is the best-covered enrichment of any engine we serve — useful for mapping a competitor's site structure straight out of a SERP.

The AI answer, without a second product

Brave is one of three engines here that accepts include_aio. You track the AI summary and the ten blue links from the same call, at the same price, instead of buying an AI-answer product alongside a SERP product.

What teams actually do with this endpoint

Brave data is bought for the things a Google-only view cannot tell you, and for the workloads where per-request pricing elsewhere makes the project impossible.

Multi-engine rank tracking

Rank trackers that sell "visibility across search engines" need a non-Google, non-Microsoft column to make the claim true. Quick Search on engine=brave returns organic rows only, is billed one call one charge, and takes the same num and country as the other four engines.

AI-answer monitoring

Brands now track whether a query returns an AI summary at all, and whether their page is the one it paraphrases. include_aio=true puts Brave's digest and the organic list in one response, and metadata.hasAiOverview gives you a clean boolean to chart over time.

RAG and agent retrieval

Teams building retrieval for an LLM want fresh, ranked URLs without a per-request bill that scales with the agent. Brave web search here starts at $0.60 per 1,000 calls and falls to $0.03 at Scale, with snippets long enough to rank candidates before you fetch anything.

Brand and news monitoring

Brave News returns about 29 articles a call with a real publisher name, an ISO publish date and a freshness filter down to the past day. Cheap enough at $0.01 per 1,000 on Scale to poll a watchlist of terms hourly rather than daily.

Content and SERP research

People Also Ask arrives with the answer text and the source page, and related searches are the most consistently present block Brave has. That is a question list and a topic map for a brief, from one Deep Search call.

Dataset and media collection

Image and video search return roughly 50 rows a call with dimensions, durations, embed URLs and numeric view counts. The same eight image keys and eleven video keys arrive on every engine, so a collector written for Brave runs unchanged against the rest.

What Brave results cost, and what they cost elsewhere

Brave's own Search API is metered, with a monthly credit rather than a standing free allowance. Here is that published rate next to ours, and what a month of Brave web search works out at on our tiers.

ProviderCost per 1,000 web searchesFree to start
Serpent API $0.60 Default · $0.06 Growth · $0.03 Scale free calls, any endpoint
Brave Search API $5.00 (Search plan, published rate) $5 of credit each month, no standing free tier

Brave's figures are its own published Search plan rate and monthly credit, read from brave.com/search/api on 7 September 2026; Brave's Enterprise plan is custom-priced and not published, so it is not in the table. Our Growth tier unlocks at a single $100 deposit and Scale at $500, and the tier locks to your largest single deposit. Prices change — re-check both before you budget.

10,000 searches
$0.30
Scale tier · $6.00 on Default
100,000 searches
$3.00
Scale tier · $60.00 on Default
1,000,000 searches
$30.00
Scale tier · $600.00 on Default

One call that returns nothing at all is refunded in full. A call that returns fewer results than you asked for is not refunded — instead it tells you, in meta.partialResults, so you always know what you paid for. Quick Search is billed one call, one charge, whatever depth you request.

Brave Search API Questions

The Serpent Brave Search API returns Brave's search results as structured JSON. It covers web search (Quick and Deep), news, images and videos through the same endpoint contract as the other four engines: you send engine=brave and read the same result keys you would read on any other engine.
Not in the old sense. Brave's own Search API now lists $5 per 1,000 requests with $5 of credit applied each month — roughly a thousand requests before a card is charged (checked on brave.com/search/api on 7 September 2026). Serpent gives every new account free calls, usable on any endpoint, and after that Brave web search is billed from $0.60 per 1,000 calls on Default down to $0.03 per 1,000 on Scale. Our guide to scraping Brave Search for free covers what changed and what the do-it-yourself route really costs.
Brave is billed at the same rates as every other engine in the catalog. Web search (Quick and Deep): $0.60 per 1,000 calls on Default, $0.06 on Growth, $0.03 on Scale. News: $0.20 / $0.02 / $0.01 per 1,000. Images: $0.35 / $0.32 / $0.25 per 1,000. Videos: $0.10 / $0.09 / $0.07 per 1,000. Growth unlocks at a single $100 deposit and Scale at $500, and your tier is locked to your largest single deposit — see pricing for the full rate card.
Add include_aio=true to a Deep Search call on engine=brave from a paid account. The digest comes back as results.aiOverview with a text field, and metadata.hasAiOverview tells you whether this response actually carried one. It is opt-in: without the parameter, aiOverview is null. Brave's digest carries no citation links of its own, so the sources array on this engine comes back empty. include_aio is not read on Quick Search.
Web search accepts num up to 100 on both Quick and Deep, and Brave's result pages carry roughly 10–20 organic results each. News is capped at num=50 and Brave has been measured returning about 29 articles. Images and videos have been measured at about 50 per call on Brave. num is a ceiling, not a promise: when a call comes back short, meta.partialResults says so rather than the response pretending it delivered.
On engine=brave, Deep Search fills ads, People Also Ask with answers and source links, related searches, inline videos, rich snippets, and — where the page carries them — a knowledge panel and a local pack. The AI digest is opt-in with include_aio=true. Every results key is present on every engine whether or not the page carried that block, so an absent block is an empty value, never a missing key. The block-by-block table above says what to expect from each one.
Yes. The country parameter accepts 112 codes — call GET /api/countries for the current list. The language parameter takes a 2-letter ISO 639-1 code, and language coverage is at its broadest on Brave. Brave also honours safe=off|moderate|strict and a freshness filter on web, news and video searches. Two Brave-specific notes worth knowing before you build: Brave's narrowest time window is the past day, so freshness=h narrows no further than freshness=d on this engine; and on /api/images Brave accepts language but not the size, type, colour, aspect, licence or time filters that the other engines take.
No. pixel_position is a Deep Search beta on engine=google, yahoo, bing and ddg. A Brave response carries no pixel_position or pixel_box fields, so use one of those four engines when you need on-page geometry — see the pixel position spec. Every other Deep Search parameter behaves the same way on Brave as it does everywhere else.
Serpent API provides access to publicly available search results. We recommend reviewing applicable terms and using the data for legitimate business purposes such as SEO monitoring, market research, competitive analysis and academic research.

Start using the Brave Search API

free calls apply to web, news, image and video endpoints alike. Brave search data from $0.03 per 1,000 calls. No credit card required to start.

Try for Free

Related guides

More on working with Brave search results in code.

Scrape Brave Search ResultsBrave's endpoint, its HTML results, and the API path. Scrape Brave for FreeWhat changed with Brave's own API, and the free route's real cost. Brave vs Google SERP DataWhere the two result sets diverge, block by block. Scraping vs a SERP APIThe honest trade-offs between building it and buying it. All SERP APIsWeb, news, images and video across five search engines. Rank Tracking APITrack keyword positions on Brave and four more engines.