Rate Limits
The API enforces rate limits to ensure fair usage and protect service stability. All limits are per API key.
Default Limits
| Endpoint | Limit | Notes |
|---|---|---|
POST /v1/verify | 100/minute | Single email verification |
POST /v1/verify/batch | 10/minute | Batch verification jobs |
POST /v1/verify/file | 5/minute | File uploads |
GET /v1/jobs/* | 1,000/minute | Job status and results |
GET /v1/activity/* | 1,000/minute | Activity data lookups |
GET /v1/account | 100/minute | Account info |
All other endpoints | 1,000/minute | General API access |
Rate Limit Headers
Every API response includes headers to help you track your rate limit usage:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1706976000X-RateLimit-Limit: Maximum requests allowed in the current window
X-RateLimit-Remaining: Requests remaining in the current window
X-RateLimit-Reset: Unix timestamp when the limit resets
Rate Limit Exceeded
When you exceed the rate limit, the API returns a 429 Too Many Requests response:
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Please wait 45 seconds.",
"retry_after": 45
}
}Best Practices
Implement Exponential Backoff
When rate limited, wait for the specified retry_after period, then retry with increasing delays.
Use Batch Endpoints
For verifying multiple emails, use /v1/verify/batch instead of making individual requests.
Cache Results
Verification results are cached for 24 hours. Take advantage of this to reduce API calls.
Monitor Headers
Check the rate limit headers and slow down before hitting the limit.
Need Higher Limits?
Enterprise customers can request increased rate limits. Contact our sales team to discuss your needs.
Contact Sales