---
title: "Best Web Search APIs for AI Agents: Deep Search Comparison, Independently Benchmarked (2026) | Openbenchmarks"
description: "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 from 12 providers, including Exa, Tavily, Brave, Parallel, Firecrawl. Deep search combines evidence from multiple searches for deep research agents. Independent benchmark with official API docs."
url: https://openbenchmarks.com/web-search/best-web-search-api-for-ai-agents-for-deep-research
---

[](https://openbenchmarks.com/) 

[← web search benchmark](https://openbenchmarks.com/web-search) 

[benchmarks](https://openbenchmarks.com/) / [web-search](https://openbenchmarks.com/web-search) / [best for AI agents](https://openbenchmarks.com/web-search/best-web-search-api-for-ai) / deep search 

independent · open source code · public sample · held-out scoring set · 2026

# 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 →** ](#search-only) · [Plan your deep search budget](#pricing) 

Benchmark last completed: 2 Oct 2026.

\[01\] primary comparison

## 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.

__Deep search (multiple searches): API configurations ranked by accuracy (F1)__
| API & configuration | Accuracy (F1) | Median task time | Search / 1,000 queries | Median task cost | Official docs |
| --- | --- | --- | --- | --- | --- |
| Parallel basic POST /v1/search mode=basicparallel-basic | **46.5%** ± 1.9% SD | 67.63s | $5.00 | $1.12 | [Parallel basic docs ↗](https://docs.parallel.ai/api-reference/search/search) |
| Exa deep POST /search type=deepexa-deep | **45.4%** ± 2.0% SD | 89.50s | $12.00 | $0.717 | [Exa deep docs ↗](https://docs.exa.ai/reference/search) |
| Parallel advanced POST /v1/search mode=advancedparallel-advanced | **44.2%** ± 1.4% SD | 83.43s | $5.00 | $0.625 | [Parallel advanced docs ↗](https://docs.parallel.ai/api-reference/search/search) |
| Exa instant POST /search type=instantexa-instant | **43.3%** ± 1.0% SD | 49.83s | $7.00 | $0.652 | [Exa instant docs ↗](https://docs.exa.ai/reference/search) |
| Linkup fast POST /v1/search depth=fastlinkup-fast | **41.1%** ± 1.7% SD | 64.20s | $5.00 | $0.923 | [Linkup fast docs ↗](https://docs.linkup.so/pages/documentation/endpoints/search/overview) |
| Tavily advanced POST /search search\_depth=advancedtavily-advanced | **41.1%** ± 2.3% SD | 92.17s | $16.00 | $1.03 | [Tavily advanced docs ↗](https://docs.tavily.com/documentation/api-reference/endpoint/search) |
| Linkup standard POST /v1/search depth=standardlinkup-standard | **40.6%** ± 0.9% SD | 72.29s | $5.00 | $0.937 | [Linkup standard docs ↗](https://docs.linkup.so/pages/documentation/endpoints/search/overview) |
| You POST /v1/searchextraction\_mode=highlightsyou-highlights | **38.6%** ± 0.8% SD | 48.16s | $5.00 | $0.971 | [You docs ↗](https://you.com/docs/api-reference/search/v1-search) |
| You POST /v1/searchextraction\_mode=highlights · knowledge=coreyou-highlights-core | **38.1%** ± 0.6% SD | 47.64s | $5.00 | $0.895 | [You docs ↗](https://you.com/docs/api-reference/search/v1-search) |
| Parallel fast POST /v1/search mode=fastparallel-fast | **38.0%** ± 2.0% SD | 53.93s | $1.00 | $0.460 | [Parallel fast docs ↗](https://docs.parallel.ai/api-reference/search/search) |
| Perplexity POST /searchsearch\_context\_size=lowperplexity | **37.8%** ± 2.1% SD | 48.94s | $5.00 | $0.334 | [Perplexity docs ↗](https://docs.perplexity.ai/api-reference/search-post) |
| Tavily basic POST /search search\_depth=basictavily-basic | **36.5%** ± 3.2% SD | 63.04s | $8.00 | $0.615 | [Tavily basic docs ↗](https://docs.tavily.com/documentation/api-reference/endpoint/search) |
| Parallel turbo POST /v1/search mode=turboparallel-turbo | **34.7%** ± 2.4% SD | 46.40s | $1.00 | $0.419 | [Parallel turbo docs ↗](https://docs.parallel.ai/api-reference/search/search) |
| Nimble POST /v2/searchsearch\_depth=standard · full\_content=false · focus=generalnimble-standard | **30.7%** ± 1.4% SD | 52.97s | $5.00 | $0.467 | [Nimble docs ↗](https://docs.nimbleway.com/api-reference/search/search) |
| Firecrawl POST /v2/searchfirecrawl | **30.4%** ± 1.1% SD | 74.98s | $5.00 | $0.282 | [Firecrawl docs ↗](https://docs.firecrawl.dev/api-reference/endpoint/search) |
| Brave GET /res/v1/web/searchbrave | **28.0%** ± 1.7% SD | 43.52s | $5.00 | $0.268 | [Brave Search docs ↗](https://api-dashboard.search.brave.com/documentation/services/web-search) |
| TinyFish GET api.search.tinyfish.aitinyfish | **26.6%** ± 1.3% SD | 64.24s | $0 | $0.212 | [TinyFish docs ↗](https://docs.tinyfish.ai/search-api) |
| Nimble POST /v2/searchsearch\_depth=lite · full\_content=false · focus=generalnimble-lite | **25.3%** ± 1.1% SD | 67.95s | $1.10 | $0.234 | [Nimble docs ↗](https://docs.nimbleway.com/api-reference/search/search) |
| Seltz POST /v1/search scope=companiesseltz-companies | **14.5%** ± 0.9% SD | 55.16s | $5.00 | $1.75 | [Seltz docs ↗](https://docs.seltz.ai/) |
| SERP GET google-search74.p.rapidapi.comserp | **0.4%** ± 0.6% SD | 31.38s | $3.00 | $0.103 | [SERP (RapidAPI) docs ↗](https://rapidapi.com/herosAPI/api/google-search74) |

\[02\] pricing

## 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 ↗](https://www.tinyfish.ai/pricing) · [Compare search API prices per 1,000 queries →](https://openbenchmarks.com/web-search/cheapest-search-api) · [Search APIs for LLM apps & agents](https://openbenchmarks.com/web-search/best-web-search-api-for-llm-apps) 

\[03\] tool choice

## 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.

__Matched API configurations: largest observed accuracy changes from enabling scraping__
| 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 |

\[04\] supporting comparison

## 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 →](https://openbenchmarks.com/web-search/best-web-search-api-for-llm-agents) · [View the full multi search benchmark →](https://openbenchmarks.com/multi-turn-company-search) 

__Deep search + scrape: API configurations ranked by accuracy (F1)__
| API & configuration | Accuracy (F1) | Median task time | Search / 1,000 queries | Scrape / 1,000 requests | Median task cost | Official docs |
| --- | --- | --- | --- | --- | --- | --- |
| Exa deep POST /search type=deepexa-deep | **48.2%** ± 2.1% SD | 95.80s | $12.00 | $1.00 | $0.683 | [Exa deep docs ↗](https://docs.exa.ai/reference/search) |
| Perplexity POST /searchsearch\_context\_size=highperplexity | **46.6%** ± 2.0% SD | 53.89s | $5.00 | n/a | $0.504 | [Perplexity docs ↗](https://docs.perplexity.ai/api-reference/search-post) |
| Exa instant POST /search type=instantexa-instant | **44.9%** ± 0.9% SD | 52.51s | $7.00 | $1.00 | $0.653 | [Exa instant docs ↗](https://docs.exa.ai/reference/search) |
| Parallel basic POST /v1/search mode=basicparallel-basic | **42.3%** ± 1.1% SD | 68.62s | $5.00 | $1.00 | $1.09 | [Parallel basic docs ↗](https://docs.parallel.ai/api-reference/search/search) |
| Parallel advanced POST /v1/search mode=advancedparallel-advanced | **42.2%** ± 1.1% SD | 80.87s | $5.00 | $1.00 | $0.599 | [Parallel advanced docs ↗](https://docs.parallel.ai/api-reference/search/search) |
| Linkup standard POST /v1/search depth=standardlinkup-standard | **42.0%** ± 1.8% SD | 81.01s | $5.00 | $1.00 | $0.911 | [Linkup standard docs ↗](https://docs.linkup.so/pages/documentation/endpoints/search/overview) |
| Tavily advanced POST /search search\_depth=advancedtavily-advanced | **41.0%** ± 1.3% SD | 92.63s | $16.00 | $3.20 | $0.898 | [Tavily advanced docs ↗](https://docs.tavily.com/documentation/api-reference/endpoint/search) |
| Linkup fast POST /v1/search depth=fastlinkup-fast | **39.9%** ± 1.3% SD | 68.02s | $5.00 | $1.00 | $0.903 | [Linkup fast docs ↗](https://docs.linkup.so/pages/documentation/endpoints/search/overview) |
| Parallel fast POST /v1/search mode=fastparallel-fast | **39.3%** ± 3.3% SD | 55.08s | $1.00 | $1.00 | $0.441 | [Parallel fast docs ↗](https://docs.parallel.ai/api-reference/search/search) |
| You POST /v1/searchextraction\_mode=highlightsyou-highlights | **38.5%** ± 1.6% SD | 45.63s | $5.00 | $1.00 | $0.864 | [You docs ↗](https://you.com/docs/api-reference/search/v1-search) |
| You POST /v1/searchextraction\_mode=highlights · knowledge=coreyou-highlights-core | **38.5%** ± 2.4% SD | 48.52s | $5.00 | $1.00 | $0.894 | [You docs ↗](https://you.com/docs/api-reference/search/v1-search) |
| Tavily basic POST /search search\_depth=basictavily-basic | **38.1%** ± 1.4% SD | 61.97s | $8.00 | $3.20 | $0.610 | [Tavily basic docs ↗](https://docs.tavily.com/documentation/api-reference/endpoint/search) |
| Parallel turbo POST /v1/search mode=turboparallel-turbo | **36.0%** ± 3.5% SD | 48.07s | $1.00 | $1.00 | $0.414 | [Parallel turbo docs ↗](https://docs.parallel.ai/api-reference/search/search) |
| Firecrawl POST /v2/searchfirecrawl | **33.2%** ± 2.1% SD | 82.06s | $5.00 | $2.50 | $0.295 | [Firecrawl docs ↗](https://docs.firecrawl.dev/api-reference/endpoint/search) |
| Nimble POST /v2/searchsearch\_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 ↗](https://docs.nimbleway.com/api-reference/search/search) |
| TinyFish GET api.search.tinyfish.aitinyfish | **30.2%** ± 3.5% SD | 63.37s | $0 | $0 | $0.219 | [TinyFish docs ↗](https://docs.tinyfish.ai/search-api) |
| Brave GET /res/v1/web/searchbrave | **29.4%** ± 1.6% SD | 45.13s | $5.00 | n/a | $0.285 | [Brave Search docs ↗](https://api-dashboard.search.brave.com/documentation/services/web-search) |
| Nimble POST /v2/searchsearch\_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 ↗](https://docs.nimbleway.com/api-reference/search/search) |
| Seltz POST /v1/search scope=companiesseltz-companies | **16.3%** ± 1.5% SD | 60.10s | $5.00 | n/a | $1.74 | [Seltz docs ↗](https://docs.seltz.ai/) |
| SERP GET google-search74.p.rapidapi.comserp | **0.0%** ± 0.0% SD | 33.44s | $3.00 | n/a | $0.102 | [SERP (RapidAPI) docs ↗](https://rapidapi.com/herosAPI/api/google-search74) |

\[05\] method

## 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](https://openbenchmarks.com/web-search/best-web-search-api-for-ai).

[Open source benchmark runner ↗](https://github.com/openbenchmarks-labs/multi-turn-company-search) · [Public dataset sample ↗](https://huggingface.co/datasets/openbenchmarks/OB-Company-Websearch) 

\[06\] related decisions

## Choose a search API for your application

* [Exa vs Tavily: features, pricing and measured accuracy](https://openbenchmarks.com/web-search/exa-vs-tavily)
* [Fastest web search APIs: individual search latency](https://openbenchmarks.com/web-search/fastest-search-api)
* [Web search APIs for developers](https://openbenchmarks.com/web-search/best-web-search-api-for-developers)
* [Full web search benchmark](https://openbenchmarks.com/web-search)

## 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.

Openbenchmarks open source code · public sample · held-out scoring set 

[← best web search API for AI agents](https://openbenchmarks.com/web-search/best-web-search-api-for-ai) [web search benchmark](https://openbenchmarks.com/web-search) [Exa vs Tavily](https://openbenchmarks.com/web-search/exa-vs-tavily) [Tavily vs Parallel](https://openbenchmarks.com/web-search/tavily-vs-parallel) [Brave Search vs Exa](https://openbenchmarks.com/web-search/brave-vs-exa) [Linkup vs Firecrawl](https://openbenchmarks.com/web-search/linkup-vs-firecrawl) [Parallel vs Exa](https://openbenchmarks.com/web-search/parallel-vs-exa) [Linkup vs Tavily](https://openbenchmarks.com/web-search/linkup-vs-tavily) [Exa vs Perplexity](https://openbenchmarks.com/web-search/exa-vs-perplexity) [Brave Search vs Tavily](https://openbenchmarks.com/web-search/brave-vs-tavily) [Exa vs Firecrawl](https://openbenchmarks.com/web-search/exa-vs-firecrawl) [Brave Search vs Parallel](https://openbenchmarks.com/web-search/brave-vs-parallel) [Perplexity vs Parallel](https://openbenchmarks.com/web-search/perplexity-vs-parallel) [You vs Parallel](https://openbenchmarks.com/web-search/you-com-vs-parallel) [Linkup vs Parallel](https://openbenchmarks.com/web-search/linkup-vs-parallel) [Firecrawl vs Parallel](https://openbenchmarks.com/web-search/firecrawl-vs-parallel) [TinyFish vs Parallel](https://openbenchmarks.com/web-search/tinyfish-vs-parallel) © 2026 Openbenchmarks
