Skip to main content
Troubleshooting

Rate Limit Exceeded

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.

Was this article helpful?

Still need help?

Can't find what you're looking for? Our support team is here to assist you.

Contact Support