Rate limits and quotas
MailerDash enforces two types of limits on sends: a per-minute rate limit (rate_per_min) and a monthly quota (monthly_quota). Both are defined at the plan (package) level and can have per-account overrides configured by the MailerDash team.
Rate limit (rate_per_min)
Section titled “Rate limit (rate_per_min)”Controls how many send requests your API key can make within a 60-second window. If you exceed this limit, the API responds with HTTP 429.
The default for accounts without an assigned plan is 30 requests/minute. Your plan may grant a higher limit.
{ "error": { "type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Too many requests. Please slow down." }}The response includes the standard rate limit headers:
| Header | Description |
|---|---|
RateLimit-Limit | Maximum number of requests in the window |
RateLimit-Remaining | Requests remaining in the current window |
RateLimit-Reset | Unix timestamp when the window resets |
Monthly quota (monthly_quota)
Section titled “Monthly quota (monthly_quota)”The maximum number of emails you can send in a billing period (month). The counter resets at the start of each new period.
When you reach your monthly quota, additional sends are rejected with HTTP 429:
{ "error": { "type": "rate_limit_error", "code": "monthly_quota_exceeded", "message": "Monthly quota exceeded: 5000/5000 emails sent this month" }}Overage
Section titled “Overage”If your plan includes it, you can continue sending after exhausting your base quota by paying per additional email (overage). If the plan does not offer overage, sends that exceed the quota will be blocked with the code overage_not_offered.
Check your current usage
Section titled “Check your current usage”GET /v1/client/usageAuthorization: Bearer $MAILERDASH_API_KEYThis endpoint returns the usage for the current period for each API key linked to your account, along with the limits of the active plan:
{ "subscriptions": [ { "package_id": "pro", "package_name": "Pro", "monthly_quota": 50000, "rate_per_min": 120, "billing_period": "monthly", "started_at": "2026-06-01T00:00:00.000Z" } ], "keys": [ { "id": "mi-key", "label": "Producción", "sent_this_period": 12340, "monthly_quota": 50000, "quota_remaining": 37660 } ], "next_reset": "2026-07-01T00:00:00.000Z"}The next_reset field indicates when the monthly counter will reset.
Payload limits
Section titled “Payload limits”In addition to rate and quota limits, there are limits on request size:
- Attachments: if the total attachments exceed the allowed limit, you will receive a
413with codepayload_too_large. Theparamfield will indicateattachments.
Summary of related error codes
Section titled “Summary of related error codes”code | HTTP | Description |
|---|---|---|
rate_limit_exceeded | 429 | You exceeded the per-minute request limit |
monthly_quota_exceeded | 429 | You exceeded your plan’s monthly quota |
overage_not_offered | 400 | The plan does not allow extra sends after the quota is exhausted |
payload_too_large | 413 | The request body exceeds the maximum size |
See the full reference at /reference/platform/ and error handling at /en/reference/errors/.