Web Search API Eval

السجل الرسمي البحث والويب

Web search API benchmark for AI agents: You.com, Tavily, Exa, Parallel. Results and charts.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http web-search-api-eval 'https://websearch-api-eval.psberkeleymba.workers.dev/mcp'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "web-search-api-eval": {
            "type": "http",
            "url": "https://websearch-api-eval.psberkeleymba.workers.dev/mcp"
        }
    }
}
NPM package websearch-api-eval-mcp
Claude Code
claude mcp add web-search-api-eval -e 'YDC_API_KEY=<your ydc_api_key>' -e 'TAVILY_API_KEY=<your tavily_api_key>' -e 'EXA_API_KEY=<your exa_api_key>' -e 'PARALLEL_API_KEY=<your parallel_api_key>' -- npx -y websearch-api-eval-mcp@1.1.0
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "web-search-api-eval": {
            "command": "npx",
            "args": [
                "-y",
                "websearch-api-eval-mcp@1.1.0"
            ],
            "env": {
                "YDC_API_KEY": "<your ydc_api_key>",
                "TAVILY_API_KEY": "<your tavily_api_key>",
                "EXA_API_KEY": "<your exa_api_key>",
                "PARALLEL_API_KEY": "<your parallel_api_key>"
            }
        }
    }
}

متغيرات البيئة

  • YDC_API_KEY سري Optional. You.com API key, used only by run_live_search
  • TAVILY_API_KEY سري Optional. Tavily API key, used only by run_live_search
  • EXA_API_KEY سري Optional. Exa API key, used only by run_live_search
  • PARALLEL_API_KEY سري Optional. Parallel API key, used only by run_live_search

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. Web Search API Eval
  2. Contents
  3. The four pages
  4. Use it in Claude or ChatGPT
  5. Results at a glance
  6. Results by use case
  7. Methodology
  8. Metrics and the benchmarks they follow
  9. Developer setup and friction
  10. Run it yourself
  11. Limits
  12. Sources
  13. Repo layout

Web Search API Eval

A live, side-by-side benchmark of four web search APIs for AI agents (You.com, Tavily, Exa and Parallel) on 30 agent-style queries across GTM, insurance and finance use cases, plus a buyer memo, a target-account list and a market map built on the results.

By Pallavi Singla · final run Oct 8, 2026

**Live site: https://psinglap.github.io/websearch-api-eval/**

Contents

The four pages

PageWhat it covers
EvaluationThe full benchmark: every query, answer key, what each API returned, per-use-case scorecards and the setup friction log. PDF
GTM memoA one-page recommendation for an engineering lead choosing the web search API behind a live GTM chat agent. PDF
Target accounts60 accounts across 6 agent use cases, the developer pain behind them, seven GTM plays and where to reach buyers. Filterable.
Search AtlasThe six ways AI products get web search, with market size today and in 2030, who leads each way, how the market is moving and how to win.

Use it in Claude or ChatGPT

Ask about these results from inside your AI assistant with the read-only MCP server. It needs no sign-in or API keys and never runs searches.

Server URL: https://websearch-api-eval.psberkeleymba.workers.dev/mcp

WhereHow
Claude (web, desktop)Settings → Connectors → Add custom connector → paste the URL → No sign-in
ChatGPT (Plus and above)Plugins/Apps → Create MCP app (turn on Developer mode if asked) → paste the URL → No authentication
Claude Codeclaude mcp add --transport http websearch-api-eval https://websearch-api-eval.psberkeleymba.workers.dev/mcp
Cursor / VS Code / othersAdd a remote MCP server with the URL above (Streamable HTTP)

Then ask, for example:

  • "Which web search API is fastest for a voice agent?"
  • "Compare Exa and Parallel on finance."
  • "What was question F5 and who got it right?"
  • "Show me the overall scorecard chart."
  • "How do I run this benchmark on my own queries?"

Answers come from the published results (run Oct 8, 2026) and link back here. Support · Privacy Policy · Terms. Tools, data and deployment are documented in mcp/.

Results at a glance

Metric (30 queries × 3 repeats = 90 calls per API)You.comTavilyExaParallel
Accuracy score (% of max)63%51%53%67%
Queries fully correct in all 3 repeats57%37%50%57%
Precision@5 (on-topic share of top 5)37%26%40%26%
Results dated inside the query's window59%37%44%29%
Newest relevant result, median age4.1 h11.9 h8.2 h16.6 h
Empty responses (of 90)027123
Failed calls: errors, timeouts (of 90)0000
Latency p50 / p95, client (ms)593 / 8041,864 / 3,3051,106 / 3,9972,038 / 4,117
Latency p50, server-reported (ms)3791,650831n/a
Search cost per correct answer$0.026$0.016$0.012$0.008

Headline: You.com is the fastest API tested and the most dependable at returning something fresh: it leads on freshness, reliability and search-only speed. Parallel leads accuracy, with You.com a close second and tied on fully correct queries. Exa returns the most on-topic top 5; Parallel is cheapest per correct answer.

Which API fits which agent (from this test):

If your agent…PickWhy
Answers inside a live turn (voice, chat, alerts)You.comFastest at p50 and p95, freshest results, never returned empty
Does deep research where seconds don't matterParallelHighest finance accuracy; found the release pages and jobless-claims report others missed
Needs the most on-topic top 5 for semantic or long-tail queriesExaBest precision@5 in GTM and insurance; best insurance accuracy
Looks up docs or how-to answersTavilyBest GTM accuracy; correct on the config-docs query

Results by use case

Accuracy score (% of max) and search-only client latency p50:

Use caseAgent jobYou.comTavilyExaParallel
GTMFind fresh developer and company buying signals (issues, releases, funding, incidents)45% · 627 ms47% · 2,843 ms45% · 1,102 ms45% · 2,268 ms
InsuranceVoice and claims agent that needs live catastrophe status mid-call (500 ms budget)65% · 589 ms67% · 1,864 ms75% · 1,093 ms67% · 2,038 ms
FinanceAnalyst agent that needs exact, current numbers with primary-source citations80% · 592 ms40% · 1,642 ms40% · 1,106 ms88% · 1,972 ms

You.com answered all 30 search-only calls in under 1 second; no other provider managed more than 3 of 10 in any use case. Full scorecards, per-query grids and what each API returned are on the Evaluation page.

Methodology

Queries. 30 queries, 10 per use case (GTM G1–G10, Insurance I1–I10, Finance F1–F10). Each is written the way an AI agent calls web search:

FieldExample (G3)
Upstream task given to the agent"Any new mentions of Apache Iggy in the last day?"
Search call the agent sends"Apache Iggy"
Parameterswindow 24h
What the agent needs backEvery mention (repo, blog, forum) in 24h, with date, or "none"
Answer keyCaptured at run time, with source link and Wayback Machine snapshot

Every use case has at least 4 real-time queries; the rest use 24-hour, 48-hour, 7-day or 1-year windows. Some queries expect "none" as the right answer, to test whether an API presents stale pages as current.

Same request for everyone. Each provider gets the exact query string with the same parameters: 10 results, full page content where supported, the freshness window, and domain filters where supported.

Runs. Searches ran in promptfoo with Python providers: 3 runs per query, 90 calls per API. Latency is client-side wall-clock time around the HTTP request only, on a persistent connection after one discarded warm-up call; provider-reported server latency is recorded alongside. Search-only speed comes from a run of first-time queries sent one at a time, so caching doesn't flatter repeats.

Grading. Answers were written and graded from each provider's saved results (top 5), using the published SimpleQA grader rubric for accuracy and FreshQA strict rules for "none" answers and stale results. Answer keys were captured live at run time and archived to the Wayback Machine.

Evidence kept per call. Raw provider JSON, result dates and how each date was found, relevance labels, grader output, and an automatic log of every API anomaly.

Metrics and the benchmarks they follow

#MetricHow it's measuredStandard it follows
1Latency p50 / p95, % within budgetClient wall-clock per call; budget 3 s (GTM, finance), 500 ms (insurance)Artificial Analysis search methodology
2Accuracy (0–2)Correct = 2, incorrect or not attempted = 0; a partly right list = 1SimpleQA grader template, verbatim
3Correct "none"Says "none" when true without citing stale pages as current; never claims "none" when an answer existsFreshQA strict rules
4Freshness: % in windowShare of returned results dated inside the query's windowProvider dates + htmldate
5Freshness: newest relevant resultAge in hours of the newest relevant result at run timeFreshQA
6Precision@5Share of the top 5 judged relevant, time window includedTREC-style binary relevance
7Content in one callSearch response itself includes usable page text, no second fetchMeasured directly
8Token efficiencyTokens in the top 5 results, per query and per correct answertiktoken (cl100k)
9Cost per correct answerSearch list price × calls ÷ correct answersVendor list prices, dated
10ReliabilityErrors, timeouts and empty result lists per 90 callspromptfoo

With 10 queries per use case, results are reported per query ("won 7 of 10") rather than as percentage-point margins.

Developer setup and friction

Each signup was screen-recorded from sign-in to a copied API key, then to a first successful call.

TavilyYou.comParallelExa
Seconds from sign-in to copied key25 s55 s60 s95 s
Steps (screens or clicks)3111013
First API call1.28 s, HTTP 2000.65 s, HTTP 2003.57 s, HTTP 2003.20 s, HTTP 200

Every provider worked on the first call. The full timed friction log is on the Evaluation page.

Run it yourself

The full test harness is in eval/: promptfoo configs, Python providers for each API, the assertions behind every metric, ground-truth pullers, answer keys and grades. Metric definitions are in eval/METRICS.md and the query set is in reports/Agent queries.md.

The 30 questions

Every API gets the same search call and parameters. The answer keys (expected answer, source link, Wayback snapshot) are in eval/answer_keys.csv, and the test files built from these questions are in eval/tests/.

GTM agent (developer and company buying signals): 10 questions

IDWhat the agent is askedSearch call sent to each APIParametersFreshness
G1Find developers hitting Kafka latency problems right nowkafka consumer lag high latency issuewindow last ~6 h (tightest available), domains: github.comreal-time
G2Account signal: anything new at Confluent today?Confluent newswindow 24hreal-time
G3Any new mentions of Apache Iggy in the last day?"Apache Iggy"window 24hreal-time
G4Draft a note on Apache Iggy's latest release for a prospectApache Iggy release noteswindow 7 days, domains: github.com, iggy.apache.orgweek
G5Coding agent fixing a consumer-lag bug needs the official tuning guidancekafka consumer lag max.poll.records fetch.min.byteswindow 1 year, domains: kafka.apache.org, docs.confluent.ioyear
G6Competitive brief: what's the latest NATS server release?NATS server releasewindow 7 days, domains: github.comweek
G7Is Confluent Cloud having an incident right now? (outage = switching trigger)Confluent Cloud incidentwindow 24h, domains: status.confluent.cloudreal-time
G8Which AI-agent / data-infra startups just raised money?AI agent infrastructure startup funding roundwindow 48h48h
G9Find this week's content about memory/event logs for AI agentsdurable event log memory for AI agentswindow 7 daysweek
G10Competitive brief: published Redpanda vs Kafka latency benchmarksRedpanda vs Kafka p99 latency benchmarkwindow 1 yearyear

Insurance agent (voice and claims, live catastrophe status): 10 questions

IDWhat the agent is askedSearch call sent to each APIParametersFreshness
I1Caller wants a new Florida homeowners policyCitizens Property Insurance binding suspension Floridawindow 24h, domains: citizensfla.comreal-time
I2Caller in Pensacola asks if the storm is comingHurricane Isaias latest advisory NHCwindow 24hreal-time
I3Agent must check warnings for the policy's county before bindinghurricane warning Escambia County Florida activewindow 24hreal-time
I4Claims agent validating a wind-damage report in progressPensacola weather wind speedwindow 24hreal-time
I5Policyholder asks if they must evacuateBaldwin County Alabama evacuation order Isaiaswindow 24hreal-time
I6Claims ops checks whether federal aid appliesFEMA disaster declaration Hurricane Isaias 2026window 48h48h
I7Compliance agent checks for new regulator ordersFlorida OIR OR Alabama DOI emergency order Isaias insurancewindow 48h48h
I8Underwriting checks which states declared emergenciesgovernor state of emergency Hurricane Isaiaswindow 7 daysweek
I9Claims agent validating a Texas hail claimTexas hail storm reportswindow 24h, domains: spc.noaa.gov24h
I10Caller asks whether their 2024 Toyota RAV4 has an open recallNHTSA recall 2024 Toyota RAV4window 1 year, domains: nhtsa.govyear

Finance agent (analyst Q&A with primary sources): 10 questions

IDWhat the agent is askedSearch call sent to each APIParametersFreshness
F1Where is NVIDIA trading?NVDA stock pricewindow 24hreal-time
F2Where's the 10-year?US 10-year Treasury yieldwindow 24hreal-time
F3Bitcoin price?BTC USD pricewindow 24hreal-time
F4How's oil moving today?WTI crude oil pricewindow 24hreal-time
F5What did jobless claims print?initial jobless claims weekly reportwindow 24h, domains: dol.govreal-time
F6Summarize the latest Fed minutesFOMC minuteswindow 7 days, domains: federalreserve.govweek
F7List $1B+ M&A deals announced in the last two daysdefinitive agreement to acquire billionwindow 48h48h
F8Monitoring account Stryker: what did its latest 8-K report?Stryker 8-K item 5.02window 7 days, domains: sec.govweek
F9Analyst asks about the Chilwa Minerals listingChilwa Minerals IPO price per sharewindow 7 daysweek
F10When does JPMorgan report Q3?JPMorgan third quarter 2026 earnings release datewindow 7 daysweek (upcoming)
Steps
cd eval
./run.sh setup --playwright   # Python venv + requirements, promptfoo 0.124.0, Chromium
cp .env.example .env          # add your own API keys; .env is git-ignored
./run.sh smoke                # one call per provider to check keys
./run.sh run gtm              # also: insurance, finance
./run.sh analyze              # scorecards and charts into eval/out/

You need your own keys for each search API (YDC_API_KEY, TAVILY_API_KEY, EXA_API_KEY, PARALLEL_API_KEY, plus FIRECRAWL_API_KEY and LINKUP_API_KEY for the six-provider configs) and an SEC_USER_AGENT with your contact email for SEC EDGAR. No keys are stored in this repo. Full steps are in eval/README.md.

Included for audit: answer keys with source and Wayback links (eval/answer_keys.csv), per-query grades (eval/grading/), raw ground-truth snapshots pulled at run time (eval/ground_truth/raw/), the evidence log (eval/evidence/evidence_log.csv) and the friction log (eval/friction_log.csv). Raw provider responses are not included because of their size.

Limits

  • 10 queries per use case is a focused test, not a leaderboard; differences of a query or two are within noise.
  • Results reflect one run day (Oct 8, 2026); freshness and accuracy depend on what was published that day.
  • Prices are vendor list prices as of the run date; cost covers search only, not the answering model.

Sources

Repo layout

PathContents
index.htmlEvaluation page
memo/GTM memo
accounts/Target accounts
atlas/Search Atlas
img/Scorecards, per-query grids, activation charts and page screenshots
pdf/PDF versions of the evaluation and memo
eval/Test harness: configs, providers, metric assertions, answer keys, grades, ground truth
reports/The 30 agent queries
mcp/Read-only MCP server for Claude, ChatGPT and other assistants
data/Published results as JSON (built from the site by data/build_data.py)
llms.txtSummary and map of the repo for AI tools

الأسئلة الشائعة

ما هو Web Search API Eval؟

Web search API benchmark for AI agents: You.com, Tavily, Exa, Parallel. Results and charts.

كيف أثبّت Web Search API Eval؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http web-search-api-eval 'https://websearch-api-eval.psberkeleymba.workers.dev/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج Web Search API Eval إلى مفتاح API؟

نعم. يتطلب YDC_API_KEY, TAVILY_API_KEY, EXA_API_KEY, PARALLEL_API_KEY، وتضبطها في إعداداته.

هل Web Search API Eval مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون Web Search API Eval؟

ينشره psinglap. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.