Skip to main content

POST /v1/search

Search-engine results as structured JSON. No session is needed: each search runs on a browser of its own and tries the engines in order until one answers. Auth: Bearer API key. Request: Response: The default chain, {"query": "web scraping with a headless browser", "count": 5}:
Pinned to Google, {"query": "web scraping with a headless browser", "count": 3, "engine": "google"}, with published dates (trimmed to the results and the attempt record):
A pinned engine has no fallback. Each engine attempt has a 20-second budget; an exhausted attempt is reported as blocked with reason: "timeout". The unpinned chain can try the next engine. Use async_mode: true when the full search may exceed the synchronous response deadline, then poll the returned job id. An unknown engine:
Errors: Notes:
  • Timing: the default chain answers in 1 to 2 seconds; a Google pin can take around 9 seconds.
  • Cache: results are cached for 120 seconds per engine, query, region, offset, count and collapse_domains, and fresh: true bypasses it. Do not depend on a repeat being served from cache or being identical.
  • Billing for credit-funded accounts: an uncached search incurs the session charge and browser time, plus one action on status: "ok" (including zero results). A successful cached response costs one action without a new browser charge. Developer and Team have no per-call wallet debits.
  • Operator queries (site:, inurl:, OR, …) that return nothing come back as status: "empty" with reason: "unsupported_operators", the operators seen and a suggestion rewrite, and are not charged the action.

GET /v1/search/engines

The engines POST /v1/search accepts and the order an unpinned search tries them. Auth: Bearer API key. No body.

GET /v1/search/regions

Countries a search can be run from, with the routes that serve each. Auth: Bearer API key. No body.
When regional search is available, available is true, order lists the route kinds best first, and regions maps each country code to its routes. Until then region on POST /v1/search answers 503.