Rate limits
Be kind to the server, limits are a little conservative for launch but may be relaxed later.
Per-endpoint limits
Account endpoints are throttled on an hourly window:
| Endpoint | Limit |
|---|---|
| Account registration | 10 / hour |
| Account verification | 30 / hour |
| Changing your webhook | 12 / hour |
Global limits
Everything else falls under two per-minute buckets, scoped to your API token:
| Request type | Limit |
|---|---|
Reads (GET) | 60 / minute |
Actions (POST, DELETE, PATCH, etc.) | 30 / minute |
When you hit a limit
Exceeding any limit returns 429 Too Many Requests with a Retry-After header telling you how many seconds to wait before trying again.
HTTP/1.1 429 Too Many Requests
Retry-After: 47
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1779087998
...
{
"code": 429,
"status": "Too Many Requests"
} Be polite. Prefer batching or polling over hammering the same endpoint. Most async requests will give you an ETA for when they will be finished.