Email infrastructure · Alternatives

Resend and SendGrid alternatives in 2026: what to use instead, and what it really costs

Transactional email is priced by volume, and the cheapest provider changes as you grow. Here is what 3,000 to 300,000 emails a month cost on Resend, SendGrid, Postmark, Mailgun and Amazon SES, which free plans are really free, and how to cancel.

Modeled, not measured. Savings use public prices and planning assumptions: the bill you stop paying, minus the new tool, your upkeep time and your setup time at $50/hour, over the first 12 months. Results marked Tested by Stackcut are Stackcut's own test, not a customer. Every price links the page it came from.

The short answer

  • Start with the mail that makes the product work: account verification, password resets, receipts and notifications. Compare monthly volume, the busiest day, delivery events and suppression handling before the send price. recipe
  • Resend Free fits low-volume sending within its daily and monthly quotas. Count recipients and received messages too, and leave room for launch-day bursts rather than judging fit from a monthly average. resend.com
  • SendGrid's free option is a 60-day trial, not a free plan. twilio.com
  • Amazon SES is a candidate when volume makes its usage pricing attractive and your team can own production-access approval, event handling and recipient hygiene. Keep the existing route until the new account is actually ready to send. docs.aws.amazon.com

Four ways to stop paying for Resend and SendGrid

A cheaper vendor

Cheaper plan Resend (free tier): saves $228 in year one (+2 more below)

Open source

Nothing in the catalog fits this job yet.

An agent skill

Nothing in the catalog fits this job yet.

Replace with AI

Nothing in the catalog fits this job yet.

The best option of each kind, modeled, not measured: each figure links its math. Keeping Resend and SendGrid is a valid answer too.

Who should switch, and who shouldn't

Switch if

  • The product sends straightforward transactional mail and the destination can reproduce the message content, sender identity, metadata and event handling your application uses. resend.com
  • You can verify a domain or sending subdomain under your control before switching traffic. Separate transactional and newsletter identities when their sending purposes differ. resend.com
  • You have checked peak sending demand against the destination limits and can keep a working provider available during the migration. resend.com

Stay if

  • You depend on templates, inbound mail, broadcasts or provider-specific events and have not mapped those integrations. The replacement recipes intentionally cover a narrower sending job. recipe
  • You need dedicated IPs, subusers or SSO: SendGrid Pro includes them. twilio.com
  • The current provider already gives you the delivery, bounce and reporting workflow you need, while moving would leave those events unhandled. A successful API request is not the same observation as a delivery event. resend.com

What Resend and SendGrid cost today

List prices from each vendor's pricing page, as stored in the Stackcut catalog. Each price links its source.

PlanBilled monthlyBilled yearly (per month)What you get
Resend Pro$20/monot shown50,000 emails/mo, no daily limit, 10 domains, 5 webhook endpoints; overage $0.90 per 1,000
Resend Pro 100k$35/monot shown100,000 emails/mo, 10 domains; overage $0.90 per 1,000
Resend Scale$90/monot shown100,000 emails/mo, 1,000 domains, 10 webhook endpoints; overage $0.90 per 1,000; SSO and dedicated IP add-ons
SendGrid (Twilio) Essentials$19.95/monot shownEssentials 50K: 50,000 emails/mo; overage $0.0013 per email; 1 additional teammate
SendGrid (Twilio) Essentials 100k$34.95/monot shown100,000 emails/mo; overage $0.0009 per email
SendGrid (Twilio) Pro$89.95/monot shownPro 100K: 100,000 emails/mo; overage $0.0011 per email; dedicated IPs, subusers, SSO
  • The price table compares stored plan evidence at the stated send volumes. It does not price the engineer time for migration, monitoring or deliverability work, and it is not a fresh account-specific quote. recipe
  • Resend quota accounting includes sent and received messages, and each recipient consumes quota. Check those counts when applying a table based on a single-recipient sending workload. resend.com

The alternatives, ranked

3 ways out, ranked by modeled saving in the first year after setup and upkeep (3 priced). Modeled, not measured: each figure links the math on the recipe page.

  • The recipes model 1 sender against Resend Pro and SendGrid Essentials; both land on Resend's free plan, which only fits low volume. recipe
  • Postmark distinguishes Transactional, Broadcast and Inbound message streams. Evaluate that organization of traffic if separating product mail from newsletters is part of the job, rather than selecting solely from a per-email figure. postmarkapp.com
  • For SES, domain setup is only one milestone: production access, sending limits and a working bounce/complaint process also belong in the launch checklist. docs.aws.amazon.com

$19.95/mo today → $0/mo · setup 1 h · then $239/yr · vs SendGrid (Twilio) Essentials · modeled, not measured the math

Resend Free sends 3,000/mo permanently (SendGrid's free option is a 60-day trial); capped at 100 emails/day and 3 domains. Pro ($20/mo): 50,000/mo, no daily cap. resend.com

Covers 100% of the core features

$20/mo today → $5/mo · setup 2 h · then $180/yr · vs Resend Pro · modeled, not measured the math

You send a lot and only need the sending API: Amazon SES charges $0.10 per 1,000 emails with no monthly fee, against Resend's monthly plans. Marc Lou said he would move off Resend next for this reason (October 2026). resend.com

Covers 100% of the core features (not: Broadcasts/marketing emails, audiences and broadcasts, React Email templates)

  • $0.10 per 1,000 emails, no monthly minimum aws.amazon.com
  • Same job: send API, custom domains with DKIM, delivery events
  • Rawer developer experience: no React Email-first SDK or Resend dashboard; you handle templates, bounces and complaints
  • New SES accounts start in a sandbox (200 messages a day, verified recipients only) until AWS approves production access

Compare a specific alternative

Considering a specific destination? Read its checked comparison before deciding what to move.

What transactional email costs from 3,000 to 300,000 a month

The cheapest published plan for each provider at each volume, including published overage. Free plans count only if they're really free: no trials, no expiring credits.

Cheapest published plan plus published overage, billed monthly; not a quote. Free plans with a daily cap assume sends spread evenly over 30 days. Each price links the vendor's pricing page.
Emails a month3,00010,00050,000100,000300,000
Resend today$0Free, 100/day cap$20Pro$20Pro$35Pro 100k$215Pro 100k, plus overage
SendGrid (Twilio) todayfree option is a 60-day trial$19.95Essentials$19.95Essentials$19.95Essentials$34.95Essentials 100k$214.95Essentials 100k, plus overage
Postmark$15Basic$15Basic$66Platform, plus overage$126Platform, plus overage$366Platform, plus overage
Mailgun$0Free, 100/day cap$15Basic$35Foundation$90Scale$310Scale, plus overage
Amazon SESpay per email; attachments extra$0.30Pay as you go$1Pay as you go$5Pay as you go$10Pay as you go$30Pay as you go
  • Postmark's page shows only its 10,000-email step, so above that the catalog prices extra emails at the published overage; check its slider for volume tiers. postmarkapp.com
  • Mailgun's overage rates are the published 'from' rates at the entry volume. mailgun.com

How people actually left Resend and SendGrid

5 public accounts of leaving Resend and SendGrid: 2 switched, 1 evaluated, 1 gave up, 1 switching. Summaries are ours; each links the original, and each was checked against its page before it appeared here.

Switched to Amazon SES · May 2026 · Runs toui.io, a URL shortener he shipped publicly on April 7, 2026

The author tore out a working Resend magic-link login 11 days before launch and rebuilt it on SES + Lambda five days before launch. Cost projection and free-tier daily caps drove the move; the cutover took one afternoon and the SES stack still runs the site two months on. He advises doing the math before adopting Resend. DEV Community

Evaluated to useSend · Nov 2025 · Individual developer writing on the Coding Nexus Medium publication

Independent developer searched for a self-hosted email service 'something like Resend or SendGrid, but without being constrained by their pricing models', found useSend, and evaluated it positively: 'Resend, but on your own AWS account', beta but performing well. Medium (Coding Nexus)

Gave up to Amazon SES · Dec 2023 · Developer writing about email costs above the Supabase free tier (personal project context)

(older account, December 2023) Developer tried Amazon SES directly after reading that Resend wraps SES, found SES too complex to set up in a day, and went back to Resend. His math: SES only wins on cost above roughly 1,365 users/year for transactional-only email once engineering time is priced in. DEV Community

Switched to Resend · Founder & CEO of Raycast; the company began using Resend in September 2024. · vendor case study

Raycast switched from SendGrid to Resend, calling it a significant improvement; the initial integration test took about 30 minutes, and Raycast has since expanded from transactional invite emails to marketing broadcasts and investor updates. Resend

Switching to Resend · Co-founder & CTO of Liveblocks, a real-time collaboration API company · vendor case study

Liveblocks moved to Resend after finding email templates hard for designers to maintain in SendGrid; using React Email and Tailwind, setup went smoothly with no support tickets needed, though as of this case study they were still fully migrating off their prior provider. Resend

How to leave Resend and SendGrid

Export first, then cancel. Every step links the vendor's own help page, checked on the date shown.

  • Verify the destination sender first. Map message fields and any templates or provider-specific settings in a staging implementation; replacing an API key does not replace the integration code. resend.com
  • Carry forward addresses that should not receive more mail. Resend supports managing and importing suppressions; confirm the destination’s behavior rather than accidentally resending to previously suppressed recipients. resend.com
  • Check actual receipt of account-verification, reset and receipt emails, then inspect delivery and bounce events in your app. Keep the former route available until these checks pass. resend.com

How to leave Resend

Export first

  • Emails (outbound and inbound): Apply filters in the dashboard and click Export, or bulk-export via the API/SDK; downloads of 1,000 items or fewer return immediately, larger exports arrive by email link. Admins can download from Settings > Team > Exports for 7 days (CSV). Export links expire after 7 days and are then marked Expired; only admins can download. resend.com
  • Broadcasts: Same dashboard Export flow or API/SDK bulk export (CSV). Same 7-day admin download window. resend.com
  • Contacts (audiences): Same dashboard Export flow or API/SDK bulk export (CSV). Same 7-day admin download window. resend.com
  • Domains: Same dashboard Export flow or API/SDK bulk export (CSV). Same 7-day admin download window. resend.com
  • Logs: Same dashboard Export flow or API/SDK bulk export (CSV). Same 7-day admin download window. resend.com
  • API keys: Same dashboard Export flow or API/SDK bulk export (CSV). Same 7-day admin download window. resend.com

What you lose

  • All team data is deleted irreversibly when the team is deleted (Resend states this action is not reversible)
  • Export download links expire after 7 days; anything not exported before deletion is gone
  • No refund of paid subscription fees except where required by law
  • Free tier limits and features can be changed or the free tier discontinued without notice

Cancel

  1. Point your app at the new provider and check that mail arrives before you cancel.
  2. Billing page → the ⋯ menu next to your plan → Cancel Subscription.
Refunds
Paid subscription fees are non-refundable, except where the law requires otherwise.
Sources: resend.com resend.com · Reviewed 2026-09-28

How to leave SendGrid

Export first

  • Contacts (Marketing Campaigns lists): Open a contact list → Action menu (⋮) → export the list to CSV and download it (CSV). Download link stays live for 12 hours after the export is generated; you're emailed when it's ready. twilio.com
  • Suppressions (bounces, invalid emails, spam reports, unsubscribe groups, global suppressions): Each suppression type has its own REST API endpoint (Bounces API, Invalid E-Mails API, Spam Reports API, Unsubscribe Groups, Global Suppressions) in SendGrid's API reference; no bulk CSV export is documented. twilio.com

What you lose

  • Sending from the account, from the first of the next month

Cancel

  1. Point your app at the new provider and check that mail arrives before you cancel.
  2. Twilio Console → Settings → Account Details → Your Products → find the subscription → Cancel Subscription → confirm.
  3. Legacy SendGrid accounts: Account Details → Your Products → Cancel Subscription.
Takes effect
The plan works until the end of the month. From the first day of the next month the account moves to End of Trial, which can't send email.
Sources: support.sendgrid.com twilio.com · Reviewed 2026-09-26

Not covered by the paths above, per the recipe: Receive email (inbound), Webhooks and events, React Email templates, Broadcasts/marketing emails, Logs, Templates, Deliverability insights, Marketing campaigns, Dedicated IP. If you rely on one of these, keep the incumbent or check the path closely.

Moving your data, destination by destination

What each destination's importer carries over, what it leaves behind, and any help it offers switchers.

To Postmark

Official guide postmarkapp.com · Tools: Postmark REST API, Postmark SMTP, Postmark official SDKs (Node, Python, etc.), Postmark Templates (Mustachio)

Moves: Sending integration (code) (partial); React Email templates (full); Templates as code (partial); Sending domains (partial); Attachments (partial); Test sending (full). postmarkapp.com

Doesn't move: Resend scheduled sends (scheduled_at has no Postmark equivalent in the field map); Resend's multiple tags per message (Postmark supports one Tag string; guide suggests Metadata for extra dimensions); Resend audiences/contacts and suppression lists (the fetched guide content covers sending only; no contact import is described); Resend API keys (new Postmark server API tokens must be created). postmarkapp.com

Watch out for:

  • MessageStream parameter defaults to the transactional stream if omitted, which is wrong for broadcast traffic postmarkapp.com
  • Postmark requires ContentType on each attachment; Resend infers it from the filename postmarkapp.com
  • Postmark's To/Cc/Bcc take comma-separated strings, not arrays postmarkapp.com

Official guide postmarkapp.com · Tools: MailMason

Moves: Suppressed addresses (partial). postmarkapp.com

Doesn't move: Templates — no automated import; recreate manually or with the open-source MailMason tool; Unsubscribe groups — Postmark uses stream-level suppressions instead; SendGrid's XML API (Postmark is JSON-only) or reseller-program features. postmarkapp.com

Watch out for:

  • SMTP port 465 isn't supported; use 25, 2525 or 587 instead postmarkapp.com
  • 10MB message-size cap vs SendGrid's 30MB, and 50 recipients per message vs SendGrid's 1,000 postmarkapp.com
  • Inbound-message retry window is 10.5 hours vs SendGrid's 3 days postmarkapp.com

To Amazon SES

Community guide dev.to · Tools: AWS SAM (CloudFormation stack), Lambda + DynamoDB + API Gateway + Secrets Manager

Moves: Sending domain (partial); Email templates (partial). dev.to

Doesn't move: Sending integration (code); Resend API keys, audiences, and suppression lists (not mentioned; a fresh SES setup rebuilds deliverability state); Resend logs and analytics history (not mentioned; a fresh setup starts analytics history over). dev.to

Watch out for:

  • New SES accounts start in sandbox mode, capped at 200 emails per 24 hours and 1 email per second until production access is approved dev.to
  • DynamoDB TTL is opportunistic cleanup, not a security boundary; enforce token expiry at verify time dev.to
  • Cache Secrets Manager reads on cold start to avoid per-invocation API charges dev.to

To useSend

Official guide docs.usesend.com · Tools: Docker / docker-compose, useSend SMTP proxy container, Amazon SES + SNS (your own AWS account)

Moves: Contacts / audiences (partial); Sending domains (partial); Templates (React Email) (partial). docs.usesend.com

Doesn't move: Sending integration (code); Resend API keys, suppression lists, and sending history (no importer; deliverability state must be rebuilt in your own SES account); Resend logs/analytics (fresh Postgres database). docs.usesend.com

Watch out for:

  • SES sandbox mode must be lifted before production sending docs.usesend.com
  • Login requires a GitHub OAuth app; the docs ask readers to contribute email/password login code docs.usesend.com
  • useSend's maintainers still describe the project as beta docs.usesend.com

To Resend

Official guide resend.com · Tools: Resend SendGrid code converter

Doesn't move: Contacts, audiences, suppression lists and templates — the guide covers API/code migration only, with no import tool described for these; Dedicated-IP warm-up progress — a new dedicated IP on Resend has to be warmed up from scratch ($30/mo add-on per Resend's pricing page). resend.com

Watch out for:

  • SendGrid does not support idempotency keys the way Resend does, per Resend's guide resend.com
  • No import tool is described for contacts, suppression lists or templates resend.com

Switching help: A free on-page 'code converter' on Resend's SendGrid migration guide takes pasted SendGrid API code and outputs the Resend equivalent, to speed up porting integrations. resend.com

To Mailgun

Official guide mailgun.com

Watch out for:

  • This guide is generic ESP-switching advice on Mailgun's domain, not Mailgun-specific steps or a data importer mailgun.com

Switching help: Mailgun's SendGrid comparison page states it provides a migration guide plus hands-on onboarding support from its deliverability experts for switchers. mailgun.com

From each destination's own migration docs and switching pages, plus community write-ups where no official guide exists, each checked against its page. Confirm terms on the linked page before you rely on an offer.

FAQ

How do I cancel Resend?

Billing page → the ⋯ menu next to your plan → Cancel Subscription. Paid subscription fees are non-refundable, except where the law requires otherwise. resend.com

How do I cancel SendGrid?

Twilio Console → Settings → Account Details → Your Products → Cancel Subscription. The plan works until the end of the month; from the first of the next month the account can't send email. support.sendgrid.com

Is Amazon SES really that cheap?

A la carte it's $0.10 per 1,000 emails with no minimum, plus $0.12 per GB of attachments. New AWS accounts get free-tier credits, not an always-free SES allowance. aws.amazon.com

Which free plan is really free?

Resend's: 3,000 emails/mo, 100 emails/day, 3 domains, 30-day data retention; no pay-as-you-go on Free. resend.com

Mailgun's free plan allows 100 emails a day on 1 custom sending domain. mailgun.com

SendGrid's free option is a 60-day trial. twilio.com

What can change besides the API endpoint?

Request fields, templates, attachments, metadata, error handling and webhook payloads can be part of the provider integration. Use the destination’s migration documentation to map what your app actually sends, then exercise that mapping before changing production traffic. resend.com

How do I keep a retry from sending duplicate receipts?

Use a stable message-level retry identity in your application and the provider’s idempotency support where available. Resend supports idempotency keys with a retention window; persist your own business-event state so changing providers does not recreate an already-sent receipt. resend.com

Does moving to SES mean building an email service?

You can retain managed delivery while building a small adapter, queue or reporting layer around it. SES event notifications can expose delivery, bounce and complaint activity. The work to consume those events belongs in the cost comparison, even when the send rate is low. docs.aws.amazon.com

What should happen to old bounce and complaint records?

Preserve the recipients you have suppressed and map the reason into the new system. SES has an account-level suppression list with its own rules. Do not interpret an empty new provider list as permission to retry everyone. docs.aws.amazon.com

Keep reading

Check your own stack

Get your free stack audit

Stackcut finds every software subscription in your inbox and shows what to cancel, what to pay per use, and what AI can replace, with a spec and a cost for each. Your stack audit is free and takes about 2 minutes.

Or ask your agent

Connect the Stackcut MCP server (https://stackcut.io/mcp, no API key) and ask: “We send about 40,000 transactional emails a month on SendGrid Essentials. Is there a cheaper way?”

choose_stack({"project": "SaaS app", "needs": [
  {"job": "email_transactional", "volume": {"amount": 40000, "unit": "emails_per_month"}}]})