Search API
POST /v1/answers/search is the search tool behind Answers. It
returns ranked sources for a query, each with the text on the page that matches
it, and writes no answer: your agent reads the sources and reasons over them.
Use ask instead when you want one checked answer.
On DeepSearchQA, Hyperresearch Search scores 89% and Exa scores 72%. Exa ranks top on Artificial Analysis's Search Index. Hyperresearch Search was tested in standard mode as it runs in production, where every call queries Parallel's and Exa's search APIs and reranks their results with our own sources. So our results include Exa's; the Exa row is Exa's search API on its own.
Every search queries the open web and about 45 structured sources (company filings, statistics agencies, scholarly indexes, books, government records), merges and dedupes what comes back, and ranks it against the query.
Where the results come from
Section titled “Where the results come from”The web results come from outside search providers we pay for. Every search
queries Parallel’s and Exa’s web search APIs; max also queries Valyu’s. We
then read the top pages ourselves. When a page will not load directly we use an
archived copy or Valyu’s reader, and a PDF may be read through Valyu or
Firecrawl. A result we did not read ourselves keeps the excerpt its search
provider returned, marked verified: false. In the response, source says
web for a result from any of these web indexes; it does not say which one.
Results contain third-party material, and the
Terms say how you may use them.
Request
Section titled “Request”curl https://api.hyperresearch.ai/v1/answers/search \ -H "Authorization: Bearer $HYPERRESEARCH_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query": "EU member states with a population over 10 million that use the euro", "max_results": 10}'| Field | Type | Default | |
|---|---|---|---|
query |
string, 1-1,000 characters | required | A search query. site:example.com restricts the web results to that domain. |
max_results |
integer, 1-25 | 10 | Results returned at most. |
mode |
standard or max |
standard |
See below. |
The key needs the answers:ask scope. Send an Idempotency-Key header to
retry safely: the same key and body replay the first call with one charge.
| Mode | What it does | Typical time | Price |
|---|---|---|---|
standard |
The web indexes and the structured sources, the top pages read live, ranked by a model | 10-20 s | 5¢ |
max |
Every web index on every call, the full structured-source walk, tables read out of PDFs, a deeper rerank | 20-45 s | 15¢ |
A search that fails on our side is free. One that completes with no results is free unless it was expensive to run (then 1.5x our cost, at most the mode price).
Response
Section titled “Response”{ "id": "ans_01J9ZQ7V6H0000000000000000", "query": "EU member states with a population over 10 million that use the euro", "status": "ok", "mode": "standard", "results": [ { "rank": 1, "url": "https://european-union.europa.eu/institutions-law-budget/euro/countries-using-euro_en", "title": "Countries using the euro", "published": "2025-01-01T00:00:00.000Z", "source": "web", "kind": "web", "snippet": "20 of the 27 EU member states use the euro …", "passages": [{ "text": "20 of the 27 EU member states use the euro: Austria, Belgium, Croatia, …", "verified": true }] } ], "meta": { "ms": 11840, "mode": "standard", "reranked": true, "fetched": 6 }, "price_cents": 5, "balance_cents": 495}Each result:
rank: 1 is the best match.url,title.published: the page date (ISO 8601) when a source dated it.source:webfor the open web (any of the web search providers above), or the structured source a record came from (for exampleedgar,openalex,worldbank).kind:weba page,recorda structured-source record,datarows of a dataset.snippet: a short lead. The passages carry the full text.passages: the text that matches the query, plain text with no Markdown links.verified: truemeans the passage was cut word for word from the live page;falsemeans it is the excerpt a search provider (Parallel, Exa or Valyu) returned.
meta.errors lists one { "kind": "source_unavailable" } per source that
failed during the call; the rest of the results still come back.
Limits and errors
Section titled “Limits and errors”ask and search together are limited to 60 calls a minute per API key and
120 a minute per workspace, and an account runs at most 10 Answers calls at
once. Past either limit the API answers 429 with Retry-After. A call your
balance cannot cover is a 402 with a top-up link; see Billing
and Errors.
The full schema is in the API reference.