NevarMail

Rate Limits

Understand rate limit tiers, response headers, and best practices for handling limits.

NevarMail enforces rate limits at both the API level and the provider level to protect your sending reputation and ensure reliable delivery.

Provider rate limits

Each provider can have its own rate limits configured at three levels:

LevelScopeExample
Per minuteRolling 60-second window100 sends/minute
Per hourRolling 3600-second window5,000 sends/hour
Per dayRolling 24-hour window50,000 sends/day

Configure provider rate limits when adding or updating a provider:

POST /api/providers
{
  "name": "SendGrid",
  "type": "sendgrid",
  "rateLimitPerMinute": 100,
  "rateLimitPerHour": 5000,
  "rateLimitPerDay": 50000
}

Current usage

Check a provider's current usage against its limits:

GET /api/providers/:id/status
{
  "usageMinute": 5,
  "usageHour": 120,
  "usageDay": 1500,
  "rateLimitPerMinute": 100,
  "rateLimitPerHour": 5000,
  "rateLimitPerDay": 50000
}

Rate limit response headers

When making API requests, rate limit information is included in response headers:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the current window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets

What happens when limits are reached

When a provider hits its rate limit:

  1. Automatic failover -- If other healthy providers are configured, NevarMail routes the email to the next available provider
  2. 429 response -- If no providers have capacity, NevarMail returns a 429 Too Many Requests response
  3. Retry-After header -- The response includes a Retry-After header indicating when to retry

Plan tiers

TierAPI Requests/minSends/month
Free601,000
Starter30025,000
Professional1,000100,000
EnterpriseCustomCustom

Best practices

  • Implement exponential backoff -- When you receive a 429 response, wait and retry with increasing delays
  • Monitor usage -- Check provider status regularly to stay ahead of limits
  • Configure multiple providers -- Enable automatic failover when one provider is at capacity
  • Use scheduling -- For bulk sends, schedule emails over a longer time window instead of sending all at once
  • Respect Retry-After -- Always honor the Retry-After header value before retrying

On this page