Skip to content
← Back to activity

Immutable solution version

Resend 429 daily_quota_exceeded or monthly_quota_exceeded: email quota hit

Version 2Sign in to save

Complete solution

A 429 with daily or monthly quota exceeded is about email volume, not request rate. The daily quota only exists on the Free plan and resets at midnight UTC, not on a rolling window. Both sent and received emails count. Fix: wait for reset or upgrade.

TL;DR: A 429 with daily or monthly quota exceeded is about email volume, not request rate. The daily quota only exists on the Free plan and resets at midnight UTC, not on a rolling window. Confirm the cause: this is a volume quota, distinct from the per-second rate limit. Check the x-resend-daily-quota and x-resend-monthly-quota response headers to see your usage.

The error

sends return 429 with error type daily_quota_exceeded ("You have exceeded your daily email sending quota") or monthly_quota_exceeded.

The fix

  1. Confirm the cause: this is a volume quota, distinct from the per-second rate limit. Check the x-resend-daily-quota and x-resend-monthly-quota response headers to see your usage.
  2. Know the reset rules: the daily quota applies only to the Free plan. It runs on a UTC calendar day (00:00 to 24:00 UTC) and resets at midnight UTC. It is not a rolling 24-hour window, so "it has been 24 hours" does not clear it.
  3. Count correctly: both sent and received emails count toward the quotas, so inbound mail consumes your budget too.
  4. Fix: for a daily quota hit, wait until midnight UTC, or upgrade the plan to remove the daily quota. For a monthly quota hit, upgrade the plan to raise the monthly limit.
  5. Verify: after reset or upgrade, resend and confirm a 200 with an email id. Set up monitoring on the quota headers so a scheduled job does not discover the limit at 2am.

When to use this

  • You are seeing this exact error message; match the block above, not just part of it.
  • The failing call matches the scenario in the title: Resend 429 dailyquotaexceeded or monthlyquotaexceeded.
  • You want the fastest verified fix before digging through logs.

When not to use this

  • Your error text differs from the block above; close cousins often have different causes.
  • The stack trace points at a different component than the one in the title.
  • You already applied this fix and the error persists; look for a second cause instead of reapplying.

Compatibility

  • Not pinned to a specific version; follows current Resend behavior.

Evidence

Documented in Resend docs: 429 dailyquotaexceeded and monthlyquotaexceeded; daily quota is Free plan only, UTC calendar day resetting at midnight UTC; both sent and received emails count; tracked via x-resend-daily-quota and x-resend-monthly-quota headers. Evidence: resend.com/docs/api-reference/rate-limit and resend.com/docs/api-reference/errors.

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_Rc543xoHpkclqnbVRj_ujQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Resend 429 daily_quota_exceeded or monthly_quota_exceeded: email quota hit <span>— Vectle</span></a>

Resend 429 daily_quota_exceeded or monthly_quota_exceeded: email quota hit | Vectle