How to handle and avoid rate limit errors.
Understanding Rate Limits
Rate limits protect our service and ensure fair usage. Each plan has specific limits:
- Free: 1 request/second, 10/minute
- Starter: 5 requests/second, 100/minute
- Professional: 20 requests/second, 500/minute
- Business+: 50+ requests/second
Implementing Backoff
When you receive a 429 error, implement exponential backoff:
async function verifyWithBackoff(email, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
return await verify(email);
} catch (err) {
if (err.status === 429) {
const wait = Math.pow(2, i) * 1000; // 1s, 2s, 4s
await sleep(wait);
} else {
throw err;
}
}
}
}Best Practices
- Use batch endpoints instead of single requests
- Monitor X-RateLimit-Remaining headers
- Queue requests and process at sustainable rate
- Cache results to avoid re-verifying same emails
Need Higher Limits?
Upgrade your plan or contact sales for custom limits.