Search
Retrieve relevance-ranked evidence with a live or historical cutoff.
/v1/searchRequest parameters
Send a JSON body with query. Unknown parameters are rejected with invalid_parameter.
| Parameter | What it controls |
|---|---|
querystring · required | Keywords or a short phrase. Name the entities and concepts to retrieve; up to 2,000 characters. |
kinteger · 1–50 · default 10 | Maximum number of results. Advanced mode supports up to 20. There is no pagination; fewer results may be available. |
with_rerankboolean · default false | Rerank the top candidates before selecting the results. Check rerank_applied in the response. Advanced mode always requests reranking. |
as_of_datestring · optional | Historical cutoff as a UTC calendar day: "2026-08-20". Today means live; future dates are rejected. |
recencystring · optional | An indexing-time window of 1–365 days, such as "7d". Anchored at the cutoff date when set, otherwise now. |
languagestring · optional | A lowercase ISO 639 language code, such as "en" or "zh". Omit for all languages. |
dedupeboolean · default true | Keep the highest-ranked copy of each story, collapsing canonical URLs, normalized titles within a week, and near-identical text. Set false for coverage audits. |
modestandard | advanced · default standard | Standard searches the indexed record. Advanced combines indexed and web results, collapses duplicates, and reranks the combined pool. |
Pricing
Standard search costs 3 credits for up to 25 requested results, or 5 credits for 26–50. Reranking does not change the price. Advanced mode costs 5 credits per request with up to 20 results.
Time semantics
as_of_date and recency filter by indexing time. For a historical day, the upper bound is the end of that UTC day. Publication dates describe the original source and can be missing or differ from indexing time.
Put dates in the date fields. Writing “as of December 11” in the query does not set a cutoff. Boolean operators, quotes, and minus signs are treated as ordinary query text.
Make a request
curl -s https://api.ariselabs-search-api.com/v1/search \
-H "Authorization: Bearer $ARISELABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "TSMC CoWoS capacity 2027",
"k": 5,
"with_rerank": true,
"as_of_date": "2026-08-20",
"recency": "30d"
}'import httpx, os
r = httpx.post(
"https://api.ariselabs-search-api.com/v1/search",
headers={"Authorization": f"Bearer {os.environ['ARISELABS_API_KEY']}"},
json={
"query": "TSMC CoWoS capacity 2027",
"k": 5,
"with_rerank": True,
"as_of_date": "2026-08-20",
"recency": "30d",
},
timeout=60,
)
r.raise_for_status()
page = r.json()
for row in page["data"]:
print(row.get("published_at", "")[:10], row["title"])const r = await fetch("https://api.ariselabs-search-api.com/v1/search", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ARISELABS_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"query": "TSMC CoWoS capacity 2027",
"k": 5,
"with_rerank": true,
"as_of_date": "2026-08-20",
"recency": "30d"
}),
});
if (!r.ok) throw new Error(await r.text());
const page = await r.json();Read the response
The data array is ranked by relevance. Standard rows contain the indexed text (up to 20,000 characters), source URL, title, and publication time when available. Advanced web results can carry snippet instead of text.
Example search response
{
"object": "search_result_page",
"livemode": true,
"data": [
{
"url": "https://example.com/blackwell-supply",
"title": "Blackwell supply outlook",
"text": "Example article text…",
"published_at": "2026-09-06T13:22:11Z"
}
],
"search_metadata": {
"query": "nvidia blackwell supply",
"returned_count": 1,
"degraded": [],
"rerank_applied": false,
"elapsed_ms": 284
},
"usage": {
"credits": 3
}
}returned_countgives the number of rows returned.collapsed_duplicatesreports skipped copies.rerank_appliedreports whether reranking succeeded. There is no score field; the ordering expresses relevance.degraded: []means no reported degradation.partial_coveragemeans part of the index did not answer;rerank_capacitymeans standard search returned the first-stage ranking.- Advanced mode can also report unavailable web retrieval or pool reranking in
degraded. Check it before relying on full coverage. usage.creditsis the charge for this request.livemodedescribes the API key environment; it does not indicate whether the query used a historical cutoff.
To retrieve the current contents of a specific URL, use Fetch.
Handle failures
- 400: fix the parameter named in the message.
- 402: add credits in the console.
- 429: wait for
Retry-After, then retry with backoff if needed. - 503: retry with backoff and honor
Retry-After.