Best Web Search APIs for LLM Agents: 2026 Comparison
Compare the best web search APIs for LLM agents from 12 providers, including Exa, Firecrawl, Parallel, Tavily and Brave, by search quality, speed and cost. Best by search quality: Parallel basic at 46.5% F1. Fastest by median task time: SERP at 31.4s. Cheapest by median task cost: SERP at $0.103, including LLM and search API spend. Independent multiple-search benchmark results using search results and snippets, with official API docs for LLM agents and RAG.
Same run, by audience: Best Web Search API for Developers 2026: LLM Apps and LLM Agents → · Best web search API for LLM apps 2026 →
Use each provider's official docs to check endpoints, parameters and access requirements. For agents that also scrape pages, see the search-and-scrape benchmark.
Best web search API for AI agents 2026 →
2026-09-15 Hard retrieval: Benchmarked Nimble lite and standard plus You highlights with and without knowledge=core on search-only and search + scrape; 100 tasks across three repeats per configuration and mode. Full changelog →
Which web search API should your LLM agent use?
Choose a web search API by comparing quality, speed and cost for the search pattern your app uses. These tables use search results and snippets. Look at the full web search benchmark if you want both search and scrape APIs.
- Multiple searches: Parallel basic leads this comparison with 46.5% F1 across 45 questions. Compare F1, latency and cost together to choose an API for your requirements.
- Developer search: Perplexity leads this developer-search comparison at 77.3% completion.
- Single search for grounding: Exa (type=fast) leads this comparison at 99.3% answer accuracy.
Web search API comparison for LLM agents: quality, latency and cost
Compare APIs when an LLM agent makes multiple searches to answer a question. Ranked by F1 across 45 questions, using search results and snippets.
Rows are ordered by F1 on this task. Median time includes the agent's reasoning and repeated searches. Median task cost and API list price are shown separately; blank prices indicate unavailable data. Endpoint and configuration are shown so you can compare the actual modes tested. Check current provider terms before estimating a production bill.
| Provider | Endpoint & configuration | Official docs | F1 | Precision | Recall | Exact set | Median time | Mean turns | Median task cost | API list price |
|---|---|---|---|---|---|---|---|---|---|---|
| Parallel basic | POST /v1/search mode=basicparallel-basic | Parallel basic official docs | 46.5 ± 1.9 | 88.7 ± 0.9 | 34.4 ± 2.0 | 3.7 ± 2.6 | 67.6 s | 7.4 | $1.120$0.070 search$1.050 token cost | $0.005 / search |
| Exa deep | POST /search type=deepexa-deep | Exa deep official docs | 45.4 ± 2.0 | 83.2 ± 3.0 | 33.7 ± 1.4 | 1.5 ± 1.3 | 89.5 s | 7.4 | $0.717$0.156 search$0.556 token cost | $0.012 / search |
| Parallel advanced | POST /v1/search mode=advancedparallel-advanced | Parallel advanced official docs | 44.2 ± 1.4 | 87.6 ± 3.4 | 32.0 ± 1.6 | 2.2 ± 0.0 | 83.4 s | 7.3 | $0.625$0.070 search$0.565 token cost | $0.005 / search |
| Exa instant | POST /search type=instantexa-instant | Exa instant official docs | 43.3 ± 1.0 | 82.6 ± 3.8 | 32.2 ± 0.5 | 3.0 ± 1.3 | 49.8 s | 7.3 | $0.652$0.091 search$0.559 token cost | $0.007 / search |
| Linkup fast | POST /v1/search depth=fastlinkup-fast | Linkup fast official docs | 41.1 ± 1.7 | 82.8 ± 1.0 | 30.3 ± 1.5 | 0.7 ± 1.3 | 64.2 s | 7.4 | $0.923$0.070 search$0.853 token cost | $0.005 / search |
| Tavily advanced | POST /search search_depth=advancedtavily-advanced | Tavily advanced official docs | 41.1 ± 2.3 | 83.7 ± 4.2 | 29.8 ± 1.7 | 2.2 ± 0.0 | 92.2 s | 7.4 | $1.029$0.224 search$0.808 token cost | $0.016 / search |
| Linkup standard | POST /v1/search depth=standardlinkup-standard | Linkup standard official docs | 40.6 ± 0.9 | 84.0 ± 7.9 | 29.7 ± 1.4 | 1.5 ± 2.6 | 72.3 s | 7.3 | $0.937$0.070 search$0.867 token cost | $0.005 / search |
| You | POST /v1/searchextraction_mode=highlights | You official docs | 38.6 ± 0.8 | 79.3 ± 4.9 | 28.3 ± 0.9 | 4.4 ± 0.0 | 48.2 s | 7.5 | $0.971$0.070 search$0.901 token cost | $0.005 / search |
| You | POST /v1/searchextraction_mode=highlights · knowledge=core | You official docs | 38.1 ± 0.6 | 80.9 ± 1.6 | 27.4 ± 0.9 | 3.0 ± 1.3 | 47.6 s | 7.5 | $0.895$0.070 search$0.827 token cost | $0.005 / search |
| Parallel fast | POST /v1/search mode=fastparallel-fast | Parallel fast official docs | 38.0 ± 2.0 | 79.9 ± 4.6 | 27.5 ± 1.4 | 1.5 ± 1.3 | 53.9 s | 7.6 | $0.460$0.014 search$0.447 token cost | $0.001 / search |
| Perplexity | POST /searchsearch_context_size=low | Perplexity official docs | 37.8 ± 2.1 | 79.3 ± 5.7 | 26.8 ± 1.4 | 2.2 ± 2.2 | 48.9 s | 7.7 | $0.334$0.070 search$0.264 token cost | $0.005 / search |
| Tavily basic | POST /search search_depth=basictavily-basic | Tavily basic official docs | 36.5 ± 3.2 | 82.5 ± 1.9 | 25.7 ± 2.7 | 1.5 ± 1.3 | 63.0 s | 7.7 | $0.615$0.112 search$0.504 token cost | $0.008 / search |
| Parallel turbo | POST /v1/search mode=turboparallel-turbo | Parallel turbo official docs | 34.7 ± 2.4 | 80.0 ± 5.2 | 24.8 ± 2.4 | 1.5 ± 1.3 | 46.4 s | 7.6 | $0.419$0.014 search$0.405 token cost | $0.001 / search |
| Nimble | POST /v2/searchsearch_depth=standard · full_content=false · focus=general | Nimble official docs | 30.7 ± 1.4 | 70.3 ± 3.3 | 21.3 ± 1.1 | 0.7 ± 1.3 | 53.0 s | 7.7 | $0.467$0.070 search$0.398 token cost | $0.005 / search |
| Firecrawl | POST /v2/searchfirecrawl | Firecrawl official docs | 30.4 ± 1.1 | 77.3 ± 4.4 | 20.7 ± 0.7 | 2.2 ± 0.0 | 75.0 s | 7.9 | $0.282$0.070 search$0.212 token cost | $0.005 / search |
| Brave Search | GET /res/v1/web/searchbrave | Brave Search official docs | 28.0 ± 1.7 | 66.9 ± 8.5 | 19.3 ± 0.5 | 0.7 ± 1.3 | 43.5 s | 8.0 | $0.268$0.070 search$0.200 token cost | $0.005 / search |
| TinyFish | GET api.search.tinyfish.aitinyfish | TinyFish official docs | 26.6 ± 1.3 | 64.7 ± 1.5 | 17.9 ± 0.8 | 1.5 ± 1.3 | 64.2 s | 7.9 | $0.212$0.000 search$0.212 token cost | $0 / search |
| Nimble | POST /v2/searchsearch_depth=lite · full_content=false · focus=general | Nimble official docs | 25.3 ± 1.1 | 62.8 ± 1.9 | 17.6 ± 1.2 | 1.5 ± 1.3 | 67.9 s | 7.9 | $0.234$0.015 search$0.220 token cost | $0.0011 / search |
| Seltz | POST /v1/search scope=companiesseltz-companies | Seltz official docs | 14.5 ± 0.9 | 40.0 ± 3.1 | 9.4 ± 0.7 | 0.0 ± 0.0 | 55.2 s | 7.3 | $1.751$0.070 search$1.681 token cost | $0.005 / search |
| SERP | GET google-search74.p.rapidapi.comserp | SERP official docs | 0.4 ± 0.6 | 0.7 ± 1.3 | 0.3 ± 0.4 | 0.0 ± 0.0 | 31.4 s | 7.8 | $0.103$0.036 search$0.065 token cost | $0.003 / search |
F1, precision, recall, and exact-set accuracy are percentages reported as mean ± sample SD across three independent runs; each run aggregates all 45 questions. SD is measured in percentage points. Median time is the median end-to-end time across all runs for each vendor. Median task cost is the median of LLM $ plus search API $ per agent run. API list price is the PAYG unit rate of the search endpoint the harness calls.
Web search APIs for developers
Compare web search APIs for developers on 100 held-out tasks. Ranked by task completion using search results and snippets.
| Rank | Vendor | Endpoint & configuration | Official docs | Task completion |
|---|---|---|---|---|
| 1 | Perplexity | POST /search search_context_size=low | Perplexity official docs | 77.3 ± 2.1 |
| 2 | Firecrawl | POST /v2/search | Firecrawl official docs | 70.3 ± 1.5 |
| 3 | Parallel fast | POST /v1/search mode=fast | Parallel fast official docs | 66.7 ± 1.5 |
| 4 | Exa fast | POST /search type=fast | Exa fast official docs | 66.3 ± 1.5 |
| 5 | Parallel turbo | POST /v1/search mode=turbo | Parallel turbo official docs | 64.7 ± 2.1 |
| 6 | Exa instant | POST /search type=instant | Exa instant official docs | 61.3 ± 2.9 |
| 7 | TinyFish | GET api.search.tinyfish.ai | TinyFish official docs | 59.3 ± 1.5 |
| 8 | Tavily basic | POST /search search_depth=basic | Tavily basic official docs | 51.0 ± 5.3 |
| 9 | Nimble | POST /v2/search search_depth=lite · full_content=false · focus=general | Nimble official docs | 46.7 ± 3.8 |
| 10 | Linkup fast | POST /v1/search depth=fast | Linkup fast official docs | 43.3 ± 1.1 |
| 11 | Nimble | POST /v2/search search_depth=standard · full_content=false · focus=general | Nimble official docs | 42.3 ± 2.5 |
| 12 | You | POST /v1/search extraction_mode=highlights | You official docs | 41.3 ± 3.1 |
| 13 | You | POST /v1/search extraction_mode=highlights · knowledge=core | You official docs | 38.3 ± 3.2 |
| 14 | Brave | POST /res/v1/llm/context | Brave official docs | 38.0 ± 2.6 |
Task completion is mean ± SD of 3 runs; n = 100 tasks.
Single search for grounding: web search API comparison
Compare answer accuracy from a single web search across 300 questions. Each query returns up to 10 snippets, with the same answer-extraction model for every API.
| Rank | Vendor | Endpoint & configuration | Official docs | Accuracy | AR@1 | AR@5 |
|---|---|---|---|---|---|---|
| 1 | Exaweb searchfast | POST /searchtype=fast | Exa fast official docs | 99.3% | 95.0% | 99.3% |
| 2 | Contextweb search | POST api.context.dev/v1/web/searchnumResults=10 · highlights maxCharacters=1200 | Context official docs | 98.0% | 88.7% | 98.3% |
| 3 | Exaweb searchinstant | POST /searchtype=instant | Exa instant official docs | 97.7% | 80.0% | 97.3% |
| 4 | Perplexityweb search | POST /searchsearch_context_size=low | Perplexity low official docs | 97.3% | 91.7% | 98.3% |
| 5 | Linkupweb searchfast | POST /v1/searchdepth=fast · outputType=searchResults | Linkup fast official docs | 96.7% | 79.0% | 94.7% |
| 6 | SERPgoogle search | GET google-search74.p.rapidapi.comlimit=10 | SERP official docs | 96.0% | 78.0% | 95.0% |
| 7 | Firecrawlweb search | POST /v2/search | Firecrawl official docs | 95.3% | 77.7% | 96.7% |
| 8 | Nimbleweb searchlite | POST /v2/searchsearch_depth=lite · full_content=false · focus=general | Nimble official docs | 94.3% | 59.7% | 93.7% |
| 9 | Brave Searchweb searchBrave LLM context | POST /res/v1/llm/contextcount=10 | Brave LLM context official docs | 94.0% | 81.0% | 94.7% |
| 10 | Brave Searchweb search | GET /res/v1/web/searchcount=10 · result_filter=web | Brave Search official docs | 93.3% | 79.3% | 91.7% |
| 11 | Nimbleweb searchstandard | POST /v2/searchsearch_depth=standard · full_content=false · focus=general | Nimble official docs | 93.0% | 86.3% | 94.3% |
| 12 | Tavilyweb searchadvanced | POST /searchsearch_depth=advanced | Tavily advanced official docs | 93.0% | 65.0% | 92.7% |
| 13 | TinyFishweb search | GET api.search.tinyfish.aifree · 30 req/min cap | TinyFish official docs | 92.0% | 74.3% | 90.7% |
| 14 | Linkupweb searchstandard | POST /v1/searchdepth=standard · outputType=searchResults | Linkup standard official docs | 92.0% | 67.3% | 90.3% |
| 15 | Youweb searchhighlights core | POST /v1/searchextraction_mode=highlights · knowledge=core | You official docs | 92.0% | 67.3% | 89.7% |
| 16 | Youweb searchhighlights | POST /v1/searchextraction_mode=highlights | You official docs | 90.7% | 72.0% | 89.7% |
| 17 | Tavilyweb searchbasic | POST /searchsearch_depth=basic | Tavily basic official docs | 87.7% | 82.0% | 87.7% |
Compare individual search API providers for LLM agents
Pairwise pages compare providers on the same three search patterns, with separate results for each.
Exa vs Tavily · Tavily vs Parallel · Brave Search vs Exa · Linkup vs Firecrawl · Parallel vs Exa · Linkup vs Tavily · Exa vs Perplexity · Brave Search vs Tavily · Exa vs Firecrawl · Brave Search vs Parallel · Perplexity vs Parallel · You vs Parallel · Linkup vs Parallel · Firecrawl vs Parallel · TinyFish vs Parallel · Exa alternatives
Best web search API for LLM agents: FAQ
What is the best web search API for LLM agents in 2026?
Parallel basic ranks first in this web search API comparison, with 46.5% F1 across 45 questions requiring multiple searches, using search results and snippets. The same agent and questions are used for every API. Use the quality, latency and cost results to shortlist web search APIs for your LLM agent or RAG app, then evaluate them on your own questions.
How should I compare search APIs for an LLM agent?
Compare three search patterns: multiple searches, developer search and a single search for grounding. The multiple-search comparison uses F1 across 45 questions. Precision measures how many returned answers are correct, recall measures how many expected answers were found, and F1 balances the two. Read latency and cost alongside quality rather than combining different tasks into one score.
Do the latency and pricing columns measure an API call or a complete agent task?
Median time measures the complete agent run, including reasoning and repeated searches. Median task cost shows the measured cost per run and its available API and model components. API list price gives the provider’s unit rate separately. Blank costs indicate unavailable data. Use current provider pricing and your expected usage to estimate a monthly bill.
Should my LLM agent use search-only or search and scrape?
The rankings on this page use search-only results and snippets. If your agent can scrape pages, use the separate search-and-scrape board in the full web search benchmark: scraping changes the available evidence and can change the winner. Compare providers within the mode your agent uses.
How should I choose a web search API for RAG?
For retrieval-augmented generation (RAG) that uses the public web, compare search quality, latency, cost and the content returned to your model. Use the single-search results for grounding from one query and the multiple-search results for agents that gather evidence across several queries. Shortlist providers from these measured comparisons, then test citation support, freshness, domain coverage and answer quality on your own RAG questions.
Where can I find the official API documentation for these search providers?
Each comparison table includes an Official docs column linking to the provider's documentation for the API or endpoint being tested. Use those links to check request parameters, returned content and access requirements before integrating an API. The documentation describes the provider's API; the rankings come from our benchmark results.
Is this comparison independent and reproducible?
Inclusion and rank are independent of vendor payments. The model, question set and scoring protocol are held constant within each task. Open source code and public dataset samples accompany the benchmark; scoring questions are held out. The multiple-search comparison uses 45 company-discovery questions; developer search uses 100 documentation tickets; single search for grounding uses 300 company-news questions. These datasets define the scope of the results.
[06] changelog+
Benchmarked Nimble lite and standard plus You highlights with and without knowledge=core on search-only and search + scrape; 100 tasks across three repeats per configuration and mode.











