Skip to content

Rate Limits & Quotas ​

SendAPI applies rate limits and monthly quotas to keep the platform stable and fair for all users.

Rate Limits ​

Rate limits are enforced per API key using a sliding-window token bucket algorithm.

PlanRequests per minute
Starter60
Growth300
Business1,000
Enterprise2,000

Rate Limit Headers ​

Every API response includes these 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

429 Response ​

When you exceed the rate limit, the API returns 429 Too Many Requests:

json
{
  "success": false,
  "error": {
    "type": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Try again in 12 seconds.",
    "code": 4029
  }
}

Additional headers on the 429 response:

HeaderDescription
Retry-AfterSeconds to wait before retrying
X-RateLimit-LimitYour plan's per-minute cap
X-RateLimit-Remaining0 (you're rate-limited)
X-RateLimit-ResetUnix timestamp when the window resets

Best practice: Implement exponential backoff when receiving 429. Start at 1s, double each retry, cap at 60s.


Monthly Quotas ​

Quotas reset on the first day of each billing period.

FeatureStarterGrowthBusinessEnterprise
WhatsApp sessions1310Unlimited
SMS messages1005002,000Unlimited
Emails5,00025,000100,000Unlimited
OTP sends2001,0005,000Unlimited

Trial users get reduced quotas: 100 emails, $0.15 SMS credit (~10 messages), regardless of plan.

Quota Exceeded Response ​

When you exceed your monthly email quota, the API returns 402 Payment Required:

json
{
  "success": false,
  "error": {
    "type": "email_quota_exceeded",
    "message": "Monthly email quota exceeded (5000/5000). Upgrade your plan for more.",
    "code": 402
  }
}

OTP Limits ​

OTP send limits are enforced per phone number to prevent abuse:

LimitWindow
5 sendsper hour
20 sendsper day

Hitting these returns 429 with type rate_limit_exceeded (code 4291) or daily_limit_exceeded (code 4292).

Released under the MIT License.