Skip to main content

Rate Limits

Sendmator implements rate limiting to ensure fair usage and optimal performance for all users.

Rate Limit Tiers

PlanRequests per HourEmails per Hour
Free10050
Pro10,0005,000
EnterpriseCustomCustom

Rate Limit Headers

Every API response includes rate limit information:

X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9999
X-RateLimit-Reset: 1640995200

Handling Rate Limits

When you exceed the rate limit, you'll receive a 429 Too Many Requests response:

{
"error": {
"type": "rate_limit_error",
"message": "Rate limit exceeded. Try again in 60 seconds."
}
}

Best Practices

  1. Monitor headers - Check remaining requests
  2. Implement backoff - Wait before retrying
  3. Batch requests - Use efficient API calls
  4. Cache responses - Avoid duplicate requests

Exponential Backoff

async function sendWithBackoff(emailData, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
try {
return await sendmator.emails.send(emailData);
} catch (error) {
if (error.status === 429 && attempt < maxRetries - 1) {
const delay = Math.pow(2, attempt) * 1000; // 1s, 2s, 4s
await new Promise(resolve => setTimeout(resolve, delay));
continue;
}
throw error;
}
}
}