Skip to main content

Request fields

POST /api/search/query accepts:
string
required
The search query. Maximum 512 characters. q is accepted as an alias.
string
default:"instant"
instant, deep, or deep_reasoning. See Search tiers.
integer
default:"10"
Results to return. Values above 50 are clamped to 50.
boolean
default:"true"
Extract readable page content for each result. Set false to return links only and skip the per-page extraction cost.
string
default:"json"
json, markdown, or text. Non-JSON formats also populate rendered.
string
Restrict to a single domain, e.g. arxiv.org.
string
Preferred result language.
string
any, day, week, month, or year.
string
default:"general"
general, news, science, images, videos, or it.
The same search is available as GET /api/search/query using query parameters, where q is required. Add raw=1 with format=markdown or format=text to get the rendered body directly as text/markdown or text/plain instead of JSON.

A result

The six ranking signals

score is a blend of the values in components. They are returned on every result so you can audit a ranking, or re-rank it yourself.
consensus is the strongest defence against a single engine’s spam. If you re-rank, keep it weighted heavily.

Stats

stats reports what the request actually did:
cached: true means the response was served from cache and not billed. Every search has an id. Fetch it again without paying for a new one: