Abstract flat illustration of an envelope resting on a stepped price ladder beside a stack of coins

Resend Pricing 2026: Free Tier, Plans and Real Costs

Resend’s free plan gives you 3,000 emails a month, capped at 100 a day. Pro is $20 a month for 50,000 emails (or $35 for 100,000), Scale runs from $90 for 100,000 to $1,150 for 2.5 million, and past 3 million a month you get an Enterprise quote. Marketing email is billed separately, by contacts, from $40 a month.

Two details move the bill more than the headline prices: received mail counts against the same quota as sent mail, and every self-serve plan keeps your email data for 30 days.

The quick answer: if you send receipts, password resets and notifications, Resend’s pricing is fair and Pro at $20 covers most apps. If your app has to receive mail and answer it (an AI agent, a support desk, anything with a reply loop), CarlyEmail is built and priced for that: real inboxes with threads assembled for you, free for 3 inboxes and 1,000 emails a month, then $20 a month for 25 inboxes.

Every Resend number below comes from Resend’s live pricing page and documentation, checked October 2, 2026. Self-serve plans bill monthly only.

Resend transactional pricing

Transactional email is anything sent through Resend’s /emails API: sign-up confirmations, password resets, order receipts, alerts. The plan sets your monthly volume, and on paid plans you can keep sending past it at the overage rate.

PlanPriceEmails / monthExtra emails (per 1,000)
Free$03,000 (max 100 a day)not available
Pro$20/mo50,000$0.90
Pro$35/mo100,000$0.90
Scale$90/mo100,000$0.90
Scale$160/mo200,000$0.80
Scale$350/mo500,000$0.70
Scale$650/mo1,000,000$0.65
Scale$825/mo1,500,000$0.52
Scale$1,150/mo2,500,000$0.46
EnterpriseCustom3M+Custom

How the meter actually counts:

  • Every recipient is an email. One send to three addresses across To, CC and BCC uses three.
  • Received mail counts too. Each inbound message costs one email against your daily and monthly limits, the same as a send.
  • The free daily cap is a UTC calendar day. It resets at midnight UTC, not 24 hours after your first send. Paid plans have no daily cap.
  • Overages are opt-in. Pay-as-you-go is a team setting (“Transactional Overages”) on paid plans, billed in buckets of 1,000 at your tier’s rate. Without it, sends past the quota fail with a 429 monthly_quota_exceeded. With it, overage stops at a hard limit of 5x your monthly quota unless support raises it.
  • No annual discount, no trial, no nonprofit pricing. Annual contracts are Enterprise only. The free plan is the trial.

What each Resend plan includes

FreeProScaleEnterprise
Daily sending limit100nonenonenone
Custom domains3101,000by contract
Extra domainsno+100 for $20/mo+100 for $20/moby contract
Webhook endpoints1510flexible
Data retention30 days30 days30 daysflexible
Dedicated IPnono$30/mo add-onadd-on
Single sign-onnono$150/mo add-onincluded
Supportticketsticketstickets + dedicated Slack channel99.99% uptime SLA, dedicated CSM
AI credits / month5100500flexible

Every plan, free included, gets the REST API, SMTP relay, the official SDKs, inbound email, batch sending, open and link tracking, React Email, DKIM/SPF/DMARC, SOC 2 Type II and 10,000 automation runs a month. The API rate limit is 10 requests per second per team on every plan, shared across all your keys, and support can raise it.

Resend marketing pricing

Broadcasts (newsletters and announcements sent to a contact list) are priced by how many contacts you store, with unlimited sends to them. They don’t touch your transactional quota.

PlanPriceContacts
Free$01,000
Pro Marketing$40/mo5,000
Pro Marketing$80/mo10,000
Pro Marketing$120/mo15,000
Pro Marketing$180/mo25,000
Pro Marketing$250/mo50,000
Pro Marketing$450/mo100,000
Pro Marketing$650/mo150,000
EnterpriseCustomCustom

Go over your contact limit and you can still add contacts, but broadcasts are refused with a 403 until you upgrade. An app that sends both kinds of mail pays for two plans: transactional Pro plus the smallest Pro Marketing tier is $60 a month.

Resend add-ons

  • More domains: $20/mo adds 100 domains on Pro or Scale. You need it if you send from a separate domain per customer or brand.
  • Dedicated IP: $30/mo, available on Transactional Scale (or Marketing Pro) once you send more than 3,000 emails a day. Resend handles warmup and scaling and does not expose the IP addresses, so you can’t hand them to a customer for allowlisting. Resend’s own docs warn that under roughly 90,000 emails a month may not keep a dedicated IP warm.
  • Single sign-on: $150/mo on Scale. Included on Enterprise.
  • Automations: 10,000 runs a month on every plan, then $0.0015 a run on paid plans.

What Resend costs at real volumes

The cheapest way to reach each monthly volume with Resend’s published tiers and overage rates:

Emails a monthCheapest Resend setupMonthly cost
3,000 (100 a day max)Free$0
10,000Pro$20
50,000Pro$20
100,000Pro, 100K tier$35
200,000Pro 100K + 100,000 overage at $0.90$125
500,000Scale 500K$350
1,000,000Scale 1M$650
2,500,000Scale 2.5M$1,150

The 200,000 row is the one to notice. Pro with pay-as-you-go ($125) undercuts the Scale 200K tier ($160), and Pro stays the cheaper route up to about 450,000 emails a month. Scale earns its price through features: 1,000 domains, the dedicated IP and SSO add-ons, the Slack channel and 10 webhook endpoints. If you need none of those, stay on Pro and turn on pay-as-you-go.

And remember what the meter counts. A two-way app at 50,000 “emails” is closer to 25,000 conversations.

Resend receives mail now, and it counts

Receiving is included on every Resend plan. Point your domain’s MX record at Resend (or use the <id>.resend.app address it gives you), and every message to any address at that domain fires an email.received webhook. You fetch the body and headers from the API and download attachments from temporary URLs. If that pattern is new, email-to-webhook walks through it.

What that means for the bill and the build:

  • Inbound eats quota. Say Josh puts a support agent on the free plan, and it gets 60 emails a day and answers each one. That is 120 emails against a 100-a-day cap, and replies start failing with 429 daily_quota_exceeded before the day is out.
  • Threading is your code. To reply inside a thread you set In-Reply-To to the received message’s ID, then keep a References header growing across every later reply. In the generally available API, each received email is a standalone record; grouping them into conversations is up to you.
  • History expires after 30 days. Email content, metadata and logs go after 30 days on Free, Pro and Scale. An agent that needs last quarter’s thread needs your own database behind the webhook.
  • Reading mail takes a full-access key. Resend keys are either full access or send-only (optionally pinned to one domain). An agent that reads its inbound mail needs the full-access kind, which reaches every domain on the team.
  • Inboxes are in private beta. Resend’s docs include an Inboxes API (inbox objects, threads, labels, drafts) marked private beta, with a warning that the response shape may change before general availability. It isn’t on the pricing page, so there’s no price to plan around yet.

When the mail has to come back: CarlyEmail

CarlyEmail is an email API built for apps and AI agents that hold conversations. One API call creates a real inbox, at hello@carlyemail.com or on your own domain. Mail from Gmail, Outlook or anything else arrives already threaded, including the replies Outlook mangles, and your reply lands inside the thread.

import { CarlyEmail } from "carlyemail";
const carly = new CarlyEmail();
const inbox = await carly.inboxes.create({ username: "hello" });
const { messages } = await carly.messages.list(inbox.email);
await carly.messages.reply(inbox.email, messages[0].message_id, { text: "On it." });

Same $20, different job:

At $20 a monthResend ProCarlyEmail Startup
Email volume50,000 a month, sent and received both count10,000 sent a month; inbound isn’t counted against it
Daily capnonenone
Inboxesno inbox objects in the GA API; mail to your domain posts to a webhook25 real inboxes, each with its own threads
Threadingyou manage In-Reply-To and Referencesassembled automatically
Mail history30 dayskept until you delete it, within 25 GB
Custom domains1010
Webhooks5 endpoints10
Key scopingfull access, or send-only per domainper pod, per inbox, or per permission

What you stop building when you switch:

  • Events that resume the right conversation. Signed webhooks and WebSockets fire on arrival carrying a thread_id, so the agent picks up where it left off instead of starting fresh.
  • Spoof filtering before your handler. Mail failing SPF, DKIM or DMARC arrives as message.received.unauthenticated and spam as message.received.spam, so a forged sender never reaches your message.received code. That matters a lot when the reader is an LLM that follows instructions.
  • Tenant isolation. Pods give each customer their own space, and an API key can be scoped to one pod or one inbox. Another tenant’s mail returns 404.
  • A human-in-the-loop guardrail you can’t talk around. A key with draft_create but not message_send gets a 403 on send however the agent reasons. The agent drafts, Emily approves.
  • Every interface your stack already speaks. REST, a TypeScript SDK (npm install carlyemail), a Python SDK (pip install carlyemail), a CLI, and a hosted MCP server at https://api.carlyemail.com/mcp. Guides cover LangChain, the OpenAI Agents SDK, the Claude Agent SDK, the Vercel AI SDK, Mastra and Cloudflare Agents. You keep your agent and your model key.
  • An agent can sign itself up. Paste this into any agent: Read https://docs.carlyemail.com/llms.txt and set yourself up with an email address. Until you confirm a 6-digit code, the account can only email you.

CarlyEmail pricing: Free is $0 with no card: 3 inboxes, 1,000 emails a month (100 a day), 1 custom domain, 1 GB of storage. Startup is $20 a month for 25 inboxes, 10,000 emails, no daily cap, 10 domains and 25 GB. Business is $200 a month for 250 inboxes, 100,000 emails, 100 domains and 250 GB. Enterprise covers higher volume, a dedicated sending domain or custom terms. Every plan gets the whole API, there’s no “Sent via” footer even on free, and a request that would cross a cap gets a 429 naming the cap. Get started at carlyemail.com.

The honest scope line: if all you do is send receipts at volume, Resend is priced for that. 50,000 emails for $20 is more one-way mail per dollar than CarlyEmail offers, and you should use it. If mail has to come back and be answered, that’s what CarlyEmail is for, and nothing stops you running both: Resend for notifications, CarlyEmail for the agent’s inbox. For the wider field, see Resend alternatives, the best email APIs, SendGrid pricing and email APIs for AI agents. If you want an AI assistant to drive your Resend account directly, the Resend MCP server covers that.

FAQ

Is Resend free?

Yes. The free plan is permanent: 3,000 emails a month, capped at 100 a day, with 3 custom domains, 1 webhook endpoint and 30-day data retention. Received emails count against the same limits. There’s no trial of the paid plans and no overage on free.

How much does Resend cost per month?

Pro is $20 for 50,000 emails or $35 for 100,000. Scale runs from $90 for 100,000 to $1,150 for 2.5 million. Extra emails cost $0.90 per 1,000 on Pro, falling to $0.46 on the top Scale tier. Marketing plans start at $40 for 5,000 contacts.

Does Resend have a daily sending limit?

Only on the free plan: 100 emails per UTC calendar day, resetting at midnight UTC, counting sent and received mail and each recipient separately. Pro, Scale and Enterprise have no daily limit, only the monthly quota. Every plan has a default API rate limit of 10 requests per second per team.

Do received emails count toward Resend’s quota?

Yes. Each inbound email counts as one email against your daily and monthly limits, exactly like a send. For an agent or support desk that answers everything, plan on roughly double your inbound volume. CarlyEmail counts only the mail you send, and inbound is metered as storage.

How much is a dedicated IP on Resend?

$30 a month, on Transactional Scale or Marketing Pro, and only once you send more than 3,000 emails a day. Resend manages warmup and scaling and doesn’t expose the IP addresses. Its own guidance is that under about 90,000 emails a month may not keep the IP warm.

Does Resend offer annual pricing?

No. Self-serve plans are billed monthly with no annual discount and no nonprofit or education pricing. Annual contracts are available on Enterprise through Resend’s sales team.

Give your agent a real inbox

Your agent gets its own email address. People can email it, it answers in the same thread, and your personal inbox stays out of it. Start with 3 inboxes, no card needed.

Get started
See the prompt
Read https://docs.carlyemail.com/llms.txt and set yourself up with an email address.