Submit a background capture
POST /v1/screenshot?mode=async. The query override selects asynchronous mode even if the body contains sync: true.
An unfinished submission returns HTTP 202 with a job ID and a relative poll URL. A reused request that has already completed can return its terminal capture result immediately, so handle both 200 and 202.
Poll the job
Use the submitting API key withjobs:read scope:
Retry-After on 429 responses. Polling requests themselves are rate limited.
A successful lookup has this shape:
Timeouts and recovery
A client timeout stops your client from waiting. It does not cancel the capture. Keep the job ID or idempotency key and look up the original work before starting another capture. If submission returns an error witherror.details.job_id, reconcile that job first. With an idempotency key, use request recovery. Download results promptly; job and artifact retention are not permanent-storage guarantees.
For background notification, configure webhooks. The Node.js and Python examples handle both direct completion and job polling.