Most accurate web search API for LLM agents
Most accurate, by audience: AI and LLM agents → · Most accurate web search API for LLM apps →
Exa (type=fast) leads factual lookup at 99.3% across 300 questions. Independent 2026 benchmark (open source code, public dataset sample, held-out scoring set). Accuracy of web search APIs for AI agents and LLM agents on each of the three tasks. This page keeps accuracy columns only.
How to pick. Start from the task that matches your workflow, then read that accuracy board.
- One fact, one query. Read factual lookup. Prefer
Accuracy, thenAR@1orAR@5. - Seated deep in a unique page, across very similar pages. Read hard retrieval. Prefer
Task completionon the search & fetch or search-only board that matches your tool setup. - One query is not enough. Read multi-hop search. Prefer
F1, then precision versus recall.
Factual lookup
Extracted-answer accuracy, AR@1, and AR@5 on identical queries, max 10 results.
| Rank | Vendor | Endpoint & configuration | Accuracy | AR@1 | AR@5 |
|---|---|---|---|---|---|
| 1 | Exaweb searchfast | POST /searchtype=fast | 99.3% | 95.0% | 99.3% |
| 2 | Contextweb search | POST api.context.dev/v1/web/searchnumResults=10 · highlights maxCharacters=1200 | 98.0% | 88.7% | 98.3% |
| 3 | Exaweb searchinstant | POST /searchtype=instant | 97.7% | 80.0% | 97.3% |
| 4 | Perplexityweb search | POST /searchsearch_context_size=low | 97.3% | 91.7% | 98.3% |
| 5 | Linkupweb searchfast | POST /v1/searchdepth=fast · outputType=searchResults | 96.7% | 79.0% | 94.7% |
| 6 | SERPgoogle search | GET google-search74.p.rapidapi.comlimit=10 | 96.0% | 78.0% | 95.0% |
| 7 | Firecrawlweb search | POST /v2/search | 95.3% | 77.7% | 96.7% |
| 8 | Nimbleweb searchlite | POST /v2/searchsearch_depth=lite · full_content=false · focus=general | 94.3% | 59.7% | 93.7% |
| 9 | Brave Searchweb searchBrave LLM context | POST /res/v1/llm/contextcount=10 | 94.0% | 81.0% | 94.7% |
| 10 | Brave Searchweb search | GET /res/v1/web/searchcount=10 · result_filter=web | 93.3% | 79.3% | 91.7% |
| 11 | Nimbleweb searchstandard | POST /v2/searchsearch_depth=standard · full_content=false · focus=general | 93.0% | 86.3% | 94.3% |
| 12 | Tavilyweb searchadvanced | POST /searchsearch_depth=advanced | 93.0% | 65.0% | 92.7% |
| 13 | TinyFishweb search | GET api.search.tinyfish.aifree · 30 req/min cap | 92.0% | 74.3% | 90.7% |
| 14 | Linkupweb searchstandard | POST /v1/searchdepth=standard · outputType=searchResults | 92.0% | 67.3% | 90.3% |
| 15 | Youweb searchhighlights core | POST /v1/searchextraction_mode=highlights · knowledge=core | 92.0% | 67.3% | 89.7% |
| 16 | Youweb searchhighlights | POST /v1/searchextraction_mode=highlights | 90.7% | 72.0% | 89.7% |
| 17 | Tavilyweb searchbasic | POST /searchsearch_depth=basic | 87.7% | 82.0% | 87.7% |
Hard retrieval
Grounded task completion. Search & fetch and search-only are separate rankings.
View full hard retrieval benchmark: web search for coding agents →
| Rank | Vendor | Endpoint & configuration | Task completion |
|---|---|---|---|
| 1 | Exa deep | POST /search type=deepPOST /contents | 83.0 ± 1.0 |
| 2 | Exa auto | POST /search type=autoPOST /contents | 81.7 ± 1.1 |
| 3 | TinyFish | GET api.search.tinyfish.aiPOST api.fetch.tinyfish.ai format=markdown | 79.0 ± 2.0 |
| 4 | Perplexity | POST /search search_context_size=highPOST /search search_context_size=high | 77.7 ± 1.5 |
| 5 | Parallel advanced | POST /v1/search mode=advancedPOST /v1/extract | 77.0 ± 1.0 |
| 6 | Parallel basic | POST /v1/search mode=basicPOST /v1/extract | 76.0 ± 0.0 |
| 7 | Firecrawl | POST /v2/searchPOST /v2/scrape | 76.0 ± 1.0 |
| 8 | Nimble | POST /v2/search search_depth=lite · full_content=false · focus=generalPOST /v2/extract formats=[markdown] | 60.3 ± 2.5 |
| 9 | Tavily advanced | POST /search search_depth=advancedPOST /extract extract_depth=advanced | 60.0 ± 2.0 |
| 10 | Tavily basic | POST /search search_depth=basicPOST /extract extract_depth=basic | 59.0 ± 1.7 |
| 11 | You | POST /v1/search extraction_mode=highlightsPOST /v1/contents | 55.0 ± 1.7 |
| 12 | You | POST /v1/search extraction_mode=highlights · knowledge=corePOST /v1/contents | 54.0 ± 2.0 |
| 13 | Linkup standard | POST /v1/search depth=standardPOST /v1/fetch mode=standard | 48.3 ± 4.9 |
| 14 | Nimble | POST /v2/search search_depth=standard · full_content=false · focus=generalPOST /v2/extract formats=[markdown] | 45.0 ± 1.0 |
Task completion is mean ± SD of 3 runs; n = 100 tasks.
| Rank | Vendor | Endpoint & configuration | Task completion |
|---|---|---|---|
| 1 | Perplexity | POST /search search_context_size=low | 77.3 ± 2.1 |
| 2 | Firecrawl | POST /v2/search | 70.3 ± 1.5 |
| 3 | Parallel fast | POST /v1/search mode=fast | 66.7 ± 1.5 |
| 4 | Exa fast | POST /search type=fast | 66.3 ± 1.5 |
| 5 | Parallel turbo | POST /v1/search mode=turbo | 64.7 ± 2.1 |
| 6 | Exa instant | POST /search type=instant | 61.3 ± 2.9 |
| 7 | TinyFish | GET api.search.tinyfish.ai | 59.3 ± 1.5 |
| 8 | Tavily basic | POST /search search_depth=basic | 51.0 ± 5.3 |
| 9 | Nimble | POST /v2/search search_depth=lite · full_content=false · focus=general | 46.7 ± 3.8 |
| 10 | Linkup fast | POST /v1/search depth=fast | 43.3 ± 1.1 |
| 11 | Nimble | POST /v2/search search_depth=standard · full_content=false · focus=general | 42.3 ± 2.5 |
| 12 | You | POST /v1/search extraction_mode=highlights | 41.3 ± 3.1 |
| 13 | You | POST /v1/search extraction_mode=highlights · knowledge=core | 38.3 ± 3.2 |
| 14 | Brave | POST /res/v1/llm/context | 38.0 ± 2.6 |
Task completion is mean ± SD of 3 runs; n = 100 tasks.
Multi-hop search
F1, precision, recall, and exact-set accuracy. Search-only and search & fetch are separate rankings.
View full multi-hop search benchmark: multi-turn company search →
Web Search only
| Provider | Endpoint & configuration | F1 | Precision | Recall | Exact set |
|---|---|---|---|---|---|
| Parallel basic | POST /v1/search mode=basicparallel-basic | 46.5 ± 1.9 | 88.7 ± 0.9 | 34.4 ± 2.0 | 3.7 ± 2.6 |
| Exa deep | POST /search type=deepexa-deep | 45.4 ± 2.0 | 83.2 ± 3.0 | 33.7 ± 1.4 | 1.5 ± 1.3 |
| Parallel advanced | POST /v1/search mode=advancedparallel-advanced | 44.2 ± 1.4 | 87.6 ± 3.4 | 32.0 ± 1.6 | 2.2 ± 0.0 |
| Exa instant | POST /search type=instantexa-instant | 43.3 ± 1.0 | 82.6 ± 3.8 | 32.2 ± 0.5 | 3.0 ± 1.3 |
| Linkup fast | POST /v1/search depth=fastlinkup-fast | 41.1 ± 1.7 | 82.8 ± 1.0 | 30.3 ± 1.5 | 0.7 ± 1.3 |
| Tavily advanced | POST /search search_depth=advancedtavily-advanced | 41.1 ± 2.3 | 83.7 ± 4.2 | 29.8 ± 1.7 | 2.2 ± 0.0 |
| Linkup standard | POST /v1/search depth=standardlinkup-standard | 40.6 ± 0.9 | 84.0 ± 7.9 | 29.7 ± 1.4 | 1.5 ± 2.6 |
| You | POST /v1/searchextraction_mode=highlights | 38.6 ± 0.8 | 79.3 ± 4.9 | 28.3 ± 0.9 | 4.4 ± 0.0 |
| You | POST /v1/searchextraction_mode=highlights · knowledge=core | 38.1 ± 0.6 | 80.9 ± 1.6 | 27.4 ± 0.9 | 3.0 ± 1.3 |
| Parallel fast | POST /v1/search mode=fastparallel-fast | 38.0 ± 2.0 | 79.9 ± 4.6 | 27.5 ± 1.4 | 1.5 ± 1.3 |
| Perplexity | POST /searchsearch_context_size=low | 37.8 ± 2.1 | 79.3 ± 5.7 | 26.8 ± 1.4 | 2.2 ± 2.2 |
| Tavily basic | POST /search search_depth=basictavily-basic | 36.5 ± 3.2 | 82.5 ± 1.9 | 25.7 ± 2.7 | 1.5 ± 1.3 |
| Parallel turbo | POST /v1/search mode=turboparallel-turbo | 34.7 ± 2.4 | 80.0 ± 5.2 | 24.8 ± 2.4 | 1.5 ± 1.3 |
| Nimble | POST /v2/searchsearch_depth=standard · full_content=false · focus=general | 30.7 ± 1.4 | 70.3 ± 3.3 | 21.3 ± 1.1 | 0.7 ± 1.3 |
| Firecrawl | POST /v2/searchfirecrawl | 30.4 ± 1.1 | 77.3 ± 4.4 | 20.7 ± 0.7 | 2.2 ± 0.0 |
| Brave Search | GET /res/v1/web/searchbrave | 28.0 ± 1.7 | 66.9 ± 8.5 | 19.3 ± 0.5 | 0.7 ± 1.3 |
| TinyFish | GET api.search.tinyfish.aitinyfish | 26.6 ± 1.3 | 64.7 ± 1.5 | 17.9 ± 0.8 | 1.5 ± 1.3 |
| Nimble | POST /v2/searchsearch_depth=lite · full_content=false · focus=general | 25.3 ± 1.1 | 62.8 ± 1.9 | 17.6 ± 1.2 | 1.5 ± 1.3 |
| Seltz | POST /v1/search scope=companiesseltz-companies | 14.5 ± 0.9 | 40.0 ± 3.1 | 9.4 ± 0.7 | 0.0 ± 0.0 |
| SERP | GET google-search74.p.rapidapi.comserp | 0.4 ± 0.6 | 0.7 ± 1.3 | 0.3 ± 0.4 | 0.0 ± 0.0 |
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.
Web Search + Fetch
| Provider | Endpoint & configuration | F1 | Precision | Recall | Exact set |
|---|---|---|---|---|---|
| Exa deep | POST /search type=deepexa-deep | 48.2 ± 2.1 | 89.4 ± 1.2 | 36.0 ± 2.2 | 2.2 ± 2.2 |
| Perplexity | POST /searchsearch_context_size=high | 46.6 ± 2.0 | 87.7 ± 5.9 | 34.7 ± 1.1 | 2.2 ± 2.2 |
| Exa instant | POST /search type=instantexa-instant | 44.9 ± 0.9 | 85.9 ± 2.5 | 33.5 ± 0.9 | 5.2 ± 1.3 |
| Parallel basic | POST /v1/search mode=basicparallel-basic | 42.3 ± 1.1 | 81.3 ± 2.8 | 31.3 ± 1.1 | 3.0 ± 1.3 |
| Parallel advanced | POST /v1/search mode=advancedparallel-advanced | 42.2 ± 1.1 | 87.6 ± 0.3 | 30.1 ± 1.1 | 2.2 ± 0.0 |
| Linkup standard | POST /v1/search depth=standardlinkup-standard | 42.0 ± 1.8 | 90.7 ± 2.0 | 30.5 ± 2.0 | 3.0 ± 3.4 |
| Tavily advanced | POST /search search_depth=advancedtavily-advanced | 41.0 ± 1.3 | 89.4 ± 6.0 | 29.1 ± 0.7 | 2.2 ± 0.0 |
| Linkup fast | POST /v1/search depth=fastlinkup-fast | 39.9 ± 1.3 | 85.3 ± 3.6 | 28.6 ± 1.3 | 0.7 ± 1.3 |
| Parallel fast | POST /v1/search mode=fastparallel-fast | 39.3 ± 3.3 | 82.3 ± 6.6 | 28.2 ± 2.0 | 2.2 ± 0.0 |
| You | POST /v1/searchextraction_mode=highlights | 38.5 ± 1.6 | 85.2 ± 2.7 | 26.9 ± 1.7 | 0.7 ± 1.3 |
| You | POST /v1/searchextraction_mode=highlights · knowledge=core | 38.5 ± 2.4 | 78.2 ± 2.5 | 28.3 ± 3.0 | 3.7 ± 1.3 |
| Tavily basic | POST /search search_depth=basictavily-basic | 38.1 ± 1.4 | 81.2 ± 5.9 | 27.8 ± 0.7 | 2.2 ± 0.0 |
| Parallel turbo | POST /v1/search mode=turboparallel-turbo | 36.0 ± 3.5 | 83.6 ± 4.0 | 25.0 ± 2.6 | 0.0 ± 0.0 |
| Firecrawl | POST /v2/searchfirecrawl | 33.2 ± 2.1 | 83.3 ± 0.8 | 22.7 ± 1.8 | 1.5 ± 1.3 |
| Nimble | POST /v2/searchsearch_depth=standard · full_content=false · focus=general · extract formats=[markdown] | 31.3 ± 1.8 | 73.2 ± 1.9 | 21.7 ± 1.6 | 1.5 ± 1.3 |
| TinyFish | GET api.search.tinyfish.aitinyfish | 30.2 ± 3.5 | 70.9 ± 11.3 | 20.9 ± 2.5 | 0.0 ± 0.0 |
| Brave Search | GET /res/v1/web/searchbrave | 29.4 ± 1.6 | 73.5 ± 5.8 | 20.4 ± 0.9 | 1.5 ± 1.3 |
| Nimble | POST /v2/searchsearch_depth=lite · full_content=false · focus=general · extract formats=[markdown] | 27.1 ± 1.5 | 68.5 ± 4.4 | 18.7 ± 0.9 | 2.2 ± 0.0 |
| Seltz | POST /v1/search scope=companiesseltz-companies | 16.3 ± 1.5 | 49.5 ± 2.4 | 10.2 ± 1.2 | 0.0 ± 0.0 |
| SERP | GET google-search74.p.rapidapi.comserp | 0.0 ± 0.0 | 0.0 ± 0.0 | 0.0 ± 0.0 | 0.0 ± 0.0 |
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.
Most accurate web search API for AI and LLM agents: FAQ
What is the most accurate web search API for AI agents?
There is no single most accurate web search API for AI agents across tasks. This 2026 benchmark ranks the same vendors on three jobs — factual lookup, hard retrieval, and multi-hop search — and keeps the rankings separate. On factual lookup, Exa (type=fast) leads extracted-answer accuracy at 99.3%. On hard retrieval (search & fetch), Exa deep leads task completion at 83.0%. On multi-hop (search-only), Parallel basic leads F1 at 46.5%.
What is the most accurate web search API for LLM agents?
Same board: the most accurate web search API for LLM agents depends on the task. Rankings for factual lookup, hard retrieval, and multi-hop search are not averaged. The model is held constant so the comparison isolates the search API.
How is accuracy measured on each task?
Factual lookup (300 questions): extracted-answer accuracy, AR@1, AR@5. Hard retrieval (100 documentation tickets): grounded task completion, search & fetch and search-only separately. Multi-hop (45 company-discovery questions): F1, precision, recall, and exact-set accuracy, search-only and search & fetch separately.
Where are the fastest, cheapest, and most token-efficient rankings?
This page is accuracy only. Fastest · Cheapest · Most token-efficient.











