| Mechanism | What it limits | Behavior on exceeded | Returns |
|---|---|---|---|
| Edge rate limits | Requests per second to the API | Request is rejected at the ingress | 429 |
| Concurrency throttle | Parse batches running in parallel for your account | Work queues until a slot frees, then runs | 200 (after wait) |
429 immediately. The SDKs retry 429 responses with exponential backoff automatically.
Per API Key
| Endpoint scope | Limit | 429 response body |
|---|---|---|
| All endpoints | 1,000 req/s sustained | {"message": "[CODE 1000] rate limit exceeded, retry with exponential backoff"} |
GET /job/{job_id} | 200 req/s sustained | {"message": "[CODE 2000] rate limit exceeded, please use webhooks instead of polling"} |
[CODE 2000], you’re polling job status faster than necessary. Switch to webhooks so Reducto pushes results when ready.
Rare Infra-Shed 429s
In rare conditions, Reducto returns 429 from the application layer to protect core infrastructure when it is under load. These 429s do not carry a[CODE …] body. They are not a normal-operation signal that you have exceeded any limit; treat them as a transient infrastructure event and retry with backoff.
How to Tell Which Limit You’re Hitting
| Symptom | Mechanism | Action |
|---|---|---|
Immediate 429 with body [CODE 1000] | Edge rate limit, per-API-key request rate | Slow your submission rate or split traffic across API keys. |
Immediate 429 with body [CODE 2000] | Edge rate limit, per-API-key polling rate on /job | Switch to webhooks instead of polling. |
Immediate 429 with no [CODE …] body | Rare infra shed (see above) | Retry with backoff. |
| Slow P90 latency, no 4xx | Concurrency throttle | Submit steadier traffic so earned_base grows, or contact sales. |
| Sync request hanging close to the 15-minute (900s) timeout | Concurrency throttle | Switch the call to async. |
Related
Concurrency Throttle
How Reducto queues parallel parse work and the tier baselines.
Async Processing
Submit jobs and receive results via webhook.
Error Codes
Full reference for client and server errors.