Table of Contents
Firecrawl vs Tavily vs Exa: best web search API for AI agents (July 2026)
The pick for an accuracy-first agent, as of late July, is Firecrawl /search. On July 22 Firecrawl shipped a custom relevance model that returns only the excerpts answering your query, and its own eval puts a GPT-5.4 agent at 94.7% on OpenAI's SimpleQA set, per Firecrawl's launch post. Here is the part the announcement buries: at the Standard tier Firecrawl /search also runs about $1.66 per 1,000 searches, per Keiro Labs' pricing breakdown, which is cheaper than Tavily's $5 to $8 and Exa's $7. So the usual accuracy-versus-cost tradeoff mostly collapses on this one.
The tradeoffs that remain are real, and they flip the pick. Tavily wins on flat, forecastable billing and a fatter free tier for teams already wired into LangChain. Exa wins on semantic queries and on sub-200ms latency, per Exa, inside a tight agent loop. And Firecrawl's 94.7% is a number Firecrawl reported on a harness Firecrawl built, so treat it as a vendor claim. The one independent benchmark we found tells a flatter story.
Quick verdict by use case:
- Factual grounding, RAG, citation-required output: Firecrawl
/search. - High-volume steady-state search on a fixed budget: Tavily.
- Semantic discovery or latency-sensitive loops: Exa.
What actually changed since the June comparison
Three things moved, and all three matter for the pick.
Firecrawl rebuilt /search. Instead of handing your agent full pages, the new relevance model scores every paragraph, list, and table against the query and returns just the matching excerpts, per Firecrawl. Firecrawl says that cuts token consumption roughly 10x versus processing full pages, which is the difference between an agent that keeps its context window free for reasoning and one that chokes on boilerplate. The API shape did not change, so existing /search calls inherit the upgrade automatically.
Tavily got bought. Nebius Group agreed to acquire Tavily for $275 million in cash, potentially rising to $400 million on milestones, per Bloomberg's February 10 report and Nebius's own announcement. Founder Rotem Weiss and team joined Nebius. For a buyer, the read is stability plus a well-funded parent, not a pricing change: the published tiers held.
Exa shipped speed. Exa Instant, launched February 2026, returns results in roughly 100 to 200ms, per Exa's announcement and MarkTechPost's February 13 writeup. Exa also added an async Agent product billed per run. If your agent fires a search on every keystroke or every reasoning step, that latency floor is the spec that decides it.
How each one works, in three sentences
Firecrawl /search takes a query and returns ranked results where each result carries query-relevant markdown excerpts rather than the whole page. You can still ask for full-page markdown in the same call when you need it. It grew out of a URL-to-markdown extraction engine, so the same platform also does /scrape, /crawl, and a preview /agent endpoint.
Tavily takes a query and returns ranked, deduplicated passages scored for relevance, optionally with a synthesized answer. It is the LLM-native search tool most LangChain and n8n tutorials reach for first, built to be the one "web search" entry in an agent's toolbelt. Extraction is a separate endpoint you call on the URLs that matter.
Exa searches a semantic, embeddings-based index instead of re-querying the live web every call. Ask for "papers like this one" or "companies that do what this company does" and it returns conceptually close results a keyword engine would miss. It exposes a Contents API for full-page text and configurable latency down to the Instant tier.
The benchmarks, and who reported them
This is where honesty earns its keep. There are two different benchmarks in play, they measure different things, and only one of them is independent.
| Metric | Firecrawl | Tavily | Exa | Source |
|---|---|---|---|---|
| SimpleQA accuracy (Firecrawl's own harness, GPT-5.4 agent, 4,326 questions) | 94.7% | not disclosed as a number | not disclosed as a number | Firecrawl, Jul 22 2026 |
| Token use vs full pages (Firecrawl claim) | ~10x fewer | n/a | n/a | Firecrawl, Jul 22 2026 |
| Agent Score, independent (relevant x quality, higher is better) | 14.58 | 13.67 | 14.39 | AIMultiple agentic search benchmark |
| Median latency, independent | 1,335 ms | 998 ms | ~1,200 ms | AIMultiple |
| Fastest published search latency (vendor) | not published as a floor | not published as a floor | 100-200 ms (Instant) | Exa Instant |
Read the Firecrawl row as a vendor claim. In Firecrawl's eval, a GPT-5.4 agent with high reasoning and up to 20 tool calls hit 94.7%, against a 43.8% baseline for the same model with no search, per Firecrawl. That is a legitimate, well-specified test. It is also a test the vendor designed and ran, and it does not publish a comparable SimpleQA number for Tavily or Exa in machine-readable text, so we will not put a fabricated competitor percentage in the table.
Now the independent read. AIMultiple ran a relevance-and-quality benchmark (a different metric, likely predating Firecrawl's July upgrade) and ranked Firecrawl second at an Agent Score of 14.58, with Exa third at 14.39 and Tavily fifth at 13.67, per AIMultiple. The gap between Firecrawl and Exa there sits inside the confidence interval, so on that measure they are a statistical tie. AIMultiple also clocked Firecrawl as the slowest of the three at 1,335 ms median, with Tavily at 998 ms, per AIMultiple. Firecrawl's excerpt model looks strong, but "state of the art" is a self-reported crown here, and it carries a latency cost that Exa Instant undercuts by an order of magnitude.
The pricing, normalized to cost per 1,000 agent searches
Pricing is the most-searched and most-stale fact in this category, so this is the number to nail. A "search" here is one agent web query returning up to ~10 results. Every cell is cited and dated.
| Provider | Free tier | Cost per 1k searches (entry) | Cost per 1k searches (at volume) | Source |
|---|---|---|---|---|
Firecrawl /search | 1,000 credits/mo (~500 searches) | ~$1.66 (Standard) | ~$1.66 (Standard, $83/100k credits) | Firecrawl pricing; Keiro Labs |
| Tavily | 1,000 credits/mo | $8 (pay-as-you-go) | $5 (Growth, $500/100k credits) | Tavily pricing; ColdIQ |
| Exa Search | 20,000 requests/mo | $7 per 1k | $7 per 1k | Exa pricing |
The mechanics behind the cells, because the billing units genuinely differ:
- Firecrawl bills credits.
/searchcosts 2 credits per 10 results, per the Firecrawl pricing page. The Standard plan is $83/month for 100,000 credits, which works out to $0.83 per 1,000 credits, or about $1.66 per 1,000 ten-result searches, per Keiro Labs. The catch is the free tier: 1,000 credits is only ~500 searches before you need a card, per Firecrawl pricing. - Tavily also bills credits: a basic search is 1 credit, advanced is 2, per ColdIQ's breakdown. Pay-as-you-go is $0.008 per credit ($8 per 1,000 basic searches), and the Growth plan drops that to $0.005 per credit ($500 for 100,000 credits, so $5 per 1,000), per Tavily's pricing page and ColdIQ. The free Researcher tier gives 1,000 credits a month, per Tavily.
- Exa is the outlier on the free tier: up to 20,000 requests a month at no cost, per Exa's pricing page. Paid Search is $7 per 1,000 requests and bundles page text and highlights; Deep Search runs $12 to $15 per 1,000, and standalone Contents is $1 per 1,000 pages, per Exa.
Two things the table flattens. Firecrawl is cheapest per search at the Standard tier but has the smallest free allotment, so it costs the most to prototype and the least to run. Exa is the reverse: 20,000 free requests a month is 20x Tavily's free credits, per Exa, which makes it the cheapest way to build before you have traffic.
Wire up all three and see the shapes
Install the SDKs and set your keys once:
pip install firecrawl-py tavily-python exa-py
export FIRECRAWL_API_KEY="<YOUR_FIRECRAWL_KEY>"
export TAVILY_API_KEY="<YOUR_TAVILY_KEY>"
export EXA_API_KEY="<YOUR_EXA_KEY>"
Firecrawl /search returns excerpts by default, no code change needed to get the upgraded relevance model:
from firecrawl import Firecrawl
firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")
results = firecrawl.search(
"what changed in the EU AI Act enforcement timeline",
limit=5,
scrape_options={"formats": ["markdown"]},
)
for r in results.web:
print(r.title, "-", r.url)
print(r.markdown[:200]) # query-relevant excerpt, not the whole page
Tavily's call is one line and hands back ranked passages:
from tavily import TavilyClient
client = TavilyClient() # reads TAVILY_API_KEY from env
hits = client.search("firecrawl search benchmark simpleqa", max_results=5)
for r in hits["results"]:
print(r["url"], "-", r["title"])
Exa, with the low-latency path for tight agent loops:
from exa_py import Exa
exa = Exa() # reads EXA_API_KEY from env
res = exa.search_and_contents(
"papers similar to the SimpleQA factuality benchmark",
num_results=5,
text=True, # page text + highlights bundled in the Search price
)
for r in res.results:
print(r.url, "-", r.title)
Tested scenario shape. Input: the query "what changed in the EU AI Act enforcement timeline". Command: the Firecrawl block above. Expected output: five result objects, each with title, url, and a markdown field holding a short excerpt (a paragraph or table row) rather than the full page, per the excerpt behavior documented in Firecrawl's launch post. Swap the client and the same query returns ranked passages from Tavily and semantic results from Exa, so you can diff the three on your own queries before committing a budget.
When Firecrawl wins
Pick Firecrawl /search when the agent's job is factual grounding and every wasted token costs you. RAG pipelines, citation-required outputs, lead enrichment that needs one specific figure off a page: the excerpt model is built for exactly this, returning the sentence or table row that answers the query instead of 4,000 tokens of navigation and footer, per Firecrawl. At Standard tier it is also the cheapest of the three per search at ~$1.66 per 1,000, per Keiro Labs, which makes the accuracy pick and the cost pick the same tool at volume.
The candid con: Firecrawl carries the highest median latency of the three in the one independent benchmark we found, at 1,335 ms, per AIMultiple. For a batch RAG job that runs overnight, irrelevant. For a live chat agent searching on every turn, you will feel it. And /agent is still a preview with 5 free runs a day then dynamic pricing, per Firecrawl pricing, so it is a prototyping tool, not a billing-stable dependency yet.
When Tavily wins
Pick Tavily when you want steady-state volume on a bill you can forecast, and when your team already lives in LangChain or n8n. The per-credit model is dead simple to model in a spreadsheet, and at the Growth plan it lands at $5 per 1,000 searches ($500 for 100,000 credits), per Tavily pricing and ColdIQ. It is the one every framework tutorial wires in first, so the integration cost is near zero. The Nebius acquisition, if anything, is a stability signal for a production dependency, per Nebius.
The candid con: at that same volume Tavily is roughly 3x the cost of Firecrawl /search per query, per Keiro Labs. And it ranked below both Firecrawl and Exa on the independent relevance benchmark at an Agent Score of 13.67, per AIMultiple. You are paying for predictability and ecosystem fit, not for the top accuracy score.
When Exa wins
Pick Exa for two jobs. First, semantic discovery: when the query is conceptual and keyword matching fails, the embeddings index returns "things like this" that a live search engine misses, and it took the highest quality score on technical-documentation queries in the independent test, per AIMultiple. Second, latency: Exa Instant returns in roughly 100 to 200 ms, per Exa, which is the only sub-second option here and the right call inside a tight agentic loop or a real-time copilot. The 20,000-request free tier makes it the cheapest place to prototype either, per Exa pricing.
The candid con: a curated index can lag the live web on breaking, time-sensitive queries, where Tavily's live search stays fresher. Exa's paid Search at $7 per 1,000 also sits above Firecrawl's Standard-tier cost, per Exa pricing and Keiro Labs, so it is not the budget pick at scale.
The verdict, by who you are
Solo builder shipping a side project. Start on Exa's 20,000-request free tier, per Exa. You can build and demo a real search agent at zero cost, and the semantic index is forgiving of rough queries. Only reach for Firecrawl's small free tier if you specifically need excerpt-grounded factual answers from the first commit.
Ops lead choosing a production backend. Firecrawl /search is the default for accuracy-first agents, and the Standard-tier math makes it the cost pick too at ~$1.66 per 1,000 searches, per Keiro Labs. The flip condition is latency: if your agent searches on every turn of a live conversation, Firecrawl's 1,335 ms median, per AIMultiple, is too slow, and Exa Instant at 100 to 200 ms, per Exa, is the better spine. If your team is already deep in LangChain and wants one forecastable bill, Tavily is the low-friction choice even at 3x the per-query cost.
ML engineer running literature-grounded or high-volume work. Firecrawl is the backbone, with the excerpt model keeping context windows lean across long tool chains, per Firecrawl. Keep Exa in the stack for semantic discovery where keyword search would miss the right paper. Treat the 94.7% SimpleQA figure as a vendor-reported ceiling, not a guarantee for your queries, and diff the three on your own before committing a budget.
If Firecrawl is your pick, you can start free with Firecrawl on the 1,000-credit tier to confirm the excerpt shape your pipeline expects, then move to Standard once you clear a few thousand searches a month.
For the deeper single-tool view, see our Firecrawl pricing breakdown and the Firecrawl Research Index walkthrough if your agents do literature work.
