Tailkits product guide

Resend

Email API with no approval queue, React Email support; $35 for 100,000 emails

FreemiumEmail
Visit Resend
Website
resend.com
Pricing
Freemium
Categories
Email
Listed
Sep 2026
Updated
Oct 2026

Details about Resend

Short verdict: Resend is an email API from the makers of React Email, with 3,000 free emails a month, inbound email on every plan and no approval queue: once your domain verifies, you can email customers. It costs $35 for 100,000 emails a month, less than Mailgun or Postmark, but $20 at 10,000, where both charge $15. The gaps: account data is stored in the US whichever of its four sending regions you pick, logs last 30 days, there is no HIPAA option, and its webhook docs' example rejects valid webhooks. It suits developers who want a typed SDK, React templates and no approval wait, not teams that must keep data in the EU or need a BAA.

How we reviewed it: We did not create an account or send email through Resend. On 23 October 2026 we checked every stop of the pricing slider, read the docs, quota, security and Forge pages, installed the resend Node SDK, ran the docs' webhook verification code against a payload we signed, listed the local MCP server's tools with a placeholder key, and read the status page and its incident feed. Delivery can't be tested without sending, so claims about it are Resend's. Other services' prices come from our comparison of email APIs checked on 21 October 2026.

What Resend costs and requires

Free plan3,000 emails a month and at most 100 a day, 3 domains, 1 webhook endpoint and 30 days of data; no overage and no time limit, per Resend.
10,000 emails a month$20 (Pro, 50,000 included). There is no plan between Free and Pro.
100,000 emails a month$35 (Pro, 100,000 tier). Scale costs $90 for the same 100,000.
1,000,000 emails a month$650 (Scale, 1,000,000 tier).
What counts as an emailEvery To, CC and BCC recipient, every received email and every test email. Extra emails cost $0.90 to $0.46 per 1,000, only after you switch on pay-as-you-go.
Before you email customersAn account and a verified domain (DKIM and SPF records). No usage review and no sandbox, per Resend.
Sending regionsNorth Virginia, Ireland, São Paulo or Tokyo, chosen per domain. Account data is stored in the US either way.
SDKs and toolsOfficial libraries for Node.js, Python, PHP, Laravel, Ruby, Go, Java, Rust and .NET, an SMTP relay, a CLI, a hosted MCP server and agent plugins.
BillingMonthly only, by card; annual contracts only on Enterprise. Registered nonprofits can apply for 50% off. Resend pricing

What we found in the pricing, docs and status page

Pro with pay-as-you-go is the cheapest path up to 450,000 emails

Pro costs $20 for 50,000 emails or $35 for 100,000; Scale starts at $90 for the same 100,000, with the same $0.90 per 1,000 extra. Scale's extra $55 buys 1,000 domains instead of 10, 10 webhook endpoints instead of 5, a dedicated Slack channel and access to dedicated IPs.

Resend pricing slider set to 100,000 emails: Pro at $35 a month and Scale at $90 a month, both with 100,000 emails and extra emails at $0.90 per 1,000; Pro lists 10 domains and 5 webhook endpoints, Scale 1,000 domains, a dedicated Slack channel and 10 webhook endpoints
The slider at 100,000 emails, cropped to the Pro and Scale cards: the same volume and overage rate, $55 apart.

Because Pro keeps that $0.90 rate, it stays cheaper past 100,000: at 200,000 emails it costs $35 + 100 × $0.90 = $125 against $160 on Scale, and the two meet at 450,000, at $350. Overage stays off until you switch on Transactional Overages, though; without it, a send past the quota fails with a 429 error, password resets included. It is also capped at five times the quota.

No approval queue, but nothing leaves without your domain

Resend says every account, free ones included, can email customers from sign-up: there is no sandbox like Amazon SES's and no manual review like Postmark's. You only need a domain with the DKIM and SPF records Resend generates, which the docs say often verify within 15 minutes but can take 72 hours. Until then, [email protected] only reaches your own address and test inboxes such as [email protected], which is all the Node.js quickstart needs.

The webhook docs' example rejects real webhooks

Webhooks are signed, retried for about 27 and a half hours and replayable; Free allows 1 endpoint, Pro 5 and Scale 10. The docs page on verifying them reads req.headers['svix-id'] in a Next.js route, but there headers is a Headers object, so that returns undefined. We signed a test payload with standardwebhooks, the library the SDK uses, and ran the example with Next.js 16.4.3 and resend 6.34.1: it rejected the valid webhook with "Missing required headers". With req.headers.get('svix-id') it passed, and a tampered body was still refused. Resend's inbound-forwarding guide already uses .get().

Code sample from Resend's Verify Webhooks Requests docs page: a Next.js POST handler passes req.headers['svix-id'], req.headers['svix-timestamp'] and req.headers['svix-signature'] to resend.webhooks.verify and returns a 400 Invalid webhook response when verification throws
The example as published on 23 October 2026. As written, it answers every genuine webhook with a 400.

Four sending regions, one storage country

Each domain sends from North Virginia, Ireland, São Paulo or Tokyo, but the region only decides where mail leaves from: Resend stores all account data, logs included, in the United States, with EU transfers under Standard Contractual Clauses and the EU-U.S. Data Privacy Framework. Changing region means re-adding the domain. Resend holds a SOC 2 Type II report but cannot sign a HIPAA Business Associate Agreement, and keeps email content and logs for 30 days on every self-serve plan.

Limits in the fine print

  • 10 API requests a second per team on every self-serve plan. A batch of up to 100 emails counts as one request but can't carry attachments.

  • Inbound mail uses the sending quota, including the free plan's 100 a day.

  • Dedicated IPs need Scale, $30 a month and more than 3,000 emails a day. Resend doesn't reveal the addresses, so you can't allowlist them.

Reliability and developer experience

100% on the status page, 25 incidents in its feed

The status page covers 30 days, and on 23 October 2026 every component read 100% uptime, email sending with 2 degraded days. Its public feed lists the last 25 incidents, back to 30 July: 1 critical, 3 major. Eight were posted only after they ended, including the critical one, an outage of the hosted MCP server on 11 September posted about four hours after it was fixed.

The one to weigh for password resets: on 15 September, broadcasts started after 15:05 UTC sat queued until 16:22 UTC, and the next day Resend added that clearing the backlog had held about 9,200 transactional emails for up to 25 minutes, none lost. The feed also shows intermittent 500 errors on API and SMTP sends on 8 August and contact webhooks delayed on seven days.

Resend status page incident Delayed email sending, resolved, partial outage: a follow-up dated 16 September 2026, 15:04, says roughly 9,200 transactional emails accepted between 16:41 and 17:05 UTC were held for up to 25 minutes; Email Sending and SMTP are marked as affected on 15 September
The 15 September incident. The delay to transactional email was added in a follow-up the next day.

On 23 October Resend also announced Forge, which sends from IP blocks Resend owns instead of through a third-party provider. It is opt-in per domain with one CNAME record, skips domains with open or click tracking for now, and Resend says it halves the median time until the receiver accepts a message; we could not test that.

A small Node SDK with two dependencies

Packageresend 6.34.1, released 16 October 2026, MIT license; 43 stable releases so far in 2026
Size389 KB unpacked, 7 files; our install added 5 packages and 960 KB in about 1.3 seconds
Dependenciespostal-mime, which parses received emails, and standardwebhooks, which checks webhook signatures; React Email's renderer is an optional peer
RequirementsNode.js 20 or later; TypeScript types included
Downloads14,898,985 in the week of 28 September to 4 October 2026, the last week with complete npm data

It returns { data, error } instead of throwing, renders a React Email component passed as react, takes idempotency keys kept for 24 hours, and schedules emails up to 30 days ahead.

A hosted MCP server and agent plugins

The remote MCP server at mcp.resend.com/mcp signs in with OAuth, so no API key sits in a config file; the same code ships as the resend-mcp npm package. Version 2.27.1 listed 136 tools for us, 56 marked read-only, including tools for Inboxes, shared mailboxes for people and agents announced on 22 October 2026. Official plugins add it to Claude Code, Cursor and Codex. For a local agent that only sends, use a key with sending access only.

What you still have to set up

  • Domain authentication. DKIM and SPF records for each sending subdomain, then DMARC, plus a CNAME per domain if you opt in to Forge.

  • Webhook handlers. Verify signatures with req.headers.get(), deduplicate on the svix-id header because retries repeat it, and drop bounced and complained addresses from your own records.

  • Quota protection. Switch on Transactional Overages, or watch the x-resend-monthly-quota header, before a busy month blocks password resets.

  • Longer history. Store webhook events yourself past 30 days, for example with Resend's open-source webhook ingester.

  • Templates. Write them in React Email, which the SDK renders for you, use Resend's hosted templates, or send HTML from Maizzle.

Pros and cons

Pros

  • No usage review or sandbox: a verified domain is the only gate before customer email.

  • $35 for 100,000 emails and $650 for 1,000,000, less than Mailgun and Postmark at both volumes.

  • Inbound email, scheduling and signed webhooks on every plan, including Free.

  • A Node SDK with two dependencies, bundled types and direct React Email support.

  • A hosted MCP server with OAuth sign-in and official agent plugins.

Cons

  • $20 at 10,000 emails a month, where Mailgun, Postmark and Mailtrap charge $15.

  • Account data stays in the US whatever the sending region; no HIPAA.

  • 30 days of logs and message history on every self-serve plan.

  • The example on the webhook verification docs page fails as written.

  • 25 incidents since 30 July, 8 posted only after they ended.

How Resend compares

Monthly prices for transactional email on the cheapest plan that covers each volume:

Service10,000100,0001,000,000
Resend$20$35$650
Amazon SES (Essentials, the default)$1.64$16.38$163.84
Mailtrap$15$30$750
Mailgun$15$75$700
Postmark$15$115$775
  • Mailgun hosts each domain in the US or the EU on every plan, but asks for SMS verification and a card first. Choose it if data must stay in the EU.

  • Amazon SES charges the least per email in 29 regions, 5 in the EU, but each region starts in a sandbox with a manual review, and events go to other AWS services, not webhooks. Choose it when price at volume decides.

  • Postmark keeps 45 days of message history, but reviews accounts by hand and has no EU hosting. Choose it when history matters more than price.

At 100,000 emails, Mailtrap ($30) and SendGrid ($34.95) cost slightly less. See all email tools.

Who should use Resend

Use Resend if you want to email customers as soon as your DNS records verify, write templates in React, receive mail through the same API and pay $35 for 100,000 emails. Choose Mailgun if data must stay in the EU and Amazon SES if price at millions of emails decides, and look elsewhere for HIPAA or more than 30 days of history.

FAQ

Is Resend free?

Yes, up to 3,000 emails a month and 100 a day, with no time limit. The free plan includes inbound email, 3 domains and 1 webhook endpoint. Paid plans start at $20 a month for 50,000 emails; there is no plan in between.

How much does Resend cost for 100,000 emails a month?

$35 a month on Pro. Scale costs $90 for the same 100,000 emails and adds 1,000 domains, 10 webhook endpoints and a Slack channel. Above 100,000, Pro with pay-as-you-go at $0.90 per 1,000 stays cheaper than Scale up to 450,000 emails. Prices checked 23 October 2026.

Does Resend store data in the EU?

No. You can send from Ireland, but Resend stores all account data, including email metadata and logs, in the United States whichever sending region you choose. EU transfers are covered by Standard Contractual Clauses in its pre-signed DPA and by the EU-U.S. Data Privacy Framework.

Does Resend need to approve my account before I can send?

No. Resend has no sandbox and no usage review. You need a verified domain to email anyone but yourself: until then, the [email protected] test sender only reaches the address you signed up with and Resend's test addresses.

Is Resend HIPAA compliant?

No. Resend says it is not HIPAA compliant and cannot sign a Business Associate Agreement; its enterprise page calls HIPAA in progress. It holds a SOC 2 Type II report but no ISO 27001 certificate.