Best Web Search APIs for AI Agents: Deep Search Comparison & Benchmark (2026)
Parallel basic leads the deep search benchmark at 46.5% accuracy (F1). Fastest task time with positive F1: SERP, 31.38s median task time, with 0.4% F1. Cheapest search: TinyFish, $0 per 1,000 queries within plan limits. LLM costs are additional.
Compare the best web search APIs for AI agents across 12 providers, including Exa, Tavily, Brave, Parallel, Firecrawl. Independent benchmark results with official API docs for deep research agents.
Compared on the same 45 research questions, with the same agent and tool budget. Here, deep search means multiple searches. The primary ranking uses search results and snippets; search + scrape is a supporting comparison.
Compare deep search APIs → · Plan your deep search budget
Benchmark last completed: .
Deep Search: API Comparison Benchmarked
Ranked by accuracy (F1) for multiple searches using search results and snippets. F1 balances finding the right answers with finding the complete answer set. Task time covers the whole agent run; task cost includes LLM and API spend.
20 configurations from 12 providers. Search prices use the saved benchmark rates for the listed configuration; n/a means the rate or complete task cost is unavailable.
| API & configuration | Accuracy (F1) | Median task time | Search / 1,000 queries | Median task cost | Official docs |
|---|---|---|---|---|---|
Parallel basicPOST /v1/search mode=basicparallel-basic | 46.5%± 1.9% SD | 67.63s | $5.00 | $1.12 | Parallel basic docs ↗ |
Exa deepPOST /search type=deepexa-deep | 45.4%± 2.0% SD | 89.50s | $12.00 | $0.717 | Exa deep docs ↗ |
Parallel advancedPOST /v1/search mode=advancedparallel-advanced | 44.2%± 1.4% SD | 83.43s | $5.00 | $0.625 | Parallel advanced docs ↗ |
Exa instantPOST /search type=instantexa-instant | 43.3%± 1.0% SD | 49.83s | $7.00 | $0.652 | Exa instant docs ↗ |
Linkup fastPOST /v1/search depth=fastlinkup-fast | 41.1%± 1.7% SD | 64.20s | $5.00 | $0.923 | Linkup fast docs ↗ |
Tavily advancedPOST /search search_depth=advancedtavily-advanced | 41.1%± 2.3% SD | 92.17s | $16.00 | $1.03 | Tavily advanced docs ↗ |
Linkup standardPOST /v1/search depth=standardlinkup-standard | 40.6%± 0.9% SD | 72.29s | $5.00 | $0.937 | Linkup standard docs ↗ |
| YouPOST /v1/search extraction_mode=highlights you-highlights | 38.6%± 0.8% SD | 48.16s | $5.00 | $0.971 | You docs ↗ |
| YouPOST /v1/search extraction_mode=highlights · knowledge=core you-highlights-core | 38.1%± 0.6% SD | 47.64s | $5.00 | $0.895 | You docs ↗ |
Parallel fastPOST /v1/search mode=fastparallel-fast | 38.0%± 2.0% SD | 53.93s | $1.00 | $0.460 | Parallel fast docs ↗ |
| PerplexityPOST /search search_context_size=low perplexity | 37.8%± 2.1% SD | 48.94s | $5.00 | $0.334 | Perplexity docs ↗ |
Tavily basicPOST /search search_depth=basictavily-basic | 36.5%± 3.2% SD | 63.04s | $8.00 | $0.615 | Tavily basic docs ↗ |
Parallel turboPOST /v1/search mode=turboparallel-turbo | 34.7%± 2.4% SD | 46.40s | $1.00 | $0.419 | Parallel turbo docs ↗ |
| NimblePOST /v2/search search_depth=standard · full_content=false · focus=general nimble-standard | 30.7%± 1.4% SD | 52.97s | $5.00 | $0.467 | Nimble docs ↗ |
FirecrawlPOST /v2/searchfirecrawl | 30.4%± 1.1% SD | 74.98s | $5.00 | $0.282 | Firecrawl docs ↗ |
BraveGET /res/v1/web/searchbrave | 28.0%± 1.7% SD | 43.52s | $5.00 | $0.268 | Brave Search docs ↗ |
TinyFishGET api.search.tinyfish.aitinyfish | 26.6%± 1.3% SD | 64.24s | $0 | $0.212 | TinyFish docs ↗ |
| NimblePOST /v2/search search_depth=lite · full_content=false · focus=general nimble-lite | 25.3%± 1.1% SD | 67.95s | $1.10 | $0.234 | Nimble docs ↗ |
SeltzPOST /v1/search scope=companiesseltz-companies | 14.5%± 0.9% SD | 55.16s | $5.00 | $1.75 | Seltz docs ↗ |
SERPGET google-search74.p.rapidapi.comserp | 0.4%± 0.6% SD | 31.38s | $3.00 | $0.103 | SERP (RapidAPI) docs ↗ |
Search API pricing per 1,000 queries: budget for the whole deep search task
A deep search task makes several searches. Estimate its search bill as search calls × search price + LLM token spend. For a workflow with scraping, add scrape calls × scrape price. For example, 10 searches at $5 per 1,000 queries cost $0.05 before scraping and LLM usage. This is an arithmetic example; the table contains measured task costs.
Choose a shortlist by accuracy first, then compare median task cost and time. The cheapest request price and the cheapest completed task answer different buying questions. TinyFish’s free Search API is limited to 30 requests per minute and 500 per hour. Use the recorded rates to reproduce this benchmark and check your provider plan for current billing.
TinyFish official free limits ↗ · Compare search API prices per 1,000 queries → · Search APIs for LLM apps & agents
What changes when an AI agent can scrape?
The five largest observed F1 differences among matched configurations are below. These are descriptive differences on the same questions; the full tables show variability across runs.
| API | Deep search | Deep search + scrape | Change (percentage points) |
|---|---|---|---|
| Perplexity | 37.8% | 46.6% | +8.7 |
| TinyFish | 26.6% | 30.2% | +3.6 |
| Firecrawl | 30.4% | 33.2% | +2.8 |
| Exa deep | 45.4% | 48.2% | +2.8 |
| Seltz | 14.5% | 16.3% | +1.7 |
Deep search + scrape: compare the same research questions
This supporting ranking lets the agent scrape pages returned by search. Exa deep leads this mode at 48.2% F1. Compare it with the primary ranking to see how scraping changes accuracy, task time and cost.
Compare search APIs for LLM agents → · View the full multi search benchmark →
| API & configuration | Accuracy (F1) | Median task time | Search / 1,000 queries | Scrape / 1,000 requests | Median task cost | Official docs |
|---|---|---|---|---|---|---|
Exa deepPOST /search type=deepexa-deep | 48.2%± 2.1% SD | 95.80s | $12.00 | $1.00 | $0.683 | Exa deep docs ↗ |
| PerplexityPOST /search search_context_size=high perplexity | 46.6%± 2.0% SD | 53.89s | $5.00 | n/a | $0.504 | Perplexity docs ↗ |
Exa instantPOST /search type=instantexa-instant | 44.9%± 0.9% SD | 52.51s | $7.00 | $1.00 | $0.653 | Exa instant docs ↗ |
Parallel basicPOST /v1/search mode=basicparallel-basic | 42.3%± 1.1% SD | 68.62s | $5.00 | $1.00 | $1.09 | Parallel basic docs ↗ |
Parallel advancedPOST /v1/search mode=advancedparallel-advanced | 42.2%± 1.1% SD | 80.87s | $5.00 | $1.00 | $0.599 | Parallel advanced docs ↗ |
Linkup standardPOST /v1/search depth=standardlinkup-standard | 42.0%± 1.8% SD | 81.01s | $5.00 | $1.00 | $0.911 | Linkup standard docs ↗ |
Tavily advancedPOST /search search_depth=advancedtavily-advanced | 41.0%± 1.3% SD | 92.63s | $16.00 | $3.20 | $0.898 | Tavily advanced docs ↗ |
Linkup fastPOST /v1/search depth=fastlinkup-fast | 39.9%± 1.3% SD | 68.02s | $5.00 | $1.00 | $0.903 | Linkup fast docs ↗ |
Parallel fastPOST /v1/search mode=fastparallel-fast | 39.3%± 3.3% SD | 55.08s | $1.00 | $1.00 | $0.441 | Parallel fast docs ↗ |
| YouPOST /v1/search extraction_mode=highlights you-highlights | 38.5%± 1.6% SD | 45.63s | $5.00 | $1.00 | $0.864 | You docs ↗ |
| YouPOST /v1/search extraction_mode=highlights · knowledge=core you-highlights-core | 38.5%± 2.4% SD | 48.52s | $5.00 | $1.00 | $0.894 | You docs ↗ |
Tavily basicPOST /search search_depth=basictavily-basic | 38.1%± 1.4% SD | 61.97s | $8.00 | $3.20 | $0.610 | Tavily basic docs ↗ |
Parallel turboPOST /v1/search mode=turboparallel-turbo | 36.0%± 3.5% SD | 48.07s | $1.00 | $1.00 | $0.414 | Parallel turbo docs ↗ |
FirecrawlPOST /v2/searchfirecrawl | 33.2%± 2.1% SD | 82.06s | $5.00 | $2.50 | $0.295 | Firecrawl docs ↗ |
| NimblePOST /v2/search search_depth=standard · full_content=false · focus=general · extract formats=[markdown] nimble-standard | 31.3%± 1.8% SD | 59.23s | $5.00 | n/a | n/a | Nimble docs ↗ |
TinyFishGET api.search.tinyfish.aitinyfish | 30.2%± 3.5% SD | 63.37s | $0 | $0 | $0.219 | TinyFish docs ↗ |
BraveGET /res/v1/web/searchbrave | 29.4%± 1.6% SD | 45.13s | $5.00 | n/a | $0.285 | Brave Search docs ↗ |
| NimblePOST /v2/search search_depth=lite · full_content=false · focus=general · extract formats=[markdown] nimble-lite | 27.1%± 1.5% SD | 71.99s | $1.10 | n/a | n/a | Nimble docs ↗ |
SeltzPOST /v1/search scope=companiesseltz-companies | 16.3%± 1.5% SD | 60.10s | $5.00 | n/a | $1.74 | Seltz docs ↗ |
SERPGET google-search74.p.rapidapi.comserp | 0.0%± 0.0% SD | 33.44s | $3.00 | n/a | $0.102 | SERP (RapidAPI) docs ↗ |
How the deep search benchmark works
The benchmark uses 45 company-discovery questions, each combining three or four criteria. The same model (gpt-5.6-sol, medium reasoning), prompt and tool budget run against every API: up to 8 model turns and 14 searches. The primary search-only board uses search results and snippets. The supporting search + scrape board additionally allows up to 14 scrape requests to inspect exact URLs returned by search.
Returned companies are resolved to canonical identities and compared with a human-reviewed gold set. Correct members count toward precision and recall; F1 balances both. Scores are averaged across questions and three independent runs, with standard deviation across runs shown beside F1. The public dataset sample and held-out scoring set support evaluation of this specific research workload. The model-only baseline on these questions is 0.
The speed highlight compares configurations with positive F1; all completed configurations remain in the table. For providers using the runner’s local scraper, the benchmark records $0 in external scrape charges; hosting costs depend on deployment. Missing native scrape rates appear as n/a. Measured task costs use the runner’s recorded API and LLM spend.
A managed deep research endpoint also supplies the planner and final report. Here, we hold the agent constant to compare the search APIs powering it. For a RAG application that retrieves evidence with one search, use the web search API comparison for AI agents.
Deep search API questions
What is deep search for AI agents?
On this page, deep search means making multiple searches to gather and combine evidence. The primary comparison uses search results and snippets; a supporting table adds scraping. We compare the web search APIs powering that workflow with the same agent and questions, using accuracy (F1), total task time and cost per 1,000 search queries.
What is the best web search API for deep research agents in 2026?
Parallel basic leads the deep search benchmark at 46.5% accuracy (F1) across 45 questions. The same agent researches each question with each API. This measures finding a complete set of companies that match several criteria; use the accuracy, time and pricing columns to choose an API for your research workflow.
Which web search API is fastest for deep search?
SERP has the lowest median task time among configurations with positive F1 at 31.38s, with 0.4% F1. This is the whole agent task, including multiple searches and model turns. The fastest search API comparison covers individual search-call latency.
Which search API is cheapest per 1,000 queries?
TinyFish have the lowest recorded search list price among this page's primary configurations: $0 per 1,000 queries. LLM tokens add to search-request costs. The primary table also shows measured median task cost, and the supporting search + scrape table includes scrape prices; official docs link to the provider's request contract.
How should I budget for deep search?
For the primary workflow, estimate search requests × search price plus LLM token spend. Add scrape requests × scrape price when enabling scraping. A deep search task can make several API calls. The per-1,000 column is a request price; median task cost includes the measured LLM and API spend for a complete run. Prices reflect the benchmark's recorded configuration and billing assumptions; use provider documentation to check your plan.
Should an AI agent use search and scraping together?
Search discovers relevant URLs and snippets. Scraping lets the agent inspect the returned pages for evidence and combine findings across sources. The main table uses search results and snippets. The supporting search + scrape table enables both tools on the same questions. Compare matched configurations in the scraping comparison below.
How is deep search accuracy measured?
Each of the 45 questions defines a company set using three or four criteria. Precision measures how many returned companies are correct; recall measures how many qualifying companies were found. F1 balances the two. Scores are averaged across questions and three independent agent runs; the ± value is the standard deviation across those runs. This is set-retrieval accuracy on the benchmark's company-discovery workload.
How does a search API differ from a managed deep research API?
A search API supplies results to an agent you control. This benchmark holds the agent, prompt and tool budget constant and swaps its search provider. A managed research API also runs the planning and synthesis workflow for you. Its end-to-end pricing and report quality need a separate evaluation.
Where can I compare Exa, Tavily, Brave, Parallel and Firecrawl?
The main table compares their tested configurations under the same deep search setup. Compare accuracy (F1), median task time, search prices per 1,000 queries and total task cost. The supporting table adds scraping and its price per 1,000 requests. The official docs column links to each API's request parameters; the Exa vs Tavily guide adds a focused feature and pricing comparison.