Rate Limits
All API requests are subject to rate limits based on your plan.
Free Plan Limits
| Limit | Value |
|---|---|
| Monthly requests | 10,000 |
| Daily requests | 1,000 |
| Requests per minute (RPM) | 60 |
| API tokens | 5 |
Rate Limit Headers
Every API response includes rate limit headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per minute |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
When Redis is unavailable, the API fails open and returns:
| Header | Description |
|---|---|
X-RateLimit-Status | Set to degraded when rate limiting is unavailable |
Handling 429 Errors
When you exceed the rate limit, the API returns 429 Too Many Requests with the ErrorInfo format:
{
"requestId": "a1b2c3d4-...",
"path": "/api/v1/email",
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Try again later.",
"details": []
}
The response includes a Retry-After header with the number of seconds to wait before retrying.
Best practices:
- Implement exponential backoff on 429 responses
- Use the
Retry-Afterheader to know when to retry - Use the
X-RateLimit-Remainingheader to throttle proactively - Cache responses when possible to reduce API calls
Quota Headers
Every API response includes quota headers:
| Header | Description |
|---|---|
X-Quota-Limit | Monthly request quota |
X-Quota-Remaining | Remaining monthly requests |
X-Quota-Daily-Limit | Daily request quota (if applicable) |
X-Quota-Daily-Remaining | Remaining daily requests (if applicable) |
Monthly Quota
When your monthly quota is exhausted, requests return 429:
{
"requestId": "a1b2c3d4-...",
"path": "/api/v1/email",
"code": "QUOTA_EXCEEDED",
"message": "Monthly quota exceeded. Upgrade your plan.",
"details": []
}
Daily Quota
When your daily quota is exhausted, requests return 429:
{
"requestId": "a1b2c3d4-...",
"path": "/api/v1/email",
"code": "DAILY_QUOTA_EXCEEDED",
"message": "Daily quota exceeded. Try again tomorrow.",
"details": []
}
Paid Plans
Paid plans with higher limits are coming soon.