45 questions
Investor, accelerator, geography, founding-era, and funding constraints.
Parallel basic leads search-only at 46.5 F1 on 45 questions. Exa deep leads with fetch at 48.2. No provider clears 50 F1 — precision runs near 85% and recall near 30%, so every one of them returns companies that genuinely fit the constraints and misses most of the others that also do.
What this benchmark measures. This is the multi-hop / deep research task of the web search benchmark. Each question combines three or four constraints - such as headquarters, investor backing, accelerator participation, founding period, or funding history. A fixed research agent (AI agent) plans multiple searches, follows evidence, and returns a structured company set. For each benchmark configuration, the agent's native web search is replaced with the vendor's web search API. The result is scored against a hand-labelled canonical company set.
Why not BrowseComp. We evaluate web search APIs, so the answer has to be found, not recalled. BrowseComp is a static browsing-agent set: models have trained on it and learnt the answers. LiveBrowseComp (Fan et al., 2026) shows agents answer up to 44.5% of BrowseComp with no search tools — the benchmark rewards memory-backed verification rather than evidence-driven discovery. This board uses multi-constraint company questions whose model-only baseline is 0. A correct set has to be assembled from several searches.
Model-only baseline: 0. We confirmed that in a run with no search tool, where the model still scored 0. Each item combines three or four constraints that are not conclusively present in training data.
Vendors benchmarked. Brave Search, Exa Deep, Exa Instant, Firecrawl, Linkup Fast, Linkup Standard, Parallel Turbo, Parallel Fast, Parallel Basic, Parallel Advanced, Seltz Companies, Google SERP through RapidAPI, and Tavily Advanced. Configurations are rows because two modes from one vendor can behave like different products.
Workflows this benchmark answers. Use it when choosing web search infrastructure for automated account-list building, investor or accelerator portfolio discovery, multi-criteria market mapping, acquisition target research, or an AI agent that must return a complete and defensible company set. It is a BrowseComp alternative for that AI agent workflow: the agent is held constant, the model cannot recall the answer, and only the web search API changes.
Each chart ranks its own top eight; no single column decides the order. The tables list the full field alphabetically. Quality metrics report mean ± sample standard deviation across 3 trials, with each trial aggregated over all 45 questions. Column definitions are in [02] methodology.
The agent can issue focused searches and read the returned titles, URLs, and snippets. It cannot fetch page text.
| Provider | Endpoint & configuration | F1 | Precision | Recall | Exact set | Median time | Mean turns | Median task cost | API list price |
|---|---|---|---|---|---|---|---|---|---|
| Brave Search | GET /res/v1/web/searchbrave | 28.0 ± 1.7 | 66.9 ± 8.5 | 19.3 ± 0.5 | 0.7 ± 1.3 | 43.5 s | 8.0 | $0.268$0.070 search$0.200 token cost | $0.005 / search |
| Exa deep | POST /search type=deepexa-deep | 45.4 ± 2.0 | 83.2 ± 3.0 | 33.7 ± 1.4 | 1.5 ± 1.3 | 89.5 s | 7.4 | $0.717$0.156 search$0.556 token cost | $0.012 / search |
| Exa instant | POST /search type=instantexa-instant | 43.3 ± 1.0 | 82.6 ± 3.8 | 32.2 ± 0.5 | 3.0 ± 1.3 | 49.8 s | 7.3 | $0.652$0.091 search$0.559 token cost | $0.007 / search |
| Firecrawl | POST /v2/searchfirecrawl | 30.4 ± 1.1 | 77.3 ± 4.4 | 20.7 ± 0.7 | 2.2 ± 0.0 | 75.0 s | 7.9 | $0.282$0.070 search$0.212 token cost | $0.005 / search |
| Linkup fast | POST /v1/search depth=fastlinkup-fast | 41.1 ± 1.7 | 82.8 ± 1.0 | 30.3 ± 1.5 | 0.7 ± 1.3 | 64.2 s | 7.4 | $0.923$0.070 search$0.853 token cost | $0.005 / search |
| Linkup standard | POST /v1/search depth=standardlinkup-standard | 40.6 ± 0.9 | 84.0 ± 7.9 | 29.7 ± 1.4 | 1.5 ± 2.6 | 72.3 s | 7.3 | $0.937$0.070 search$0.867 token cost | $0.005 / search |
| Nimble | POST /v2/searchsearch_depth=lite · full_content=false · focus=general | 24.1 ± 1.4 | 65.2 ± 2.3 | 16.1 ± 1.3 | 0.7 ± 1.3 | 67.2 s | 7.9 | $0.222$0.015 search$0.207 token cost | $0.0011 / search |
| Nimble | POST /v2/searchsearch_depth=standard · full_content=false · focus=general | 30.7 ± 1.4 | 70.3 ± 3.3 | 21.3 ± 1.1 | 0.7 ± 1.3 | 53.0 s | 7.7 | $0.467$0.070 search$0.398 token cost | $0.005 / search |
| Parallel advanced | POST /v1/search mode=advancedparallel-advanced | 44.2 ± 1.4 | 87.6 ± 3.4 | 32.0 ± 1.6 | 2.2 ± 0.0 | 83.4 s | 7.3 | $0.625$0.070 search$0.565 token cost | $0.005 / search |
| Parallel basic | POST /v1/search mode=basicparallel-basic | 46.5 ± 1.9 | 88.7 ± 0.9 | 34.4 ± 2.0 | 3.7 ± 2.6 | 67.6 s | 7.4 | $1.120$0.070 search$1.050 token cost | $0.005 / search |
| Parallel fast | POST /v1/search mode=fastparallel-fast | 38.0 ± 2.0 | 79.9 ± 4.6 | 27.5 ± 1.4 | 1.5 ± 1.3 | 53.9 s | 7.6 | $0.460$0.014 search$0.447 token cost | $0.001 / search |
| Parallel turbo | POST /v1/search mode=turboparallel-turbo | 34.7 ± 2.4 | 80.0 ± 5.2 | 24.8 ± 2.4 | 1.5 ± 1.3 | 46.4 s | 7.6 | $0.419$0.014 search$0.405 token cost | $0.001 / search |
| Perplexity | POST /searchsearch_context_size=low | 37.8 ± 2.1 | 79.3 ± 5.7 | 26.8 ± 1.4 | 2.2 ± 2.2 | 48.9 s | 7.7 | $0.334$0.070 search$0.264 token cost | $0.005 / search |
| Seltz | POST /v1/search scope=companiesseltz-companies | 14.5 ± 0.9 | 40.0 ± 3.1 | 9.4 ± 0.7 | 0.0 ± 0.0 | 55.2 s | 7.3 | $1.751$0.070 search$1.681 token cost | $0.005 / search |
| SERP (RapidAPI) | GET google-search74.p.rapidapi.comserp | 0.4 ± 0.6 | 0.7 ± 1.3 | 0.3 ± 0.4 | 0.0 ± 0.0 | 31.4 s | 7.8 | $0.103$0.036 search$0.065 token cost | $0.003 / search |
| Tavily advanced | POST /search search_depth=advancedtavily-advanced | 41.1 ± 2.3 | 83.7 ± 4.2 | 29.8 ± 1.7 | 2.2 ± 0.0 | 92.2 s | 7.4 | $1.029$0.224 search$0.808 token cost | $0.016 / search |
| Tavily basic | POST /search search_depth=basictavily-basic | 36.5 ± 3.2 | 82.5 ± 1.9 | 25.7 ± 2.7 | 1.5 ± 1.3 | 63.0 s | 7.7 | $0.615$0.112 search$0.504 token cost | $0.008 / search |
| TinyFish | GET api.search.tinyfish.aitinyfish | 26.6 ± 1.3 | 64.7 ± 1.5 | 17.9 ± 0.8 | 1.5 ± 1.3 | 64.2 s | 7.9 | $0.212$0.000 search$0.212 token cost | $0 / search |
| You | POST /v1/searchextraction_mode=highlights | 38.6 ± 0.8 | 79.3 ± 4.9 | 28.3 ± 0.9 | 4.4 ± 0.0 | 48.2 s | 7.5 | $0.971$0.070 search$0.901 token cost | $0.005 / search |
| You | POST /v1/searchextraction_mode=highlights · knowledge=core | 38.1 ± 0.6 | 80.9 ± 1.6 | 27.4 ± 0.9 | 3.0 ± 1.3 | 47.6 s | 7.5 | $0.895$0.070 search$0.827 token cost | $0.005 / search |
F1, precision, recall, and exact-set accuracy are percentages reported as mean ± sample SD across three independent runs; each run aggregates all 45 questions. SD is measured in percentage points. Median time is the median end-to-end time across all runs for each vendor. Median task cost is the median of LLM $ plus search/fetch API $ per agent run. API list price is the PAYG unit rate of the search (and fetch) endpoint the harness calls.
The same agent can also fetch an exact URL returned by search. Provider-native extraction is used where available. Other providers use a custom HTTP/browser fetcher using playwright.
| Provider | Endpoint & configuration | F1 | Precision | Recall | Exact set | Median time | Mean turns | Median task cost | API list price |
|---|---|---|---|---|---|---|---|---|---|
| Brave Search | GET /res/v1/web/searchbrave | 29.4 ± 1.6 | 73.5 ± 5.8 | 20.4 ± 0.9 | 1.5 ± 1.3 | 45.1 s | 8.0 | $0.285$0.060 search+fetch$0.222 token cost | $0.005 / search |
| Exa deep | POST /search type=deepexa-deep | 48.2 ± 2.1 | 89.4 ± 1.2 | 36.0 ± 2.2 | 2.2 ± 2.2 | 95.8 s | 7.5 | $0.683$0.156 search+fetch$0.526 token cost | $0.012 / search$0.001 / fetch |
| Exa instant | POST /search type=instantexa-instant | 44.9 ± 0.9 | 85.9 ± 2.5 | 33.5 ± 0.9 | 5.2 ± 1.3 | 52.5 s | 7.5 | $0.653$0.091 search+fetch$0.557 token cost | $0.007 / search$0.001 / fetch |
| Firecrawl | POST /v2/searchfirecrawl | 33.2 ± 2.1 | 83.3 ± 0.8 | 22.7 ± 1.8 | 1.5 ± 1.3 | 82.1 s | 7.9 | $0.295$0.063 search+fetch$0.230 token cost | $0.005 / search$0.0025 / fetch |
| Linkup fast | POST /v1/search depth=fastlinkup-fast | 39.9 ± 1.3 | 85.3 ± 3.6 | 28.6 ± 1.3 | 0.7 ± 1.3 | 68.0 s | 7.3 | $0.903$0.061 search+fetch$0.837 token cost | $0.005 / search$0.001 / fetch |
| Linkup standard | POST /v1/search depth=standardlinkup-standard | 42.0 ± 1.8 | 90.7 ± 2.0 | 30.5 ± 2.0 | 3.0 ± 3.4 | 81.0 s | 7.5 | $0.911$0.070 search+fetch$0.848 token cost | $0.005 / search$0.001 / fetch |
| Nimble | POST /v2/searchsearch_depth=lite · full_content=false · focus=general · extract formats=[markdown] | 25.8 ± 2.2 | 67.2 ± 10.2 | 17.7 ± 1.5 | 1.5 ± 1.3 | 72.4 s | 8.0 | $0.226$0.226 token cost | $0.0011 / search |
| Nimble | POST /v2/searchsearch_depth=standard · full_content=false · focus=general · extract formats=[markdown] | 31.3 ± 1.8 | 73.2 ± 1.9 | 21.7 ± 1.6 | 1.5 ± 1.3 | 59.2 s | 7.9 | $0.424$0.424 token cost | $0.005 / search |
| Parallel advanced | POST /v1/search mode=advancedparallel-advanced | 42.2 ± 1.1 | 87.6 ± 0.3 | 30.1 ± 1.1 | 2.2 ± 0.0 | 80.9 s | 7.4 | $0.599$0.061 search+fetch$0.538 token cost | $0.005 / search$0.001 / fetch |
| Parallel basic | POST /v1/search mode=basicparallel-basic | 42.3 ± 1.1 | 81.3 ± 2.8 | 31.3 ± 1.1 | 3.0 ± 1.3 | 68.6 s | 7.5 | $1.089$0.061 search+fetch$1.033 token cost | $0.005 / search$0.001 / fetch |
| Parallel fast | POST /v1/search mode=fastparallel-fast | 39.3 ± 3.3 | 82.3 ± 6.6 | 28.2 ± 2.0 | 2.2 ± 0.0 | 55.1 s | 7.6 | $0.441$0.014 search+fetch$0.427 token cost | $0.001 / search$0.001 / fetch |
| Parallel turbo | POST /v1/search mode=turboparallel-turbo | 36.0 ± 3.5 | 83.6 ± 4.0 | 25.0 ± 2.6 | 0.0 ± 0.0 | 48.1 s | 7.7 | $0.414$0.013 search+fetch$0.400 token cost | $0.001 / search$0.001 / fetch |
| Perplexity | POST /searchsearch_context_size=high | 46.6 ± 2.0 | 87.7 ± 5.9 | 34.7 ± 1.1 | 2.2 ± 2.2 | 53.9 s | 7.5 | $0.504$0.070 search+fetch$0.441 token cost | $0.005 / search |
| Seltz | POST /v1/search scope=companiesseltz-companies | 16.3 ± 1.5 | 49.5 ± 2.4 | 10.2 ± 1.2 | 0.0 ± 0.0 | 60.1 s | 7.5 | $1.741$0.070 search+fetch$1.671 token cost | $0.005 / search |
| SERP (RapidAPI) | GET google-search74.p.rapidapi.comserp | 0.0 ± 0.0 | 0.0 ± 0.0 | 0.0 ± 0.0 | 0.0 ± 0.0 | 33.4 s | 7.8 | $0.102$0.039 search+fetch$0.066 token cost | $0.003 / search |
| Tavily advanced | POST /search search_depth=advancedtavily-advanced | 41.0 ± 1.3 | 89.4 ± 6.0 | 29.1 ± 0.7 | 2.2 ± 0.0 | 92.6 s | 7.3 | $0.898$0.195 search+fetch$0.685 token cost | $0.016 / search$0.0032 / fetch |
| Tavily basic | POST /search search_depth=basictavily-basic | 38.1 ± 1.4 | 81.2 ± 5.9 | 27.8 ± 0.7 | 2.2 ± 0.0 | 62.0 s | 7.8 | $0.610$0.112 search+fetch$0.507 token cost | $0.008 / search$0.0032 / fetch |
| TinyFish | GET api.search.tinyfish.aitinyfish | 30.2 ± 3.5 | 70.9 ± 11.3 | 20.9 ± 2.5 | 0.0 ± 0.0 | 63.4 s | 7.9 | $0.219$0.000 search+fetch$0.219 token cost | $0 / search$0 / fetch |
| You | POST /v1/searchextraction_mode=highlights | 38.5 ± 1.6 | 85.2 ± 2.7 | 26.9 ± 1.7 | 0.7 ± 1.3 | 45.6 s | 7.4 | $0.864$0.065 search+fetch$0.795 token cost | $0.005 / search$0.001 / fetch |
| You | POST /v1/searchextraction_mode=highlights · knowledge=core | 38.5 ± 2.4 | 78.2 ± 2.5 | 28.3 ± 3.0 | 3.7 ± 1.3 | 48.5 s | 7.4 | $0.894$0.065 search+fetch$0.830 token cost | $0.005 / search$0.001 / fetch |
F1, precision, recall, and exact-set accuracy are percentages reported as mean ± sample SD across three independent runs; each run aggregates all 45 questions. SD is measured in percentage points. Median time is the median end-to-end time across all runs for each vendor. Median task cost is the median of LLM $ plus search/fetch API $ per agent run. API list price is the PAYG unit rate of the search (and fetch) endpoint the harness calls.
Questions were selected from broad intersections in a frozen company census. Twenty-four questions have three constraints and twenty-one have four. The published gold release contains 375 canonical question-company memberships, with between two and thirty-seven valid companies per question.
The dataset was hand labelled. Reviewers checked companies against every constraint in each question, resolved names and domains to canonical company identities, and manually assembled the complete expected answer set. The resulting question-to-company memberships were then frozen as the gold set before benchmark scoring.
A separate 10-question public search-only set, including its frozen reference companies, is available on Hugging Face as openbenchmarks/OB-Company-Websearch. It can be used to inspect the schema and run the open harness, but scores computed on it are not comparable to this board, which uses the separate locked 45-question set. The runner and offline judge are in openbenchmarks-labs/multi-turn-company-search.
Investor, accelerator, geography, founding-era, and funding constraints.
Independent stochastic agent runs for every provider and question.
Search-only and search-plus-fetch are evaluated separately.
Every completed agent run is weighted equally in the reported averages.
true positives ÷ all returned companies, reported as the three-trial mean ± SD.
true positives ÷ all gold companies, reported as the three-trial mean ± SD.
The harmonic mean of precision and recall per agent run, reported as the three-trial mean ± SD.
The share of agent runs with no false positives and no false negatives, reported as the three-trial mean ± SD.
Returned names and domains are resolved to canonical company identities before scoring. Human resolution overrides are versioned; unresolved names remain distinct raw predictions and therefore cannot receive a true-positive match by string coincidence alone.
Search agents are stochastic: the same question can produce different queries and company sets. Every provider receives three independent agent runs. For each quality metric, each trial is first averaged over all 45 questions. The table then reports the mean and sample standard deviation of those three trial-level values rather than selecting the best attempt. Standard deviation is shown in percentage points (pp), describes trial-to-trial variability, and is not a confidence interval.
People looking for a BrowseComp benchmark web search API usually want a hard multi-hop job with the agent held constant. We do not run the BrowseComp question set: models have trained on it and can answer from memory. This board is the alternative: it ranks web search APIs on complete company sets under investor, geography, and funding constraints, where the model-only baseline is 0.
We evaluate web search APIs, so a correct answer has to come from search, not from the model's memory. BrowseComp is a static browsing-agent set: models have trained on it and learnt the answers. LiveBrowseComp (Fan et al., 2026, https://arxiv.org/abs/2605.28721) shows agents answer up to 44.5% of BrowseComp with no search tools — the score rewards memory-backed verification rather than evidence-driven discovery. This board holds the agent fixed, swaps only the web search API, and uses multi-constraint company questions whose model-only baseline is 0.
BrowseComp scores browsing agents on hard-to-find facts, but those facts are now inside model training data. LiveBrowseComp rebuilds the task from facts published in the prior 90 days so closed-book accuracy falls below 2%. We follow that logic for a different object of measurement: the web search API. The agent is held constant; only the web search (and fetch) endpoint changes. Questions are complete company sets under investor, geography, and funding constraints, ranked on precision, recall, and F1.
No. The model-only baseline is 0. Each question combines three or four constraints that are not conclusively present in training data. That was confirmed in a run with no search tool, where the model still scored 0. A complete company set has to be assembled from several searches.
Parallel basic leads search-only at 46.5 F1 across 45 questions; Exa deep leads search-plus-fetch at 48.2. No provider clears 50 F1. This board is that job: a research agent must recover the complete set of companies matching three or four constraints. Rank by F1, then precision and recall. It is multi-hop / deep research, not a one-shot lookup.
Parallel basic leads search-only at 46.5 F1 across 45 questions; Exa deep leads search-plus-fetch at 48.2. No provider clears 50 F1. Use this multi-turn company search benchmark. It ranks web search APIs for an AI agent on a job the model cannot recall. The AI agent is held constant; only the web search API — including websearch and search configurations — changes. Rankings are reported separately for search-only and search-plus-fetch.
Parallel basic leads search-only at 46.5 F1 across 45 questions; Exa deep leads search-plus-fetch at 48.2. No provider clears 50 F1. This board measures that job: a research agent must recover the complete set of companies matching three or four constraints. Rank by F1, then precision and recall. It is multi-hop search, not a one-shot lookup and not a firmographic or enrichment API.
The benchmark includes Brave Search, Exa Deep, Exa Instant, Firecrawl, Linkup Fast, Linkup Standard, Parallel Turbo, Parallel Fast, Parallel Basic, Parallel Advanced, Seltz Companies, a Google SERP API, and Tavily Advanced. Each endpoint and configuration is reported as a separate measured row.
Every returned company is resolved to a canonical company identity and compared with a human-reviewed gold set. A correct member is a true positive, an extra company is a false positive, and a missed gold company is a false negative. Precision, recall, and F1 are calculated per agent run and averaged across all questions and three independent agent runs.
A company research answer can fail in two opposite ways. It can pad the result with companies that do not satisfy every constraint, lowering precision, or omit valid companies, lowering recall. F1 summarizes both, while exact-set accuracy records the stricter case where the returned set matches the reviewed set exactly.
Search-only exposes provider search results and snippets to the agent but no page-reading tool. Search-plus-fetch also lets the agent open an exact URL returned by search. The two modes are reported separately because page retrieval can change both answer quality and cost.
Benchmarked Nimble lite and standard on 45 questions across three repeats in both modes. Search uses full_content=false and focus=general; search + fetch calls POST /v2/extract separately with formats=[markdown].
Added You with extraction_mode=highlights, both with and without knowledge=core, to search-only and search + fetch. Each configuration was evaluated on all 45 questions across three independent repeats per mode. Search + fetch uses You Contents.
This is the multi-hop search task on the web search benchmark.
Factual lookup: company news →
Hard retrieval: web search for coding agents →
Ranked for one constraint, same run: Most accurate web search API for research agents: precision, recall and F1 → · Fastest web search API for research agents: time per task quality → · Cheapest web search API for research agents: cost per research task → · Best search API to find companies by investor, location and funding stage → · Best search and fetch API for AI agents: search-only vs search + fetch →
Best search APIs for company search: Best Web Search API for Company Search · Best Search API for Company Search · Best Search API for Multi-Turn Search · Best Search API for Agentic Company Research · Best Search API for Research Agents · Best Search API for Multi-Turn Company Search · Best Web Search API for Multi-Turn Company Search
By accuracy, speed and recall: Fastest Web Search API for Company Search · Fastest Search API for Company Search · Most Accurate Web Search API for Company Search · Most Accurate Search API for Company Search · Search API with the Best Recall · Most Accurate Web Search API for Multi-Turn Company Search · Fastest Web Search API for Multi-Turn Company Search · Cheapest Web Search API for Multi-Turn Company Search · Most Token-Efficient Web Search API for Multi-Turn Company Search · Web Search API with the Best Recall
Alternatives for research agents: Exa Alternatives for Research Agents · Linkup Alternatives for Research Agents · Firecrawl Alternatives for Research Agents
All multi-turn company search comparisons →
By use case: Best web search API for company research → · Best web search API for deep research → · Best web search API for multi-turn search → · Best web search API for agentic company research → · Best web search API for research agents →
Vendor pages: Nimble for research agents: multi-hop company search, measured → · Exa for research agents: multi-hop company search, measured → · Tavily for research agents: multi-hop company search, measured → · Brave Search API for research agents: multi-hop company search, measured → · Parallel for research agents: multi-hop company search, measured → · Perplexity Sonar API for research agents: multi-hop company search, measured → · Firecrawl for research agents: multi-hop company search, measured → · Linkup for research agents: multi-hop company search, measured → · You.com API for research agents: multi-hop company search, measured → · Seltz for research agents: multi-hop company search, measured → · TinyFish for research agents: multi-hop company search, measured → · SERP via RapidAPI for research agents: multi-hop company search, measured →
Alternatives: Tavily alternatives for research agents, measured → · Parallel alternatives for research agents, measured → · Perplexity alternatives for research agents, measured → · Brave Search alternatives for research agents, measured →
Token efficiency: Most token-efficient web search API for research agents →
Company discovery by constraint: Best search API to find companies backed by a specific investor → · Best search API to find accelerator portfolio companies by batch and location → · Best search API to build a market map by geography → · Best search API to find companies by funding stage → · Best search API to find companies by sector and location →
Method: How to evaluate a web search API for AI agents → · Precision vs recall vs F1 for web search APIs → · BrowseComp vs LiveBrowseComp vs multi-turn company search →
Head-to-heads that include this task: Parallel vs Exa → · Linkup vs Tavily → · Exa vs Perplexity → · Brave vs Tavily → · Exa vs Firecrawl → · Brave vs Parallel → · Exa vs Tavily → · Tavily vs Parallel → · Brave vs Exa → · Linkup vs Firecrawl → · Exa alternatives →
Best API for GTM list building (similar companies or build a list) →
Best web search APIs for AI agents · Best web search APIs for developers · Best web search APIs for LLM apps & agents · Best web search APIs for LLM agents · Agentic search comparison & benchmark · Deep search comparison & benchmark · Web search APIs for AI & LLM developers · Web search APIs & MCPs for AI agents and developers · Search tools for AI agents · Search providers for LLM applications · AI search engines for agents · Free web search APIs for AI agents · Web search APIs for RAG · Independent web search API comparison · Best fast web search API · Best search and scrape API · Best scrape API for AI agents · Best search API for deep research agents · Best search API for company research · Best search API for sales agents · Best search API for coding documentation · Best web search API for grounding · Best search API for news