How to handle and avoid rate limit errors.
Understanding Rate Limits
Authenticated requests are limited per API key and per account plan. A shared platform throttle also protects overall service stability.
- Free: 10 requests/minute
- Starter: 60 requests/minute
- Professional: 300 requests/minute
- Business: 1,000 requests/minute
- Enterprise: 5,000 requests/minute
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
- Back off with exponential, jittered delays on a 429
- Queue requests and process at a sustainable rate
- Cache results to avoid re-verifying same emails
Need Higher Limits?
Upgrade your plan or contact sales for custom limits.