How it works
Every request is asynchronous. You submit a task, we queue it, a worker drives the target engine (via HTTP scraping or a real browser, depending on the engine), and the result comes back to you either through a webhook or by polling.1
Submit a task
POST /v1/async/task with a taskType and a payload. You get back a task id
immediately, with status QUEUED.2
We drive the engine
A worker claims the task, queries the engine, and extracts the answer text, sources,
and any engine-specific extras.
3
Collect the result
If you supplied
webhook.url, we POST the result to it. Otherwise poll
GET /v1/async/task/{id} until status is COMPLETED or FAILED.What you get back
Regardless of engine, the useful core of every result is the same shape:string
The engine’s answer as plain text.
array
The citations the engine attached to its answer —
position, url, and usually label.Base URL
/health and /ready require a bearer token.
Start here
Submit your first task and get a result back in under five minutes.