benchmarks/web-search
119 questions · 12 endpoints · updated 17 Aug 2026

Web Search Benchmark

Why we built this. To evaluate web search APIs. The task is to search for recent company events such as layoffs, product launches, acquisitions, funding, leadership changes, expansions as those are factual lookups with a factual ground truth grounded in an official wire or newsroom URL. We also compare those general web search APIs against specialized news indexes. The benchmark shows how each endpoint balances accuracy, cost, and latency through retrieval (AR@1, AR@5).

How it is measured. Every endpoint gets the same user query and can retrieve max 10 results. An LLM in the harness (gpt-5.6-terra, medium) reads title + excerpt only and extracts an answer. A separate post-hoc judge from independent model family (claude-opus-5 via Amazon Bedrock) scores accuracy and AR@K against human labelled ground truth: the full ground truth must be present. Accuracy is extract correctness. AR is answer recall. AR@1 is the first snippet. AR@5 is any of the top 5.

Vendors benchmarked. AI search APIs, search engines, and news indexes.

  1. AI-specific web search. Exa, Parallel, Linkup, Tavily, and Firecrawl. Search APIs built for RAG. Exa, Parallel, and Linkup each have two endpoints benchmarked, a Fast option and a Deep option, so you can see the accuracy, cost, and latency tradeoff inside one vendor.
  2. Search engine. Brave Search and SERP. Search engines: a query in, and 10 results with links and snippets returned.
  3. News index. Seltz and PredictLeads. Specialized APIs that index news, included so general web search can be compared with a news-specific index.

How to pick a provider. There is no single best web search API. It is a tradeoff between accuracy, latency, cost, and retrieval quality.

  • Fastest for a realtime loop. Read Latency. Prefer the Fast row of a pair.
  • Most accurate for a critical path. Read Accuracy. Prefer the Deep row if the extra wait is acceptable.
  • Best retrieval. AR is answer recall. Read AR@1 if the first hit is used. Read AR@5 if it scans the top 5.
  • Cheapest at volume. Read Cost. List price for this run, not free tiers or volume discounts.
open data + codeQueries, raw search hits, extracted answers, and judgments are public in openbenchmarks-labs/web-search.github →

Benchmark Data

Rows are alphabetical by vendor.

Web search APIs and news indexes, alphabetical by vendor.
VendorEndpoint & configurationAccuracyAR@1AR@5LatencySnippet tokensTotal $Official docs
Brave Searchweb searchGET /res/v1/web/searchcount=10 · result_filter=web95.0%85.7%95.0%697ms727$0.67Official docs
Exaweb searchPOST /searchtype=deep99.2%98.3%99.2%2.95s1,293$1.51Official docs
Exaweb searchPOST /searchtype=instant99.2%84.9%97.5%444ms2,053$0.96Official docs
Firecrawlweb searchPOST /v2/search94.1%77.3%93.3%1.10s672$0.67Official docs
Linkupweb searchPOST /v1/searchdepth=fast · outputType=searchResults96.6%89.1%96.6%1.84s2,846$0.76Official docs
Linkupweb searchPOST /v1/searchdepth=standard · outputType=searchResults97.5%84.9%95.0%2.34s2,936$0.76Official docs
Parallelweb searchPOST /v1/searchmode=advanced98.3%63.0%98.3%3.33s2,143$0.74Official docs
Parallelweb searchPOST /v1/searchmode=basic97.5%68.9%93.3%1.40s2,413$0.75Official docs
PredictLeadscompany news eventsGET /api/v3/companies/{domain}/news_events63.0%47.9%63.0%668ms411$4.81Official docs
Seltznews indexPOST /v1/searchscope=news68.9%31.9%64.7%321ms2,913$0.76Official docs
SERPgoogle searchGET google-search74.p.rapidapi.comlimit=1094.1%76.5%93.3%2.14s468$0.42Official docs
Tavilyweb searchPOST /searchsearch_depth=advanced · chunks_per_source=395.0%84.0%95.0%4.34s3,035$2.08Official docs
[02] methodology and metric definitions+

How the benchmark is built

We measure the web search API. Everything around it is held constant: the input query, the model that reads the results and extracts an answer (gpt-5.6-terra, medium), and the judge (claude-opus-5 via Amazon Bedrock). The only thing that changes is which search API is called.

  1. Collect official wires and newsrooms. Fix ground truth by human labelling before calling any vendors. Set of 119 search queries in v1.
  2. Send every endpoint the same natural-language question, one request, max 10 results. The query is the user question, unchanged.
  3. Persist the raw HTTP envelope, normalized hits (url, title, snippet), and latency for every call.
  4. An LLM in the harness (gpt-5.6-terra, medium) reads title + excerpt only and extracts an answer. A separate post-hoc judge from independent model family (claude-opus-5 via Amazon Bedrock) scores accuracy and AR@K against human labelled ground truth. It never fetches the live page. No vendor APIs are recalled for extract or score.
  5. Score accuracy, AR@1, AR@5, snippet tokens, latency, and list-price cost. Rank by accuracy.

Out of scope for this benchmark

This is an atomic fact lookup benchmark using search APIs. The following are not measured yet through this benchmark.

  1. Query rewriting and multi-hop searches. The user query is sent as-is to all APIs as input and is a single fact-lookup query.
  2. Varying search depth. Every endpoint returns the top 10 results. We measure retrieval quality at that cutoff; we do not run higher-k searches or tune depth.

What each metric means

  • Accuracy · gpt-5.6-terra (medium) writes an answer from the returned titles and snippets. The judge scores that written answer against human labelled ground truth. The headline correctness metric.
  • AR@K · answer recall at K. Whether any of the top K vendor snippets already contained the human labelled ground truth. No extract. The judge scores the snippets themselves.
  • AR@1 · the first snippet already contained the human labelled ground truth.
  • AR@5 · whether any one of the top 5 snippets already contained the full human labelled ground truth. AR@5 can be higher than accuracy: accuracy scores the written extract, which reads all 10 snippets. If a top-5 snippet already has the full fact but later hits in the top 10 conflict, the extract can return empty or say the fact was not found. AR@5 is then 1 and accuracy is 0.
  • Latency · speed. Mean wall time of the search request, not the extract or score calls.
  • Snippet tokens · mean approximate tokens in the returned web search results per question (~4 characters / token).
  • Total $ · search list price for the run as of 16 Aug 2026. Judge tokens are not in this column.
  • Endpoint & configuration · the HTTP path we called, then the vendor setting that tells two rows of the same vendor apart (type=instant vs type=deep, mode=basic vs mode=advanced, depth=fast vs depth=standard). Single-endpoint vendors show their scope when the call has one. The vendor column uses the company name on every arm.
  • Official docs · vendor API documentation for that product.

Most accurate, fastest, and cheapest search API

What is the most accurate search API?

Exa (type=deep) leads extracted-answer accuracy at 99.2% on 119 lookup questions.

What is the fastest search API?

Seltz has the lowest mean latency at 321ms on this run.

What is the cheapest search API?

SERP (RapidAPI) has the lowest list-price search cost on this run ($0.42). Free tiers and volume discounts are not included.

Is this benchmark independent?

Yes. No vendor pays for inclusion, ranking, or removal. The input query, the extract model (gpt-5.6-terra), and the judge (claude-opus-5) are held constant. The only thing that changes is which search API is called.

What does the Web Search Benchmark not measure?

Query rewriting and multi-hop searches: the user query is sent as-is to all APIs and is a single fact-lookup query. Varying search depth: every endpoint returns the top 10 results; we do not run higher-k searches or tune depth.