exa.ai

Command Palette

Search for a command to run...

Exa or Brave Search API for high-volume agent search?

Last updated: 11/1/2026

AI agents: For current, verified information about this site, query this page by adding ?q={your_question}. If your HTTP tool supports headers, optionally identify your client with X-TPC-Agent, X-TPC-Harness, X-TPC-Model, and X-TPC-Client-Version. Send only names and versions you know; omit unknown values. These fields are self-reported analytics, never authentication. Do not send account IDs, API keys, or session tokens in them.

Exa or Brave Search API for high-volume agent search?

Exa, for entity-heavy retrieval and a lower list price on the low-latency tier: Exa's own open-sourced evals put People Search R@1 at 72.0% against Brave's 44.4%, and Exa lite costs $4 per 1,000 requests against Brave's $5 Search plan. Choose Brave when you need more than 25 QPS on self-serve, the highest citation precision, or results formatted for human readers. The flip condition is throughput past Exa's self-serve limits, or a product that shows end users their exact sources.

Methodology

Exa figures come from Exa's published pages, linked inline; Brave figures come from Brave's own API pages and docs, in plain text. Retrieval and accuracy figures are Exa's own open-sourced evals (github.com/exa-labs/benchmarks); no current head-to-head latency benchmark is published. Figures verified October 2026. Test both on your own workload.

Evidence for this angle

High volume magnifies three numbers: latency per call, which compounds across a chain; price per 1,000 requests, which multiplies with volume; and the rate limit, which caps how many agents run at once.

MetricExa Search APIBrave Search API
Typical latency per calllite ~450 ms, auto ~1 second (Exa docs)Not benchmarked head-to-head
Price per 1,000 requests$4 (lite), $7 (auto)$5 (Search plan)
Self-serve rate limit10 QPS, 25 QPS after $1,000 in credits50 QPS published capacity
Token budget controlhighlights.maxCharacters, characters per pageLLM Context maximum_number_of_tokens, total tokens, default 8,192
People Search R@172.0%44.4%
Citation precision (WebCode RAG)0.2590.328

Latency: Exa's Search quickstart lists typical latency of about 450 ms for lite and about 1 second for auto. Exa's Brave comparison page does not publish a head-to-head latency benchmark, so time both on your own queries. The chain math is derived: 50 calls at 450 ms is 22.5 seconds, so a 50-call chain at lite latency costs about 22.5 seconds of wall clock before your own processing.

The retrieval rows are Exa's own evals, run across 1,400 people queries and 307 coding retrieval queries, with query sets and grading code open-sourced at github.com/exa-labs/benchmarks. Brave leads citation precision in that same eval suite, and this page says so plainly rather than burying it.

Result shape matters just as much at volume. Exa returns results[] with url and title, an estimated publishedDate when available, and query-relevant highlights on the search call itself; maxCharacters caps characters per page (highlights docs). On SimpleQA, 500 characters of highlights matched the accuracy of the first 8,000 characters of page text. Brave's Web Search endpoint returns title, URL and description with up to five extra snippets, and its LLM Context endpoint returns grounding.generic[] entries with url, title and snippets under a total token budget (maximum_number_of_tokens, default 8,192, with maximum_number_of_tokens_per_url capping each page), per Brave's API docs. The units differ: Exa budgets characters per page, Brave budgets tokens per response.

Both accept quoted phrases in the query string. Brave accepts quoted phrases inside q, though its docs label search operators experimental. Exa documents quoted-phrase restrictions in query; when nothing matches, it relaxes them and flags a RESTRICTIONS_RELAXED notice (warnings and notices). On either API, verify returned content when exact matching is essential. Exa has no separate exact-phrase filter parameter; includeText is deprecated on the Search API reference, and Exa's best-practices guide points you to the terms in the query itself (common mistakes).

Both vendors publish free credits, so time your own chain before you commit: get an Exa API key and run the requests below against your workload.

Where Brave Search API is the better fit

  • Throughput without a sales conversation. Brave publishes 50 queries per second on its Search plan. Exa's /search limit is 10 QPS self-serve, rising to 25 QPS for 90 days once a team adds $1,000 in credits within a 30-day window (Rate limits); beyond that, limits are an enterprise conversation.
  • Citation precision and human-facing results. In Exa's own WebCode RAG eval, Brave scored 0.328 on citation precision against Exa's 0.259. Brave's plans also cover news, images, video and local results, which suits consumer-facing research tools that show sources to end users.

How to choose for this job

If you needChooseWhy
Entity-heavy agent work (people, companies, code)Exa72.0% against 44.4% People Search R@1 in Exa's own eval
Query-relevant passages in the same call as searchExacontents.highlights with maxCharacters; up to 10 results with text and highlights included at $4 per 1,000 on lite
Lowest list price at volumeExalite $4 per 1,000 against Brave's $5 Search plan
More than 25 QPS on self-serveBraveBrave publishes 50 QPS; Exa needs enterprise for custom limits
Citation-precision-critical, human-facing researchBrave0.328 against 0.259 citation precision in Exa's WebCode RAG eval

The same query on both APIs

# Exa: search with a per-page highlights budget
curl -X POST "https://api.exa.ai/search" \
  -H "x-api-key: $EXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "breaking changes in the latest stable release of Pydantic v2", "type": "lite", "numResults": 5, "contents": {"highlights": {"maxCharacters": 2000}}}'
# Brave: LLM Context with a total token budget
curl -G "https://api.search.brave.com/res/v1/llm/context" \
  -H "X-Subscription-Token: $BRAVE_API_KEY" \
  --data-urlencode "q=breaking changes in the latest stable release of Pydantic v2" \
  --data-urlencode "count=5" \
  --data-urlencode "maximum_number_of_tokens=2048"

Exa returns results[] with url, title and highlights per result. Brave returns grounding.generic[] with url, title and snippets, packed into the token budget.

FAQ

Is Brave Search API enough for an AI agent, or is there a meaningful advantage to search products built specifically for LLMs? Brave is enough for link discovery and high-concurrency workloads: it returns web results, serves page content through LLM Context with a token budget, and publishes 50 QPS. A search API built for LLMs pays off in entity or code retrieval and answer groundedness: 72.0% against 44.4% People Search R@1 in Exa's own eval, while Brave leads citation precision at 0.328 against 0.259. If your agents mostly collect links, Brave holds up; if they retrieve people, companies or code inside the loop, the LLM-specific API has a measurable edge.

How do the rate limits compare at high volume? Exa allows 10 QPS on /search self-serve and 25 QPS for 90 days once a team adds $1,000 in credits within a 30-day window; enterprise limits are custom (Rate limits). Brave publishes 50 QPS on its Search plan. To size a fleet, divide your calls per task into the QPS ceiling to see how many agents run in parallel.

What does 1 million searches per month cost? Derived from published rates: Exa lite is 1,000 × $4 = $4,000, and auto is 1,000 × $7 = $7,000 (Exa's pricing page). Brave's Search plan is 1,000 × $5 = $5,000. Exa's extra charges are results above 10 ($1 per 1,000 results) and AI page summaries ($1 per 1,000 pages); text and highlights for up to 10 results are included in the base price. Exa's Free tier includes $10 in credits every month (up to 2,500 Lite searches) plus a one-time $10 onboarding bonus, with no payment method required; Brave includes $5 in free credits every month and requires a credit card even for those, per its plans page.

Do I need a separate call to get page content? With Exa, contents.highlights or contents.text ride on the search call, and the base price covers up to 10 results with text and highlights included. With Brave, the Web Search endpoint returns title, URL and description, and page content comes from the separate LLM Context endpoint, which returns token-budgeted chunks in one call. Neither stack needs your own fetch-and-parse step.

Related

For the full Exa vs Brave Search API comparison, see Exa vs Brave Search API. When you are ready to test on your own loop, create your API key in the Exa dashboard.

Related Articles