Rate Limiting
Understanding API rate limits, monthly quotas, and response headers.
Overview
Altirs enforces two types of rate limiting to ensure fair usage:
- Burst rate limiting: per-key limits over a 60-second sliding window
- Monthly quota: total requests per billing cycle, set by your plan
Plan Limits
| Plan | Monthly Requests | Burst Rate |
|---|---|---|
| Free | 1,000 | 20 req / 60s |
| Starter | 50,000 | 300 req / 60s |
| Growth | 500,000 | 1,000 req / 60s |
| Enterprise | Unlimited | 5,000 req / 60s, custom on request |
IP Rate Limiting
An additional IP-based rate limit protects against brute-force and DDoS attacks. This applies before API key authentication and limits requests per IP address.
Rate Limit Headers
Every API response includes rate limit information:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1706140800| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests in the current window |
X-RateLimit-Remaining | Remaining requests in the current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Handling Rate Limits
When you exceed the rate limit, the API returns 429 Too Many Requests:
{
"error": "Rate limit exceeded. Try again shortly.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}Best practices:
- Implement exponential backoff when you receive a
429 - Check
X-RateLimit-Remainingproactively to avoid hitting limits - Use the batch endpoint to process multiple inputs in one request
- Monitor usage in your dashboard to stay within quotas
Usage Alerts
Altirs sends email alerts when you approach your monthly quota:
- 80% used: a heads-up so you can upgrade before the limit
- 100% used: requests are rejected until the next billing cycle