AriseLabsDocsOpen console ↗
Skip to content
API / Search

Search

Retrieve relevance-ranked evidence with a live or historical cutoff.

POST/v1/search

Request parameters

Send a JSON body with query. Unknown parameters are rejected with invalid_parameter.

ParameterWhat it controls
query

string · required

Keywords or a short phrase. Name the entities and concepts to retrieve; up to 2,000 characters.
k

integer · 1–50 · default 10

Maximum number of results. Advanced mode supports up to 20. There is no pagination; fewer results may be available.
with_rerank

boolean · default false

Rerank the top candidates before selecting the results. Check rerank_applied in the response. Advanced mode always requests reranking.
as_of_date

string · optional

Historical cutoff as a UTC calendar day: "2026-08-20". Today means live; future dates are rejected.
recency

string · optional

An indexing-time window of 1–365 days, such as "7d". Anchored at the cutoff date when set, otherwise now.
language

string · optional

A lowercase ISO 639 language code, such as "en" or "zh". Omit for all languages.
dedupe

boolean · 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.
mode

standard | 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.

Advanced mode includes live web evidence. Web results can contain snippets instead of full text. Their publication-date and last-updated filters do not provide the same historical snapshot guarantee as the indexed record. Use standard mode when that guarantee matters.

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"
}'

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
JSON
{
  "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_count gives the number of rows returned. collapsed_duplicates reports skipped copies.
  • rerank_applied reports whether reranking succeeded. There is no score field; the ordering expresses relevance.
  • degraded: [] means no reported degradation. partial_coverage means part of the index did not answer; rerank_capacity means 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.credits is the charge for this request. livemode describes 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.

See the full error reference →