Skip to content

Rate Limits

RelayPost enforces rate limits to protect deliverability and prevent abuse. Limits are applied per organization and per API key.

Each API key is limited to 60 requests per 60-second sliding window. This applies to all /api/v1/* endpoints.

Every response includes rate limit headers:

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

When you exceed the rate limit, the API returns:

{
"error": {
"code": "RATE_LIMITED",
"message": "API key rate limit exceeded"
}
}

Use the Retry-After header to determine when to retry.

Sending limits vary by plan and are applied per organization:

PlanEmails/monthHourly limitDaily limit
Free3,000100500
Pro25,0005005,000
Growth100,0002,00015,000
Founding25,0005005,000
  • Monthly limit — total emails you can send per billing period
  • Hourly limit — maximum emails in any rolling 60-minute window
  • Daily limit — maximum emails in any rolling 24-hour window

When you hit an email sending limit, the API returns:

{
"error": {
"code": "LIMIT_EXCEEDED",
"message": "Organization email sending limit exceeded"
}
}

RelayPost sends alerts when you approach your limits:

ThresholdAlert
80% of monthly limitWarning notification
90% of monthly limitUrgent notification
100% of monthly limitSends blocked until next period or upgrade

If you consistently hit limits, upgrade your plan from Settings → Billing in the dashboard.

  • Use suppression lists to avoid sending to invalid addresses
  • Batch campaign sends across multiple hours instead of all at once
  • Monitor your usage dashboard to spot unexpected spikes
  • Use the scheduled_at field to spread sends over time
  • Implement exponential backoff when you receive 429 responses