Rate Limits
nofakemails uses rate limiting to ensure fair usage and maintain service quality for all users. This page explains how rate limiting works and what limits apply to your account.
What is Rate Limiting?
Rate limiting controls how many API requests you can make within a given time period. It protects the API infrastructure, ensures fair access for all users, and maintains fast response times during high traffic. nofakemails enforces two types of limits:
- Requests per second (RPS) - Controls burst traffic to prevent service overload
- Requests per month - Your monthly validation quota based on your subscription tier
How It Works
nofakemails uses a token bucket algorithm for per-second rate limiting. Here's how it works:
- Your account has a bucket that holds tokens equal to your RPS limit
- Each request consumes one token from the bucket
- Tokens are replenished every second up to your limit
- If no tokens are available, the request is rejected with a 429 error
Rate Limits by Tier
| Tier | Requests Per Second | Requests Per Month |
|---|---|---|
| Freemium | 1 request/second | 1,000 requests |
| Pro | 5 requests/second | 200,000 requests |
| Enterprise | Unlimited | Unlimited |
Response Headers
The API includes usage information in response headers to help you track your consumption:
| Header | Description |
|---|---|
X-Usage-Current | Current number of requests used in this billing period |
X-Usage-Limit | Total requests included in your subscription tier |
X-Usage-Overage | Set to "true" if you are in overage (Pro tier only) |
Retry-After | Seconds to wait before retrying (only on 429 responses) |
Error Responses
Rate Limit Exceeded (Per-Second)
When you exceed your requests-per-second limit, the API returns a 429 Too Many Requests response:
{
"status": 429,
"title": "Too Many Requests",
"detail": "You have exceeded the rate limit. Please try again in 1 seconds."
}The response includes a Retry-After header indicating how long to wait:
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Retry-After: 1 secondsMonthly Limit Exceeded
When you exceed your monthly request quota (Freemium tier), the API returns a 429 Too Many Requests response:
{
"status": 429,
"error": "Too Many Requests",
"message": "Monthly request limit exceeded. Upgrade to Pro for more requests.",
"usage": {
"current": 1000,
"limit": 1000
}
}The Retry-After header contains the date when your billing period resets.
Insufficient Usage for Batch Validation
When performing batch validation without enough remaining quota, the API returns a 402 Payment Required response:
{
"success": false,
"error": {
"code": "INSUFFICIENT_USAGE",
"message": "Insufficient usage points for batch validation",
"required": 50,
"remaining": 10
}
}