All articles
August 18, 2026

Announcing the Artificial Analysis Search Index: Same Agent, Different Search

The Artificial Analysis Search Index benchmarks how search API providers perform on quality, cost, and speed when used by an agent. Search API providers are compared across three search-related benchmarks within the same harness and using the same underlying base model. We compare these results against each other, as well as against a model only baseline with no search tools.

This is the original launch article and shows Artificial Analysis Search Index results as of launch. For live results across the latest providers, see the Search API leaderboard.

Artificial Analysis Search Index leaderboard

The Artificial Analysis Search Index is the equal-weighted mean of three benchmark scores: DeepSearchQA, BrowseComp, and AA-Omniscience. An ideal provider result scores high on the Artificial Analysis Search Index while keeping latency and cost low.

As a baseline, we run the same model, GPT-5.6 Luna (medium), on the same tasks in single-shot fashion without search tools. The baseline results can be used to show how much each provider lifts the same model above its internal knowledge.

At launch, the leaderboard covers 11 provider results across 7 search providers, and we will keep expanding coverage.

Artificial Analysis Search Index

Equal-weighted mean of DeepSearchQA F1, BrowseComp accuracy, and AA-Omniscience accuracy · Higher is better
Model only (33)

The equal-weighted mean of each Search API provider's score on DeepSearchQA (average F1), BrowseComp (exact-answer accuracy), and AA-Omniscience (accuracy), shown on a 0-100 scale. Every result runs the same candidate answer model, harness, and settings. The only variable is the Search API provider.

The dashed line represents the candidate answer model, GPT-5.6 Luna (medium), run with no search tools and is considered the baseline. See the Search API methodology for the full harness settings.

How the benchmark works

Each provider result pairs one Search API provider with a fixed candidate model, GPT-5.6 Luna (medium). The model runs inside Stirrup, our open-source agent harness, with two tools: web_search and web_fetch. The web_search tool sends the model's query to the provider and returns the provider's native response payload (with content modes standardized to snippets), with max_results=10 and known contamination sources filtered out.

The model has up to 25 turns for each task. When the model decides it has enough information, it calls finish and submits its final answer. Finally, a benchmark-specific grader scores the answer. If the model uses all 25 turns without calling finish, no answer is submitted and the task scores zero.

Stirrup Stirrup agent
Benchmark tasks
Candidate model
GPT-5.6 Luna (medium)
turn 0 / 25
 
Search provider
 
web_search  
native payload, up to 10 results
Grading
Grader
avg F1 0.79
 
Search API providers
Constants
Same tasks, same model and grader (GPT-5.6 Luna, medium), same Stirrup harness (web_search · web_fetch · finish, max 25 turns). Only the search provider varies.

The methodology page documents the full workflow, metrics, constants, and grading.

The Artificial Analysis Search Index

The Artificial Analysis Search Index combines the following three benchmarks:

DeepSearchQA

Broad research questions that need many searches. Answers are lists of items. An LLM grader scores each answer with an F1 score over the answer items. The full eval split has 900 tasks.

Representative example

I've completed the Desert Treasure quest on Old School Runescape, can you list all the names of the spells I can use to teleport into the wilderness that require more than four runes?

Answer: Dareeyak Teleport, Ghorrock Teleport

BrowseComp

Hard-to-find facts that need multi-hop browsing. We use a hard 200-sample subset from the full evaluation pool. The grader checks for an exact answer.

Representative example

I'm looking for the name and location of a structure which fulfills the following criteria: 1. Located in Eastern Australia. 2. Can be visited on foot. 3. Was re-built in 2016. 4. Is longer than 50m. 5. Can be seen from another similar structure. 6. Hosts a yearly dinner. 7. Was originally built for another use case, but has not served that use case for a number of years.

Answer: Shorncliffe Pier, Brisbane, Australia

AA-Omniscience

A private subset of 600 factual questions, balanced across 6 domains. The grader scores accuracy. The score shows how much search adds to the model's internal knowledge.

Representative example

In Karen Russell's short story "St. Lucy's Home for Girls Raised by Wolves," from which locality was the three-piece jazz band hired for the Debutante Ball?

Answer: West Toowoomba

The examples are representative problem types, not samples from the benchmarks.

Cost per task: search and model

Total cost per task sums search API cost and candidate model cost. Search API cost covers the provider's search calls at their listing price and candidate model cost represents all model tokens used for the task.

If a provider returns focused search results, this can reduce the model's token use, which reduces overall model cost.

For example, Parallel Search (advanced) has a higher search cost per task than Parallel Search (basic): $0.048 vs. $0.045. However, its total cost per task is lower: $0.084 vs. $0.11.

The advanced tier returns higher quality results, so the model uses ~169,000 tokens per task instead of ~339,000, and the model cost falls from $0.07 to $0.036. The trade is time: 35.9s per task vs. 20.4s.

Firecrawl Search shows a different path to low cost. It scores 73 on the Artificial Analysis Search Index at $0.075 total cost per task, helped by credit-based pricing (~$0.03 in search cost per task) and high quality results. However, it has the slowest time per task on the board (55.0s).

Exa Search (fast) is faster per search query than Exa Search (auto): 0.91s vs. 2.10s. However, it costs more per task: $0.16 vs. $0.13. The fast tier runs more searches per task (11.2 vs. 9.37) and the model uses more tokens (~392,000 vs. ~299,000), so both search cost and model cost rise.

Cost per Task

Average candidate model cost and Search API cost per task (USD) · Lower is better
Model only ($0.0029)

Total cost of one benchmark task, split into the candidate answer model's tokens (input, cached, reasoning, and output) and the Search API provider's list price for the searches the model chose to run. The model-only baseline runs no searches, so its cost is token cost alone. Model cost can differ per provider due to differences in returned payloads for a given query, increased numbers of searches performed (due to not getting the right results) as well as increased reasoning token usage when search results are of lower quality.

The dashed line represents the candidate answer model, GPT-5.6 Luna (medium), run with no search tools and is considered the baseline. See the Search API methodology for the full harness settings.

Artificial Analysis Search Index vs. Cost per Task

Artificial Analysis Search Index vs. total model and search cost per benchmark task (USD)
Most attractive quadrant
Pareto line

Total cost of one benchmark task, split into the candidate answer model's tokens (input, cached, reasoning, and output) and the Search API provider's list price for the searches the model chose to run. The model-only baseline runs no searches, so its cost is token cost alone. Model cost can differ per provider due to differences in returned payloads for a given query, increased numbers of searches performed (due to not getting the right results) as well as increased reasoning token usage when search results are of lower quality.

Time per task: search and model

Time per task sums measured search time and model time. In an ideal setup, added search latency remains low. However, a provider that is fast per search call can still add more total time. This occurs when the model must run more searches or produce more tokens to reach an answer.

Keenable Search (realtime) has the fastest average search calls on the board: 0.34s per query. It also has the lowest total time per task (15.1s), and scores 67 on the Artificial Analysis Search Index.

Among Parallel's tiers, turbo has the fastest average search calls: 0.51s per query vs. 1.03s for Parallel Search (basic). But the basic tier still scores higher on quality: 73 vs. 67. The turbo tier also runs more searches per task (13.6 vs. 9.03), so the two land close on total time per task: 18.8s vs. 20.4s.

The model only baseline takes ~13.8s per task with zero search time. The DeepSearchQA and BrowseComp tasks explain this result.

These tasks suit a model plus search combination: search results give the model context for its answer.

For example, on BrowseComp tasks without search tools, the model only baseline writes ~4,100 output tokens per task, compared with ~1,600 to ~2,900 for the provider results.

AA-Omniscience shows the opposite pattern. With search tools, the model reads and reconciles sources, and then writes roughly two to three times as many output tokens as the baseline.

Time per Task

Average derived model time and measured search time per task · Lower is better
Model only (13.8s)

The sum of model time and search time for one benchmark task. Model time is derived: answer and reasoning tokens per task divided by the model's canonical answer output speed. Search time is the measured time spent in web_search calls. A provider can be fast per call and still add more total time if the model searches against it more often.

The dashed line represents the candidate answer model, GPT-5.6 Luna (medium), run with no search tools and is considered the baseline. See the Search API methodology for the full harness settings.

Artificial Analysis Search Index vs. Time per Task

Artificial Analysis Search Index vs. average model and search time per benchmark task (seconds)
Most attractive quadrant
Pareto line

The sum of model time and search time for one benchmark task. Model time is derived: answer and reasoning tokens per task divided by the model's canonical answer output speed. Search time is the measured time spent in web_search calls. A provider can be fast per call and still add more total time if the model searches against it more often.

Leaderboard details

Search API Public Leaderboard

Provider-level Search API quality, latency, cost, and per benchmark breakdown.
12 rows
Provider
Parallel Search (advanced) logoParallel Search (advanced)
75
42
81
77
67
$47.93
$35.58
35.9s
Exa Search (auto) logoExa Search (auto)
74
41
78
74
70
$65.57
$61.58
26.2s
Firecrawl Search logoFirecrawl Search
73
40
74
74
73
$30.48
$44.94
55.0s
Parallel Search (basic) logoParallel Search (basic)
73
40
79
73
68
$45.14
$69.69
20.4s
Exa Search (fast) logoExa Search (fast)
68
35
76
61
69
$78.11
$80.53
20.7s
You.com Search logoYou.com Search
68
35
63
74
66
$68.93
$58.28
33.7s
Parallel Search (turbo) logoParallel Search (turbo)
67
34
70
75
56
$13.64
$46.57
18.8s
Keenable Search (pro) logoKeenable Search (pro)
67
34
70
66
65
$23.69
$73.20
23.2s
Keenable Search (realtime) logoKeenable Search (realtime)
67
34
70
64
66
$26.87
$63.67
15.1s
Tavily Search (basic) logoTavily Search (basic)
66
33
74
59
64
$126
$66.58
36.3s
Brave Search logoBrave Search
65
32
62
67
65
$71.61
$74.52
26.6s
Model only
33
baseline
45
17
38
$2.92
13.8s

Search $/1k and Model $/1k are the average cost of 1,000 benchmark tasks broken down into search and model token costs. The model-only baseline runs no searches.

The sum of model time and search time for one benchmark task. Model time is derived: answer and reasoning tokens per task divided by the model's canonical answer output speed. Search time is the measured time spent in web_search calls. A provider can be fast per call and still add more total time if the model searches against it more often.

Explore the results