scribase
Fix guide

Resend says you exceeded the rate limit. Here is the number and the fix.

Resend's default is 10 requests per second per team, shared across every API key on the team, not per key. A loop sending one email per API call, or several scripts using different keys for the same team, hits it faster than it looks.

Last checked October 12, 2026.

The default limit

Resend's documented default is 10 requests per second per team. It applies across all API keys that belong to the team, so splitting traffic across multiple keys does not raise the ceiling. The limit can be increased for trusted senders by request; current usage is visible on the Settings → Usage page.

Sources: Resend: Rate limit

What a rate-limited request returns

Headers Resend returns on every request, over the limit or not
HeaderMeaning
ratelimit-limitThe maximum requests allowed in the current window.
ratelimit-remainingRequests left in the current window.
ratelimit-resetSeconds until the window resets.
retry-afterSeconds to wait before retrying, sent with the 429.

Sources: Resend: Rate limit

The fix is a queue, not a key rotation

  • Resend's own guidance is to reduce the request rate with a queue or by lowering concurrency, not to spread calls across keys — the limit is per team regardless of key.
  • Use the batch send endpoint for bulk sends (up to 100 emails per call) instead of one API call per recipient.
  • Read retry-after on a 429 and wait that long before the next attempt rather than retrying immediately, which only extends the backoff.
  • If steady, legitimate volume outgrows 10 requests per second, ask Resend to raise the limit for the team rather than working around it client-side.

Sources: Resend: Rate limit

Scribase Mail

Scribase Mail serves the same resend package and batch-send route, so a rate-limit-bound integration can switch base URL and key without a rewrite if that is the simpler path while a Resend limit increase is pending.

Sources: Scribase Mail

FAQ

Questions people ask

Is Resend's rate limit per API key or per team?

Per team. All API keys belonging to the same team share the same 10-requests-per-second ceiling.

How do I know how close I am to the limit?

Read the ratelimit-remaining and ratelimit-reset headers on any response, or check the Settings → Usage page in the dashboard.

Can I send more than 10 requests per second by using multiple API keys?

No. The limit is scoped to the team, not the key, so multiple keys on the same team share one budget.