Rate Limiting
To protect the platform and ensure fair usage across clients, all API requests are subject to rate limiting. When a client exceeds the allowed request quota, further requests are temporarily blocked.
Rate Limit Response Headers
Each API response includes headers that describe the current rate-limit state for the API key.
| Header | Description |
|---|---|
X-RateLimit-Limit | The maximum number of requests allowed per API key within a one-minute rolling window. |
X-RateLimit-Remaining | The number of requests remaining in the current rate-limit window. |
X-RateLimit-Reset | The number of seconds until the rate-limit window resets and the quota is refreshed. |
Retry-After | The number of seconds the client must wait before retrying the request. Returned only when the rate limit has been exceeded. |
Example Headers When Limit Is Reached
X-RateLimit-Limit: 2
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 46
Retry-After: 46
Interpretation
- The API key is limited to 2 requests per minute
- All requests for the current window have been consumed
- The rate limit will reset in 46 seconds
- Any additional requests before the reset will be rejected
HTTP 429 – Too Many Requests
When the rate limit is exceeded, the API returns:
HTTP/1.1 429 Too Many Requests
Response Characteristics
- The request is not processed
- No business logic is executed
- The response includes a
Retry-Afterheader indicating when it is safe to retry
Client Retry Guidelines
Clients are expected to implement responsible retry behavior.
Required Behavior
- Do not retry immediately after receiving a
429response - Respect the
Retry-Afterheader value - Resume requests only after the specified delay
Recommended Best Practices
- Implement automatic retry with backoff
- Pause requests until
X-RateLimit-Resetreaches0 - Avoid parallel retries using the same API key
Example Retry Logic (Pseudo-Flow)
-
Send request
-
If response is 200–299 → continue
-
If response is 429:
- Read
Retry-After - Sleep for the specified duration
- Retry the request
- Read
Notes
- Rate limits are enforced per API key
- Limits apply across all endpoints unless otherwise specified
Updated 16 days ago
