Back to all posts
Guide
9 min read

Best Email API Providers in 2026: Resend vs Postmark vs SendGrid vs Amazon SES vs Mailgun

DevToolLab Team

DevToolLab Team

September 5, 2026

Best Email API Providers in 2026: Resend vs Postmark vs SendGrid vs Amazon SES vs Mailgun

Every product sends email it cannot afford to lose: password resets, receipts, magic links, the invoice that finance is waiting on. The API call was never the hard part. Deliverability is, and it depends on IP reputation, correctly published SPF, DKIM and DMARC records, and how fast your provider processes bounces and spam complaints before a mailbox provider decides you are the problem.

Two things stand out this year. Twilio folded SendGrid's website into twilio.com, and what Twilio's pricing page now calls SendGrid's free plan is a 60-day trial of 100 emails a day, not a permanent free tier. And Resend announced 3,000,000 users on June 3, 2026, tripling in six months, on the strength of a $20 plan that covers 50,000 emails. The same 50,000 emails cost $5.00 on Amazon SES a la carte and up to $66.00 on Postmark if you stay on its 10,000-email tiers and pay the published overage, all numbers read from the vendors' own pages on September 5, 2026. Email pricing looks like a commodity and behaves like a 13x spread.

Quick Comparison

ProviderFree tierEntry paid planOverage per 1,000Owner
Resend3,000/mo, 100/day$20/mo for 50,000$0.90Independent, 3M users
Postmark100/mo developer tier$15/mo for 10,000$1.80 (Basic) to $1.20 (Platform)ActiveCampaign
SendGrid60-day trial, 100/dayEssentials from $19.95/moNot publishedTwilio
Amazon SESUp to $200 AWS Free Tier credit for new accounts, no SES-specific tier$0.10 per 1,000, no minimum$0.10AWS
Mailgun100/day$15/mo for 10,000$1.80 to $1.10Sinch
Mailtrap4,000/mo, 150/day$15/mo for 10,000$1.00Railsware
Loops1,000 contacts, 4,000 sendsPriced per subscribed contactNone, sends includedAstrodon Corporation
Plunk1,000/mo hosted$0.001 per emailn/aOpen source, AGPL-3.0
PostalSelf-hostedYour servern/aOpen source, MIT

The unit matters more than the sticker. Resend, Mailgun and Mailtrap sell monthly buckets with overage; SES sells raw thousands; Loops charges for contacts and gives sends away; Postmark's price ladder is on a volume slider, so what you see depends on where you drag it.

Resend

Resend pricing page with the transactional emails tab selected and the slider at 3,000, showing Free at $0 per month for 3,000 emails with 100 emails a day and 3 domains, Pro at $20 per month for 50,000 emails with extra emails at $0.90 per 1,000 and 10 domains, Scale at $90 per month for 100,000 emails and 1,000 domains, and a custom Enterprise tier
Resend pricing page with the transactional emails tab selected and the slider at 3,000, showing Free at $0 per month for 3,000 emails with 100 emails a day and 3 domains, Pro at $20 per month for 50,000 emails with extra emails at $0.90 per 1,000 and 10 domains, Scale at $90 per month for 100,000 emails and 1,000 domains, and a custom Enterprise tier

Resend is the developer favorite of this cycle, and the growth numbers explain the attention: 3,000,000 users as of June 3, 2026, up from 1,000,000 six months earlier, a team that grew from 25 to 43 people, and 6.8 million weekly npm downloads for its SDK. It maintains React Email (now at 6.0) so templates are components, and it bought the background-jobs service Mergent in April 2025.

Pricing is the simplest here. Free is 3,000 emails a month capped at 100 a day, 3 domains and 30-day data retention. Pro is $20 a month for 50,000 emails, 10 domains and no daily limit, with overage at $0.90 per 1,000. Scale is $90 for 100,000 emails and 1,000 domains. Add-ons are priced in the open: extra domain packs $20 a month, a dedicated IP $30 a month (Scale plan, 3,000+ emails a day), SSO $150 a month, automation runs $0.0015 each.

The send call, verified against resend 6.26.0:

TypeScript
import { Resend } from "resend";

const resend = new Resend(process.env.RESEND_API_KEY!);

const { data, error } = await resend.emails.send({
  from: "Acme <receipts@mail.acme.com>",
  to: ["customer@example.com"],
  subject: "Your receipt for order #8842",
  html: "<p>Thanks for your order. Total: <strong>$42.00</strong></p>",
  headers: { "X-Entity-Ref-ID": "order_8842" }, // idempotency key on retries
  tags: [{ name: "category", value: "receipt" }],
});

if (error) throw new Error(`${error.name}: ${error.message}`);
console.log("queued", data?.id);

What to watch. Resend publishes its incident reports (November 18, 2025 and February 15, 2026 are on the blog), a reminder that a fast-growing provider has bad days, and the dedicated IP only unlocks on Scale.

Pricing: Free 3,000/mo · Pro $20/mo for 50,000 · Scale $90/mo for 100,000 · overage $0.90/1,000 · dedicated IP $30/mo

Postmark

Postmark pricing page with the volume slider at 10,000 emails showing Free at $0 for 100 emails a month with no overages, Basic at $15 per month with extra emails at $1.80 per 1,000 and 45-day retention, Pro at $16.50 per month with extra emails at $1.30 per 1,000 and up to 365-day retention, and Platform at $18 per month with extra emails at $1.20 per 1,000 and unlimited sending domains
Postmark pricing page with the volume slider at 10,000 emails showing Free at $0 for 100 emails a month with no overages, Basic at $15 per month with extra emails at $1.80 per 1,000 and 45-day retention, Pro at $16.50 per month with extra emails at $1.30 per 1,000 and up to 365-day retention, and Platform at $18 per month with extra emails at $1.20 per 1,000 and unlimited sending domains

Postmark, owned by ActiveCampaign, is the deliverability-first choice and prices accordingly. At the 10,000-email point on its slider, Basic is $15 a month with 5 sending domains and 45-day retention, Pro is $16.50 with 10 domains, inbound processing and retention configurable up to 365 days, and Platform is $18 with unlimited domains. Overage runs $1.80, $1.30 and $1.20 per 1,000 respectively, tied with Mailgun for the steepest entry rate in this group. The free developer tier is 100 emails a month and never expires, but allows no overage.

What it does well. Postmark separates transactional and broadcast message streams, publishes delivery statistics per inbox provider on its status page, and its per-message event data is the reason support teams like it.

What to watch. The slider. Postmark publishes a price per slider position rather than one flat plan plus overage, so the script below uses the 10,000-email tier plus the published overage rate as a proxy; the slider price at your real volume may be lower.

Pricing: Free 100/mo · Basic $15/mo · Pro $16.50/mo · Platform $18/mo at 10,000 emails · overage $1.80 to $1.20/1,000

SendGrid

Twilio SendGrid Email API pricing summary box stating the free trial lets you send 100 emails a day for 60 days, the Essentials plan starts at $19.95 per month, exact pricing depends on send volume and features, and Pro and Premier plans include dedicated IPs
Twilio SendGrid Email API pricing summary box stating the free trial lets you send 100 emails a day for 60 days, the Essentials plan starts at $19.95 per month, exact pricing depends on send volume and features, and Pro and Premier plans include dedicated IPs

SendGrid still moves the most mail here; Twilio's page claims more than 200 billion emails a month. What changed in 2026 is the front door: every sendgrid.com pricing URL we tried on September 5, 2026 redirected to a Twilio product page, and sendgrid.com now carries a notice that the two websites are merging. The rate card lives at Twilio's Email API pricing page: a free trial of 100 emails a day for 60 days, Essentials "starting at $19.95/mo" for 50,000 to 100,000 emails, Pro "starting at $89.95/mo" for 100,000 to 2.5 million emails with dedicated IPs included, and Premier by quote.

What it does well. Scale, an SMTP relay every framework already knows how to talk to, and a dedicated IP included on Pro and Premier with more available as an add-on.

What to watch. The free plan is gone in all but name, exact pricing "depends on email send volume, features," and signup, login and docs now live on twilio.com. Budget for the migration if the change surprised you.

Pricing: Free trial 60 days · Essentials from $19.95/mo · Pro from $89.95/mo with dedicated IPs · Premier custom

Amazon SES

Amazon SES pricing page showing the pricing overview and the Amazon SES pricing plans table with Essentials, Pro and Enterprise columns, starting at $0.16 per 1,000 emails for the first 10 million emails a month on Essentials
Amazon SES pricing page showing the pricing overview and the Amazon SES pricing plans table with Essentials, Pro and Enterprise columns, starting at $0.16 per 1,000 emails for the first 10 million emails a month on Essentials

Amazon SES is the floor everyone else prices against: $0.10 per 1,000 outbound emails a la carte, $0.12 per GB of attachments, no minimum, no contract. Dedicated IPs are $24.95 a month each, or $15 a month per account plus a per-email fee on the managed option, and the Virtual Deliverability Manager adds $0.07 per 1,000 for reputation dashboards.

The new part is the plan structure. Beginning July 21, 2026, new accounts (and any account-region pair with no metered SES activity since June 1, 2025) start on tiered plans: Essentials at $0.16 per 1,000 for the first 10 million emails a month (falling to $0.14 and $0.11 at volume), Pro at $0.22 per 1,000 plus $105 per account per region per month with a dedicated IP bundled, and Enterprise at $0.23 per 1,000 plus $500 a month. The a la carte $0.10 rate still exists.

What to watch. SES gives you an SMTP endpoint and a reputation dashboard, not a product. Templates, suppression handling and support are largely yours to build, deliverability analytics cost extra unless a plan bundles them, and the pricing page needs eighteen footnotes across three tables for a reason.

Pricing: $0.10/1,000 a la carte · Essentials $0.16/1,000 · Pro $0.22/1,000 + $105/mo · dedicated IP $24.95/mo

Mailgun

Mailgun Send pricing page with the slider at 50,000 emails a month showing Free at $0 with 100 emails a day, Basic starting at $15 per month with 10,000 emails, Foundation at $35 per month with 50,000 emails marked Recommended, and Scale at $90 per month with 100,000 emails
Mailgun Send pricing page with the slider at 50,000 emails a month showing Free at $0 with 100 emails a day, Basic starting at $15 per month with 10,000 emails, Foundation at $35 per month with 50,000 emails marked Recommended, and Scale at $90 per month with 100,000 emails

Mailgun, now part of Sinch, is the API-first incumbent that predates most of this list. Free is 100 emails a day with one day of log retention. Basic is $15 a month for 10,000 emails and overage from $1.80 per 1,000. Foundation is $35 for 50,000 emails, 1,000 custom sending domains and 5-day logs, with overage from $1.30. Scale is $90 for 100,000 emails, 30-day logs, up to 7 days of message retention and overage from $1.10. Foundation and Scale are free for the first month.

What to watch. Log retention is short on the lower tiers (one day on Free and Basic), which is exactly when you most need to debug a bounce.

Pricing: Free 100/day · Basic $15/mo for 10,000 · Foundation $35/mo for 50,000 · Scale $90/mo for 100,000

Mailtrap

Mailtrap Email Sending product page headlined Email Sending for dev teams, describing a RESTful email API and SMTP with high deliverability by design and in-depth analytics, with SDK badges for Python, PHP, Node.js, Ruby and Elixir and a stats dashboard
Mailtrap Email Sending product page headlined Email Sending for dev teams, describing a RESTful email API and SMTP with high deliverability by design and in-depth analytics, with SDK badges for Python, PHP, Node.js, Ruby and Elixir and a stats dashboard

Mailtrap started as the sandbox developers used to catch staging email, and its production API undercuts the field at mid volume. Free is 4,000 emails a month at 150 a day. Basic is $15 for 10,000, $20 for 50,000 and $30 for 100,000 emails with $1 per 1,000 overage. Business runs $85 for 100,000 up to $450 for 750,000 with dedicated IPs included and $0.88 overage, and Enterprise is $750 for 1.5 million and $1,250 for 2.5 million. The company says 150,000+ monthly active users.

What to watch. Read the tiers carefully; Basic 100,000 at $30 and Business 100,000 at $85 differ in retention, seats and dedicated IP, not volume.

Pricing: Free 4,000/mo · Basic $15 to $30/mo for 10,000 to 100,000 · Business $85 to $450/mo · overage $1.00 or $0.88/1,000

Loops

Loops pricing page with a subscriber slider set to 1,000 subscribers showing Free, described as the Early Stage Plan with up to 4,000 sends a month, up to 10 emails per second, all features included and a small Powered by Loops footer
Loops pricing page with a subscriber slider set to 1,000 subscribers showing Free, described as the Early Stage Plan with up to 4,000 sends a month, up to 10 emails per second, all features included and a small Powered by Loops footer

Loops is the odd one out and worth knowing about: it prices by subscribed contacts, not sends. The free plan covers 1,000 stored contacts and 4,000 sends a month. Paid plans do not cap sends (up to 1,000 emails a second per team) and include transactional email at no extra charge, so a SaaS that wants Loops for onboarding sequences gets its password resets free. A pure transactional workload with few contacts and many sends is not what the model is for.

Pricing: Free 1,000 contacts, 4,000 sends/mo · paid tiers by subscribed contact, sends unlimited

The Open-Source Options

Plunk pricing page headlined Simple, transparent pricing with a free forever plan of 1,000 emails a month and a pay as you grow plan at $0.001 per email with unlimited contacts and no Plunk branding
Plunk pricing page headlined Simple, transparent pricing with a free forever plan of 1,000 emails a month and a pay as you grow plan at $0.001 per email with unlimited contacts and no Plunk branding

Plunk is the open-source Resend: AGPL-3.0, 5,400 GitHub stars, transactional email plus campaigns and automations, deployable with Docker. The hosted version is free for 1,000 emails a month and then a flat $0.001 per email with unlimited contacts, which puts 50,000 emails at roughly $50 (the script assumes the first 1,000 stay free). Self-hosting means running your own delivery infrastructure or pointing it at a relay.

Postal homepage describing a fully featured open source mail delivery platform for incoming and outgoing email, with documentation and GitHub links
Postal homepage describing a fully featured open source mail delivery platform for incoming and outgoing email, with documentation and GitHub links

Postal is the heavier answer: an MIT-licensed, 16,800-star mail delivery platform that is the actual MTA. You run the servers, warm the IPs and answer to Gmail's postmaster tools yourself, which below a few hundred thousand emails a month is more work than the SES bill it replaces.

Pricing: Plunk hosted free 1,000/mo then $0.001/email, self-host free (AGPL-3.0) · Postal self-host free (MIT)

Do the Math on Your Own Volume

The tiers, sliders and overage rates do not compare in your head. This script uses the September 5, 2026 numbers above and prints the cheapest published option for each provider at your monthly volume.

JavaScript
// email-api-cost.mjs - cheapest published plan for each transactional email API at your volume.
// Usage: node email-api-cost.mjs 250000
const emails = Number(process.argv[2] ?? 250_000)

// Published plan tiers as [monthly USD, included emails, overage USD per 1,000], read September 5, 2026.
// Postmark prices its plans by a volume slider; the 10,000-email tier plus the published overage rate is used here.
const PLANS = {
  "Resend":   [[0, 3_000, null], [20, 50_000, 0.90], [90, 100_000, 0.90]],
  "Postmark": [[0, 100, null], [15, 10_000, 1.80], [16.5, 10_000, 1.30], [18, 10_000, 1.20]],
  "Mailgun":  [[0, 3_000, null], [15, 10_000, 1.80], [35, 50_000, 1.30], [90, 100_000, 1.10]],   // free tier is 100/day, approximated as 3,000/mo
  "Mailtrap": [[0, 4_000, null], [15, 10_000, 1.00], [20, 50_000, 1.00], [30, 100_000, 1.00], [85, 100_000, 0.88], [200, 250_000, 0.88], [300, 500_000, 0.88], [450, 750_000, 0.88]],
  "SendGrid": [[19.95, 50_000, null], [89.95, 100_000, null]],   // "starting at" prices; exact tier depends on volume
}

// Pure per-email metering: SES a la carte outbound, and Plunk's hosted plan.
const METERED = {
  "Amazon SES (a la carte)": { perThousand: 0.10, free: 0 },
  "Plunk (hosted)":          { perThousand: 1.00, free: 1_000 },
}

function cheapest(tiers, volume) {
  let best = null
  for (const [price, included, overage] of tiers) {
    let cost
    if (volume <= included) cost = price
    else if (overage == null) continue            // plan does not allow overage
    else cost = price + Math.ceil((volume - included) / 1_000) * overage
    if (best == null || cost < best) best = cost
  }
  return best
}

const usd = (n) => n.toLocaleString("en-US", { style: "currency", currency: "USD" })
console.log(`\n${emails.toLocaleString("en-US")} emails per month\n`)
for (const [name, tiers] of Object.entries(PLANS)) {
  const c = cheapest(tiers, emails)
  console.log(`  ${name.padEnd(26)} ${c == null ? "no published plan" : usd(c)}`)
}
for (const [name, m] of Object.entries(METERED)) {
  const billable = Math.max(0, emails - m.free)
  console.log(`  ${name.padEnd(26)} ${usd((billable / 1_000) * m.perThousand)}`)
}
console.log(`  ${"Postal (self-hosted)".padEnd(26)} $0 + your server and IP reputation\n`)

At 250,000 emails a month:

text
250,000 emails per month

  Resend                     $200.00
  Postmark                   $306.00
  Mailgun                    $255.00
  Mailtrap                   $180.00
  SendGrid                   no published plan
  Amazon SES (a la carte)    $25.00
  Plunk (hosted)             $249.00
  Postal (self-hosted)       $0 + your server and IP reputation

SES is four to thirteen times cheaper depending on volume and which managed provider you compare it to, and the managed providers spread across roughly $180 to $300 at 250,000 emails. Past the free tiers you are paying $150 to $300 a month for a dashboard, suppression handling, templates and someone else's IP reputation, and whether that is worth it depends on whether an engineer wants to own bounce processing.

How to Pick

A new product with a Node or Next.js stack and under 100,000 emails a month: Resend, for the SDK, React Email and a price sheet you can read in one screen. Deliverability-sensitive transactional mail where a delayed password reset is a support ticket: Postmark, and check its slider at your real volume. Already on AWS with an engineer who is comfortable owning suppression lists and warming IPs: SES, at a fraction of the price. Millions of emails, dedicated IP pools and a Twilio relationship: SendGrid, now via twilio.com. Marketing sequences and transactional mail from one product: Loops. Wanting to run it yourself: Plunk for the product shape, Postal if you truly want to be the mail server.

Conclusion

Email APIs converged on the same shape and diverged on price: $0.10 per 1,000 from AWS, $0.88 to $1.80 per 1,000 in overage from the managed providers, and a SendGrid free tier that is now a 60-day trial. Pick on the unit you actually consume, price it with the script, and spend the saved afternoon on SPF, DKIM and DMARC, because no vendor can deliver mail your DNS records say is forged.

  • SPF Record Checker - confirm your sending provider's include is in the SPF record before the first production send.
  • DMARC Record Checker - verify the DMARC policy and reporting address every mailbox provider now expects from bulk senders.
  • MX Record Lookup - see which servers receive mail for a domain when you set up inbound processing or reply handling.
  • Email Validator - catch typos and dead domains at signup so they never become bounces that hurt your reputation.

Related Posts

Best HR Software for UK Enterprise (1000+)

Nine HR platforms ranked for UK companies past 1,000 employees, from HiBob to Workday, SAP SuccessFactors and Oracle, on scale, security and UK payroll.

By DevToolLab Team•

Gemini Code Assist vs Antigravity in 2026

Google stopped selling Gemini Code Assist on October 9, 2026. The renewal deadlines, what Antigravity changes, seat costs, and a tested Gemini CLI migration.

By DevToolLab Team•

7 Best NotebookLM Alternatives in 2026

NotebookLM is now Gemini Notebook. ChatGPT, Claude and Copilot projects plus Open Notebook, SurfSense, AnythingLLM and kotaemon, tested on 32 RFCs.

By DevToolLab Team•