GET /v1/async/status returns a live snapshot of everything currently in flight for your API key: how deep your admission queue is versus its capacity, how much of your sync concurrency budget is in use, and your inflight children grouped by region. It takes no parameters — it always reports the current state of the key making the request.
Use it as a pacing signal. Before you fire a large batch of captures, read this endpoint to see how much headroom you have, then throttle your submissions to stay under your limits instead of discovering them through 429 responses.
This is a read-only snapshot and never counts against your credits. It
reflects state at the moment of the request and can change immediately as work
is admitted and completed.
Request
Response
200 OK
The async admission queue for your key. New async submissions wait here before their children begin processing.
Your synchronous concurrency budget — the number of sync captures (the single-surface default,
?mode=sync, or Prefer: wait=30) that can run at the same time.Your children currently active (queued or running), counted in one owner-scoped pass.
Pace submissions to avoid 429s
Every429 your key can receive maps to a field in this snapshot, so you can preflight against it:
1
Read the snapshot before a batch
Poll
GET /v1/async/status right before submitting a large set of captures.2
Compute your headroom
For async work, keep submissions under
queue.capacity - queue.depth. For
sync work, keep concurrent calls under concurrency.limit - concurrency.running.3
Throttle, then submit
Submit up to your headroom, let some children drain, and re-read the
snapshot before the next wave rather than retrying blindly.
Related
Concurrency & limits
How the rate limit, sync concurrency budget, and admission queue fit
together — and how to back off cleanly.
Asynchronous captures
Submit a parent job, fan out across surfaces and regions, and poll children
as they complete.