Emailens
REST API

Rate Limiting

Rate limits, daily quotas, and how to handle 429 responses.

Rate limits

Emailens enforces per-minute rate limits and daily usage quotas.

Per-minute limits

Auth statusLimitWindow
Anonymous30 req/minPer IP address
Authenticated60 req/minPer user account

Daily quotas

PlanPreviews/day
Free3
Dev ($9/mo)50
Pro ($19/mo)Unlimited

Response headers

Rate limit information is included in response headers:

HeaderDescription
X-RateLimit-RemainingRequests remaining in current window
Retry-AfterSeconds to wait before retrying (on 429 responses)

Handling 429 responses

When you hit a rate limit, the API returns HTTP 429:

{
  "error": "Rate limit exceeded. Try again later."
}

For daily quota limits:

{
  "error": "Daily preview limit reached (50). Upgrade your plan for more.",
  "limit": 50,
  "plan": "dev"
}

Retry strategy

  1. Read the Retry-After header
  2. Wait the specified number of seconds
  3. Retry the request

For automated pipelines, use exponential backoff starting from the Retry-After value.

On this page