Resend
resend.com · Email · 1 record · JSON
Resend Email
caveatemailno cardDrequest-rate
| Free tier | 3,000 emails/month and 100/day, 3 domains, 3 inboxes, 30-day retention unit requests; metered on request-count |
|---|---|
| Price | none stated |
| Per-object cap | not applicable: a message count rather than an object |
| Retention | logs kept 30 days; inbound messages count against the same quota |
| Egress | not applicable: an outbound sender |
| Identity | email an account and a verified sending domain; no card on the free plan |
| Limits | |
| Binding | request-rate 100/day rather than 3,000/month: the 30:1 ratio means the monthly figure cannot be spent in a burst, and the page states the UTC boundary explicitly. |
| Interface | rest https://api.resend.com/emails |
| Tooling | curl, any HTTP client |
| Composes with | the outbound half of the free mail chain: unlimited inbound from Cloudflare Email Routing or Forward Email, then 100 messages a day out through Resend. The daily cap is the scarce link. |
| Reliability | sending pauses above a 4% bounce rate, which is a reputation cap rather than a volume cap |
| Notes | A spike at 23:50 UTC gets 100 more at midnight, which is the one burst the boundary allows. |
| Evidence rung | documented no message was sent, so no delivery is proved. The submission path was probed: smtp.resend.com:587 answered 250, STARTTLS completed, and AUTH LOGIN returned 334 |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | resend.com/docs/knowledge-base/resend-sending-limits | 'daily email quota of 100 emails/day and 3,000 emails/month', a UTC calendar day rather than a rolling window, multiple recipients counting separately, 10 requests per second, and received mail counting against the quota |
| 2026-10-22 | probe:smtp://smtp.resend.com:587 | banner 250, EHLO advertises SIZE and 8BITMIME, STARTTLS completed, and AUTH LOGIN returned 334. The submission endpoint answers; no message was sent |
More fields (1)
{
"stale_after_days": 90
}