Rate Limits
Understand Aira's rate limit tiers, response headers, and how to handle 429 responses.
Rate Limit Tiers
Aira enforces per-key rate limits to ensure fair usage and platform stability. The default tiers are:
| Tier | Applies To | Limit |
|---|---|---|
| Public | Unauthenticated requests | 30 requests / minute |
| Authenticated | Standard API key requests | 60 requests / minute |
| Auth endpoints | /auth/* routes (login, token refresh, etc.) | 10 requests / minute |
Limits are evaluated on a sliding window per API key (or per IP for unauthenticated requests).
Response Headers
Every API response includes rate-limit headers so you can track your usage in real time:
| Header | Description |
|---|---|
X-RateLimit-Limit | The maximum number of requests allowed in the current window. |
X-RateLimit-Remaining | The number of requests remaining before the limit resets. |
X-RateLimit-Reset | Unix timestamp (seconds) when the current window resets. |
Example response headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1712345678Handling 429 Responses
When you exceed your rate limit, the API returns a 429 Too Many Requests response with an error body:
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Try again in 12 seconds.",
"details": {
"retry_after": 12
}
},
"request_id": "req_rl_abc123"
}The response also includes a Retry-After header with the number of seconds to wait:
Retry-After: 12Recommended Retry Strategy
- Read the
Retry-Afterheader (orerror.details.retry_afterfrom the JSON body). - Wait for the specified duration.
- Retry the request.
- If you continue to receive 429 responses, apply exponential backoff (e.g., double the wait time on each subsequent retry, up to a maximum of 60 seconds).
Both the Python and TypeScript SDKs handle retry logic automatically by default.
Plan-Based Limits
Higher rate limits are available on paid plans. Your effective limits depend on your subscription tier:
| Plan | Authenticated Limit | Burst Allowance |
|---|---|---|
| Free | 60 requests / minute | — |
| Pro | 300 requests / minute | Up to 500 / minute for short bursts |
| Enterprise | Custom | Custom — contact sales |
To check your current plan and limits, visit the Billing page in the Aira dashboard or call the Billing API.
If you need limits beyond what your current plan provides, contact us to discuss Enterprise options.