Basics
Rate limits
Unit budgets per fixed 60-second window and how to retry after a 429.
Budgets are measured in units per fixed 60-second window.
| Access | Budget |
|---|---|
| anonymous | 20 units per minute per IP |
| api key | 120 units per minute per key |
Unit costs
| Request | Unit cost |
|---|---|
| most requests | 1 |
| batch | N (N = unique rows) |
| intake | 5 |
| receipt creation | 2, since it runs a real decision read. Extra cap of 5 creations per minute. |
Headers and retries
Responses that pass validation carry X-RateLimit-Limit and X-RateLimit-Remaining; early validation errors (400) can omit them. A 429 adds Retry-After in seconds: wait that long, then retry.
Budgets use a fixed 60-second window, so bursts right after a 429 will fail again. Read Retry-After, wait, then retry once. Nothing is charged for size-rejected batch requests.