The best transactional email API in 2026: seven providers, every cell sourced
Published Updated 12 min readBy the Rasket team

How we compared them
A transactional email API is an HTTPS endpoint you POST a message to, run by a service that also authenticates your domain, signs the mail, keeps a suppression list and tells you what happened afterwards. Seven of them are compared here: Rasket, Resend, SendGrid, Postmark, Mailgun, MailerSend and Brevo.
We are one of the seven, so the method matters more than the conclusion. Three rules, and they are the same rules the comparison pages follow.
- Every competitor fact is a quotation from the vendor’s own page. Not a review site, not a remembered number, not something inferred from a blog post. The superscript on each cell links to the page it was read on. The one row with no superscript is “Best for”, which is our reading rather than anybody’s claim, and is labelled as such.
- Every fact is dated. Pricing pages change without notice, so the date is part of the claim, and the table prints the most recent of those dates.
- An unknown is printed as unknown. Where a vendor does not publish a figure, the cell says so rather than guessing.
The rows are the ones a developer actually decides on, in two groups: what each product does, then what it costs. Rasket’s own cells cite Rasket’s own pages, in the same format, including the row it loses.
Last checked on 16 September 2026
Every cell below was read on that date or earlier, and each superscript says which page it was read on. If that date is months behind you, click through before you quote anything here.
The comparison table
What each one does. The tables scroll sideways on a narrow screen rather than shrinking the text.
| Rasket | Resend | SendGrid | Postmark | Mailgun | MailerSend | Brevo | |
|---|---|---|---|---|---|---|---|
| Inbound email | Yes source 1 | Yes source 13 | On the Pro and Premier plans source 23 | On the Pro and Platform plans source 28 | 1 route on Free, 5 on Basic, full routing from Foundation source 35 | On the Starter and Professional plans source 41 | Yes source 46 |
| Transactional and broadcasts on one plan | Yes source 2 | Marketing email is priced as a separate plan source 13 | No — campaigns are a separate purchase source 23 | Yes, on a separate Broadcast stream source 28 | Not published source 35 | Not published source 41 | Marketing campaigns and transactional email are both in the API source 47 |
| Signed webhooks | Yes source 3 | Yes source 14 | Yes source 24 | No source 29 | Yes source 36 | Yes source 42 | Yes source 48 |
| Replay a webhook event | Yes source 3 | Yes source 15 | Not published source 24 | Not published source 29 | Not published source 37 | Not published source 42 | Not published source 47 |
| Idempotent sends | Yes source 4 | Yes source 16 | Not published source 25 | Not published source 30 | Not published source 38 | Not published source 43 | For batch transactional email source 49 |
| Versioned templates | Yes source 5 | Yes source 17 | Not published source 25 | Not published source 31 | Not published source 38 | Not published source 43 | Not published source 47 |
| Automations | Yes source 6 | Yes source 18 | In Marketing Campaigns, bought separately source 23 | Not published source 30 | Not published source 35 | Not published source 41 | Workflows, started by events their tracker records source 50 |
| MCP server | Yes source 7 | Yes source 19 | Yes source 26 | Not published source 30 | Yes source 39 | Yes source 44 | Yes source 51 |
| Markdown docs and llms.txt | Yes source 8 | Yes source 20 | Yes source 25 | An llms.txt index source 30 | Yes source 38 | An llms.txt index source 45 | Yes source 47 |
| DKIM key size | 2048-bit, one key per domain source 12 | Not published source 22 | Not published source 25 | Not published source 34 | Not published source 38 | Not published source 43 | Not published source 47 |
What each one costs, and who each one is for.
| Rasket | Resend | SendGrid | Postmark | Mailgun | MailerSend | Brevo | |
|---|---|---|---|---|---|---|---|
| Official SDKs | Node.js and Python source 9 | Node.js, PHP, Python, Ruby, Go, Java, Rust, Elixir and .NET source 20 | C#, Go, Java, Node.js, PHP, Python and Ruby source 27 | Node.js and TypeScript, Python, Ruby, PHP, Java and .NET source 32 | Ruby, PHP, Python, Java, Go and Node.js source 40 | PHP, Node.js, Go, Python, Ruby and Java source 43 | Node.js, Python and PHP source 52 |
| Free plan | 3,000 emails a month, 100 a day, 3 domains source 10 | 3,000 emails a month, 100 a day, 3 domains source 13 | No free plan — a 60-day trial of 100 emails a day source 23 | 100 emails a month, and it does not expire source 28 | 100 emails a day source 35 | 500 emails a month, 1 domain, 1 template source 41 | Not published source 53 |
| Entry paid plan | $20 a month for 50,000 emails source 10 | $20 a month for 50,000 emails source 13 | $19.95 a month for 50,000 emails source 23 | $15 a month for 10,000 emails source 28 | $15 a month for 10,000 emails source 35 | $7 a month for 5,000 emails source 41 | Not published source 53 |
| Extra emails, per 1,000 | $0.60 source 10 | $0.90 source 13 | $1.30 source 23 | $1.80 source 28 | From $1.80 on Basic source 35 | $1.30 on Starter and Professional source 41 | Not published source 53 |
| Data retention | 30 days on the self-serve plans source 10 | 30 days on the free plan source 13 | 3 days of searchable activity, 7 on Pro and Premier source 23 | 45 days, up to 365 with an add-on source 28 | 1 day of logs on Free and Basic, 5 on Foundation, 30 on Scale source 35 | 1 day on Free and Hobby, 7 on Starter, 30 on Professional source 41 | Not published source 53 |
| Dedicated IP | An add-on on Scale source 10 | $30 a month, above 3,000 emails a day source 13 | One included on Pro and Premier source 23 | $50 a month per IP, on Pro and above source 28 | One included on Scale, extra IPs $59 a month each source 35 | An add-on above 100,000 emails a week source 41 | Not published source 53 |
| SMTP relay | No source 11 | Yes source 21 | Yes source 23 | Yes source 33 | Yes source 35 | Yes source 41 | Yes source 54 |
| Best for (our read) | Developers who want sending, receiving and broadcasts behind one API key | Teams writing their emails as React components | Teams already inside Twilio who want email on the same account | Teams who want transactional and bulk mail kept on separate streams | Teams who route inbound mail with rules and want a relay in front of it | Small projects that want the cheapest paid plan on this list | Teams who want marketing, CRM and transactional email from one vendor |
The numbered sources, in the order the tables reach them. Ours are paths on this site; everyone else’s are their own pages.
- Rasket · /features/receiving · read 16 September 2026
- Rasket · /features/broadcasts · read 16 September 2026
- Rasket · /features/webhooks · read 16 September 2026
- Rasket · /docs/idempotency · read 16 September 2026
- Rasket · /features/templates · read 16 September 2026
- Rasket · /features/automations · read 16 September 2026
- Rasket · /features/agents · read 16 September 2026
- Rasket · /llms.txt · read 16 September 2026
- Rasket · /about · read 16 September 2026
- Rasket · /pricing · read 16 September 2026
- Rasket · /features/email-api · read 16 September 2026
- Rasket · /features/domains · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- Resend · resend.com · read 16 September 2026
- SendGrid · www.twilio.com · read 16 September 2026
- SendGrid · www.twilio.com · read 16 September 2026
- SendGrid · www.twilio.com · read 16 September 2026
- SendGrid · www.twilio.com · read 16 September 2026
- SendGrid · www.twilio.com · read 16 September 2026
- Postmark · postmarkapp.com · read 16 September 2026
- Postmark · postmarkapp.com · read 16 September 2026
- Postmark · postmarkapp.com · read 16 September 2026
- Postmark · postmarkapp.com · read 16 September 2026
- Postmark · postmarkapp.com · read 16 September 2026
- Postmark · postmarkapp.com · read 16 September 2026
- Postmark · postmarkapp.com · read 16 September 2026
- Mailgun · www.mailgun.com · read 16 September 2026
- Mailgun · documentation.mailgun.com · read 16 September 2026
- Mailgun · documentation.mailgun.com · read 16 September 2026
- Mailgun · documentation.mailgun.com · read 16 September 2026
- Mailgun · documentation.mailgun.com · read 16 September 2026
- Mailgun · documentation.mailgun.com · read 16 September 2026
- MailerSend · www.mailersend.com · read 16 September 2026
- MailerSend · developers.mailersend.com · read 16 September 2026
- MailerSend · developers.mailersend.com · read 16 September 2026
- MailerSend · developers.mailersend.com · read 16 September 2026
- MailerSend · www.mailersend.com · read 16 September 2026
- Brevo · developers.brevo.com · read 16 September 2026
- Brevo · developers.brevo.com · read 16 September 2026
- Brevo · developers.brevo.com · read 16 September 2026
- Brevo · developers.brevo.com · read 16 September 2026
- Brevo · developers.brevo.com · read 16 September 2026
- Brevo · developers.brevo.com · read 16 September 2026
- Brevo · developers.brevo.com · read 16 September 2026
- Brevo · www.brevo.com · read 16 September 2026
- Brevo · developers.brevo.com · read 16 September 2026
One paragraph on each provider
Resend. Resend is an email API with a dashboard, nine official SDKs and a documentation set written for agents as well as people; its transactional plans and its marketing plans are priced apart. Where it leads us: Official SDKs — Rasket: Node.js and Python. Resend: Node.js, PHP, Python, Ruby, Go, Java, Rust, Elixir and .NET.
SendGrid. SendGrid is Twilio's email product: an API and an SMTP service with seven official libraries, sold as Email API plans, with its campaign tooling bought as a second subscription. Where it leads us: Official SDKs — Rasket: Node.js and Python. SendGrid: C#, Go, Java, Node.js, PHP, Python and Ruby.
Postmark. Postmark is a transactional email service with six official libraries, an SMTP option and Message Streams, which keep transactional and broadcast mail on separate sending infrastructure. Where it leads us: Official SDKs — Rasket: Node.js and Python. Postmark: Node.js and TypeScript, Python, Ruby, PHP, Java and .NET.
Mailgun. Mailgun is an email API from Sinch with six official SDKs, an SMTP relay, rule-based inbound routing and signed webhooks, sold on plans whose log retention grows with the tier. Where it leads us: Official SDKs — Rasket: Node.js and Python. Mailgun: Ruby, PHP, Python, Java, Go and Node.js.
MailerSend. MailerSend is an email API with six official libraries, an SMTP relay, signed webhooks and an MCP server, sold on small plans that start below every other entry price here. Where it leads us: Official SDKs — Rasket: Node.js and Python. MailerSend: PHP, Node.js, Go, Python, Ruby and Java.
Brevo. Brevo is a marketing platform with a transactional email API attached: an SMTP relay, three official SDKs, secured webhooks, inbound parsing, idempotency keys for batch sends and an MCP server over its developer documentation. Where it leads us: Official SDKs — Rasket: Node.js and Python. Brevo: Node.js, Python and PHP.
Each paragraph ends on a row where that vendor leads us, because a comparison that finds nothing to concede is an advert, and an advert is not a page anybody quotes. The per-vendor pages under compare go row by row, and the alternatives pages answer the same question from the other direction.
Where Rasket makes its case
Rasket. Rasket is an email API for developers: one REST API, a dashboard and typed SDKs for transactional email and broadcasts, with inbound mail, signed webhooks and an MCP server in the same product and on the same key.
The rows we would point at are the ones where a second product is usually the alternative. Inbound mail arrives at your own domain as a signed webhook on every plan, so a support inbox does not mean a second vendor and a second set of DNS records. Broadcasts travel the same pipeline and the same key as a password reset. An event can be replayed with the identical payload under the same id, which turns a handler outage into a replay rather than a gap. Sends take an Idempotency-Key remembered for 24 hours. And the agent surface — an MCP server, a setup skill, Markdown twins of every documentation page — is there because assistants read accounts now.
The row we lose
There is no SMTP relay. If your application sends through a transport today and you are not in a position to replace that call with an HTTP one, this is the wrong product and the table says so in the same type as everything else.
How to choose, in four questions
Most of the table is irrelevant to any one reader. Four questions narrow it.
- Does your product read replies? If so, inbound parsing is not optional and that row eliminates several options at once.
- Do you send campaigns as well as receipts? One product means one bill, one key and one suppression list; otherwise a transactional-only service is simpler.
- What is the bill at your real volume? Entry price plus the overage rate times the thousands you exceed it by, not the headline.
- What are you migrating from? An application built on SMTP faces different work — see the API versus SMTP comparison.
With those answered, the fastest way to finish is to send one real message through the shortlist and compare what each can tell you about it an hour later. The Node.js walkthrough is one shape of that test, and the email API page is ours end to end.
Frequently asked questions
What makes an email API transactional rather than marketing?
The trigger, not the product. A transactional message is caused by one person doing one thing — a purchase, a password reset, a shipping update — and is addressed to them alone. Most of the providers here send both kinds; what differs is whether broadcasts are part of the same plan and the same key or a separate product you buy.
Which of these is cheapest?
It depends entirely on volume and on what you count. The table gives each provider's entry price and its rate per extra thousand emails, read from their own pricing page on the date shown. Below roughly 50,000 messages a month the entry price dominates; above it, the overage rate is what decides the bill.
Do I need a provider that receives email too?
Only if your product reads replies. Support inboxes, reply-to-comment features and anything that parses an incoming attachment need inbound parsing, and buying it separately means a second vendor and a second set of DNS records. If your mail is one-directional, it is a row you can ignore.
How current are these figures?
Every cell carries the date it was read and a link to the page it was read on, and the page prints the most recent of those dates at the top. Pricing pages change without notice, so treat the date as part of the fact: if it is months old, click through before you quote it.
Why is a row marked Not published?
Because the vendor does not state that figure on a public page. We would rather print that than a number remembered from somewhere else or inferred from a review site. A blank is honest; a guess in a comparison table is the thing that makes the whole table worthless.
Does any of them offer an SMTP relay?
Several do, and the table says which. Rasket does not: it is an HTTP API, so an application built around an SMTP transport has to replace that call rather than repoint it. If you need to keep an SMTP integration exactly as it is, that row should decide this for you.
Sources
- Resend pricing — Resend, read 2026-09-16
- Twilio SendGrid Email API pricing — Twilio, read 2026-09-16
- Postmark pricing — Postmark, read 2026-09-16
- Mailgun pricing — Mailgun, read 2026-09-16
- MailerSend pricing — MailerSend, read 2026-09-16
- Brevo pricing — Brevo, read 2026-09-16
Related
- Compare — Rasket compared with Resend, SendGrid, Postmark, Mailgun, MailerSend and Brevo on the rows a developer buys on, every fact dated and linked to its source.
- Alternatives — Alternatives to Resend, SendGrid, Postmark and Mailgun for developers, weighed on inbound mail, webhooks, agent tooling and what an extra thousand emails costs.
- Email API — Send email over one REST call: idempotent sends, batches, scheduling, attachments, templates and a delivery timeline for every message.
- Email API vs SMTP: which should you use? — SMTP is a conversation; an email API is one request. What each gives you on retries, idempotency, events and firewalls, and how to move from one to the other.
- Send email from Node.js: API vs SMTP vs Nodemailer — Three ways to send email from Node.js — an HTTP API, SMTP and Nodemailer — what each one costs you, and a working send with retries and webhooks.