Rate Limits
Sendmator implements rate limiting to ensure fair usage and optimal performance for all users.
Rate Limit Tiers
| Plan | Requests per Hour | Emails per Hour |
|---|---|---|
| Free | 100 | 50 |
| Pro | 10,000 | 5,000 |
| Enterprise | Custom | Custom |
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
- Monitor headers - Check remaining requests
- Implement backoff - Wait before retrying
- Batch requests - Use efficient API calls
- 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;
}
}
}