Email sending APIs, ranked by time to first send

Resend, AhaSend and Loops get you from signup to a delivered email in about ten minutes. Amazon SES is the cheapest at $0.10 per thousand but its sandbox exit takes a day or more. Postmark still has the best-policed shared pool. Pick on time-to-first-send and pool quality, not list price.

Last verified
2026-06-05 (2mo ago)
Source confidence
28%
Re-verified
every 30 days
Tools
13
Fields
25
13 tools · verified 2mo ago
PostmarkTransactional-only sender with the best-policed shared IP pool in the category.75.5

Features

Time to first send
240 min
Product scope
transactional-first
Inbound parsing
Yes
Event webhooks
deliveredopenedclickedbounced+3
Hosted templates
visual-editor
React Email / MJML
mjmlhandlebars
Log retention
64800 min
Throughput ceiling (emails/hr)
Multi-domain sending
Yes
Data residency
us

Deliverability

Shared pool quality
5
IP warmup
Yes
DKIM/DMARC friction
2
BIMI
Yes
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
$1.5 /1k
Free tier (emails/mo)
100 emails/mo
Dedicated IP (/mo)
$50 /mo
Pricing model
volume-tiers

Agentic

MCP server
Partial
llms.txt docs
Unknown

Traction

Funding
acquired

Positioning

Positioning
"Your emails, delivered." Sells discipline rather than features — and unusually, the claim matches the product.

Timeline

GA year
2010
ResendDeveloper-first email API built around React Email components.73.8

Features

Time to first send
10 min
Product scope
both
Inbound parsing
Partial
Event webhooks
deliveredopenedclickedbounced+2
Hosted templates
code-editor
React Email / MJML
react-emailmjml
Log retention
4320 min
Throughput ceiling (emails/hr)
7,200 emails/hr
Multi-domain sending
Yes
Data residency
useuapacsa

Deliverability

Shared pool quality
4
IP warmup
Partial
DKIM/DMARC friction
1
BIMI
Partial
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
$0.4 /1k
Free tier (emails/mo)
3,000 emails/mo
Dedicated IP (/mo)
$30 /mo
Pricing model
volume-tiers

Agentic

MCP server
Yes
llms.txt docs
Yes

Traction

Funding
series-a

Positioning

Positioning
"Email for developers." React Email is the hook; the API is deliberately small and the docs carry most of the product.

Timeline

GA year
2023
MailerSendTransactional sibling of MailerLite, bootstrapped and cheap at mid volume.66.8

Features

Time to first send
1440 min
Product scope
both
Inbound parsing
Yes
Event webhooks
deliveredopenedclickedbounced+3
Hosted templates
visual-editor
React Email / MJML
handlebarsmjml
Log retention
43200 min
Throughput ceiling (emails/hr)
Multi-domain sending
Partial
Data residency
useu

Deliverability

Shared pool quality
3
IP warmup
Yes
DKIM/DMARC friction
2
BIMI
Yes
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
$0.56 /1k
Free tier (emails/mo)
3,000 emails/mo
Dedicated IP (/mo)
$50 /mo
Pricing model
volume-tiers

Agentic

MCP server
Unknown
llms.txt docs
No

Traction

Funding
bootstrapped

Positioning

Positioning
"Transactional email for developers and marketers." Positions on the template builder, which is genuinely its strongest feature.

Timeline

GA year
2020
SendGridThe incumbent: enormous scale, enormous shared pool, everything bolted on.64.0

Features

Time to first send
60 min
Product scope
both
Inbound parsing
Yes
Event webhooks
deliveredopenedclickedbounced+4
Hosted templates
visual-editor
React Email / MJML
handlebars
Log retention
4320 min
Throughput ceiling (emails/hr)
Multi-domain sending
Partial
Data residency
useu

Deliverability

Shared pool quality
2
IP warmup
Yes
DKIM/DMARC friction
3
BIMI
Yes
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
$0.4 /1k
Free tier (emails/mo)
3,000 emails/mo
Dedicated IP (/mo)
$30 /mo
Pricing model
volume-tiers

Agentic

MCP server
Partial
llms.txt docs
No

Traction

Funding
subsidiary

Positioning

Positioning
"Trusted for more than a decade." Sells scale and incumbency; the surface is wide, and the free-tier pool is the hidden cost.

Timeline

GA year
2009
AhaSendSmall indie transactional API competing on price and instant signup.61.6

Features

Time to first send
15 min
Product scope
transactional-only
Inbound parsing
Unknown
Event webhooks
deliveredopenedclickedbounced+1
Hosted templates
none
React Email / MJML
Log retention
Throughput ceiling (emails/hr)
Multi-domain sending
Yes
Data residency

Deliverability

Shared pool quality
3
IP warmup
Unknown
DKIM/DMARC friction
2
BIMI
Unknown
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
Free tier (emails/mo)
1,000 emails/mo
Dedicated IP (/mo)
Pricing model
pay-as-you-go

Agentic

MCP server
Unknown
llms.txt docs
Yes

Traction

Funding
bootstrapped

Positioning

Positioning
"Transactional email without the bloat." Competes on price and on not having a marketing product.

Timeline

GA year
2023
BrevoEU-hosted marketing platform with a competent transactional API attached.60.8

Features

Time to first send
240 min
Product scope
marketing-first
Inbound parsing
Yes
Event webhooks
deliveredopenedclickedbounced+4
Hosted templates
visual-editor
React Email / MJML
liquid
Log retention
43200 min
Throughput ceiling (emails/hr)
Multi-domain sending
Yes
Data residency
eu

Deliverability

Shared pool quality
2
IP warmup
Partial
DKIM/DMARC friction
3
BIMI
Partial
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
$1.8 /1k
Free tier (emails/mo)
9,000 emails/mo
Dedicated IP (/mo)
$40 /mo
Pricing model
volume-tiers

Agentic

MCP server
Unknown
llms.txt docs
No

Traction

Funding
series-b+

Positioning

Positioning
"All your marketing in one place." A CRM suite that also sends transactional mail; the API is real but it is not the product.

Timeline

GA year
2012
MailgunLong-running transactional API with strong routing and inbound handling.59.7

Features

Time to first send
30 min
Product scope
transactional-first
Inbound parsing
Yes
Event webhooks
deliveredopenedclickedbounced+4
Hosted templates
visual-editor
React Email / MJML
handlebars
Log retention
1440 min
Throughput ceiling (emails/hr)
Multi-domain sending
Partial
Data residency
useu

Deliverability

Shared pool quality
3
IP warmup
Yes
DKIM/DMARC friction
3
BIMI
Partial
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
$1.5 /1k
Free tier (emails/mo)
3,000 emails/mo
Dedicated IP (/mo)
$59 /mo
Pricing model
volume-tiers

Agentic

MCP server
Unknown
llms.txt docs
No

Traction

Funding
subsidiary

Positioning

Positioning
"Email API for developers." Was the developer-first option a decade before that was a category; the deliverability add-ons are where the real pricing lives.

Timeline

GA year
2010
MailtrapEmail testing sandbox that grew a production sending product.58.0

Features

Time to first send
120 min
Product scope
transactional-first
Inbound parsing
No
Event webhooks
deliveredopenedclickedbounced+2
Hosted templates
visual-editor
React Email / MJML
handlebars
Log retention
43200 min
Throughput ceiling (emails/hr)
Multi-domain sending
Unknown
Data residency
useu

Deliverability

Shared pool quality
3
IP warmup
Unknown
DKIM/DMARC friction
2
BIMI
Partial
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
$1.5 /1k
Free tier (emails/mo)
1,000 emails/mo
Dedicated IP (/mo)
Pricing model
volume-tiers

Agentic

MCP server
Unknown
llms.txt docs
No

Traction

Funding
bootstrapped

Positioning

Positioning
"Email delivery platform" — but the reason people arrive is still the staging sandbox, which remains the best in the category.

Timeline

GA year
2013
Amazon SESThe cheapest way to send email at scale, and the least finished product.56.2

Features

Time to first send
2880 min
Product scope
transactional-only
Inbound parsing
Yes
Event webhooks
deliveredopenedclickedbounced+4
Hosted templates
api-only
React Email / MJML
handlebars
Log retention
0 ms
Throughput ceiling (emails/hr)
50,400 emails/hr
Multi-domain sending
Yes
Data residency
useuauapac+2

Deliverability

Shared pool quality
3
IP warmup
Yes
DKIM/DMARC friction
4
BIMI
Partial
Suppression list
Yes
Bounce handling
Partial

Pricing

Price / 1k emails (/1k)
$0.1 /1k
Free tier (emails/mo)
3,000 emails/mo
Dedicated IP (/mo)
$24.95 /mo
Pricing model
pay-as-you-go

Agentic

MCP server
Partial
llms.txt docs
No

Traction

Funding
subsidiary

Positioning

Positioning
Barely marketed at all — SES is sold as an AWS primitive and the pricing page does the work.

Timeline

GA year
2011
LoopsLifecycle and marketing email for SaaS, priced on contacts rather than sends.54.0

Features

Time to first send
15 min
Product scope
marketing-first
Inbound parsing
No
Event webhooks
deliveredopenedclickedbounced+2
Hosted templates
visual-editor
React Email / MJML
Log retention
Throughput ceiling (emails/hr)
Multi-domain sending
No
Data residency
us

Deliverability

Shared pool quality
4
IP warmup
No
DKIM/DMARC friction
2
BIMI
Unknown
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
Free tier (emails/mo)
Dedicated IP (/mo)
Pricing model
contact-based

Agentic

MCP server
Unknown
llms.txt docs
Yes

Traction

Funding
seed

Positioning

Positioning
"Email for modern SaaS." Sells taste and speed of setup rather than deliverability engineering.

Timeline

GA year
2023
SparkPostHigh-volume sender with deep analytics, now folded into Bird's platform.53.8

Features

Time to first send
2880 min
Product scope
transactional-first
Inbound parsing
Yes
Event webhooks
deliveredopenedclickedbounced+4
Hosted templates
code-editor
React Email / MJML
handlebars
Log retention
14400 min
Throughput ceiling (emails/hr)
Multi-domain sending
Yes
Data residency
useu

Deliverability

Shared pool quality
3
IP warmup
Yes
DKIM/DMARC friction
3
BIMI
Partial
Suppression list
Yes
Bounce handling
Yes

Pricing

Price / 1k emails (/1k)
$0.4 /1k
Free tier (emails/mo)
Dedicated IP (/mo)
Pricing model
volume-tiers

Agentic

MCP server
No
llms.txt docs
No

Traction

Funding
acquired

Positioning

Positioning
"Predictable email delivery at scale." The engineering is real; the product is increasingly a feature of Bird rather than a thing you buy.

Timeline

GA year
2014
PlunkOpen-source email console you self-host on top of your own AWS SES account.45.8

Features

Time to first send
30 min
Product scope
both
Inbound parsing
No
Event webhooks
deliveredopenedclickedbounced+1
Hosted templates
code-editor
React Email / MJML
Log retention
Throughput ceiling (emails/hr)
50,400 emails/hr
Multi-domain sending
Yes
Data residency
useuau

Deliverability

Shared pool quality
3
IP warmup
No
DKIM/DMARC friction
3
BIMI
No
Suppression list
Partial
Bounce handling
Partial

Pricing

Price / 1k emails (/1k)
$1 /1k
Free tier (emails/mo)
Dedicated IP (/mo)
Pricing model
pay-as-you-go

Agentic

MCP server
No
llms.txt docs
No

Traction

Funding
bootstrapped

Positioning

Positioning
"The open-source email platform." Sells ownership: your data, your infrastructure, SES's price.

Timeline

GA year
2023
Scaleway TEMEU-sovereign transactional email from Scaleway, deliberately minimal.39.2

Features

Time to first send
1440 min
Product scope
transactional-only
Inbound parsing
No
Event webhooks
deliveredbouncedcomplained
Hosted templates
none
React Email / MJML
Log retention
Throughput ceiling (emails/hr)
Multi-domain sending
Yes
Data residency
eu

Deliverability

Shared pool quality
3
IP warmup
No
DKIM/DMARC friction
3
BIMI
No
Suppression list
Partial
Bounce handling
Partial

Pricing

Price / 1k emails (/1k)
$0.3 /1k
Free tier (emails/mo)
300 emails/mo
Dedicated IP (/mo)
Pricing model
pay-as-you-go

Agentic

MCP server
Partial
llms.txt docs
Partial

Traction

Funding
subsidiary

Positioning

Positioning
"Sovereign European cloud." The pitch is jurisdiction, not features — and the feature set reflects that honestly.

Timeline

GA year
2023
yespartialnounknown◆ measured · ▸ vendor-claimed · ▪ community · · inferredExpand a row for the source and date behind every cell.
Email sending API providers compared pricing, compared line by line

Which email sending API is best for developers?

Every vendor on this page can put an SMTP envelope on the wire. The differences that matter are how long it takes to be allowed to, whose reputation you inherit while you do it, and what you pay once volume stops being a rounding error. Those three questions map almost perfectly onto three different products. If you are shipping this week, Resend is the default and it is not close. The API is small, the Node SDK takes a React element directly, the DNS records are pre-generated with live verification, and there is no human in the approval loop. AhaSend and Plunk are cheaper per message and Loops is nicer for lifecycle email, but Resend has the deepest documentation and the largest body of people who have already hit your problem. The cost of that convenience is $0.40 per thousand — four times Amazon SES.

If deliverability is the product, Postmark. It is the only provider here that has been consistently willing to lose customers to protect its shared pool, and the difference shows up in inbox placement on cold domains. You pay $1.50 per thousand for that discipline, roughly fifteen times SES, and you accept an approval step measured in hours rather than minutes. That trade is correct for password resets and receipts, and wrong for a newsletter.

If you are sending at real volume, SES wins on price by an order of magnitude and will keep winning. The catch is that SES is not a product, it is a primitive: no message log, no template editor worth the name, event delivery via SNS or EventBridge that you wire yourself, and a sandbox exit that goes through AWS Support and is routinely rejected on the first attempt. Budget days, not minutes, and budget an engineer to build the observability layer the other twelve give you free. Plunk is the interesting middle — an open-source console over your own SES account, which is the cheapest honest way to get a UI on top of the cheapest sender.

The rest sort themselves out. SendGrid and Mailgun are the incumbents; both are competent, both belong to larger messaging companies (Twilio, Sinch), and both carry shared pools large enough that your reputation is partly other people's problem. SparkPost has effectively been absorbed into Bird and self-serve access has been quietly shrinking. Brevo and MailerSend are priced for marketing volume rather than developer ergonomics. Mailtrap is a testing tool that grew a sending product, and it is still the best of the group at the testing half. Scaleway TEM is the only European-owned option here with a genuinely simple API, and it deliberately does not track opens — which is either the feature or the dealbreaker, depending on your legal team.

One thing no vendor page will tell you: for Australian teams there is no email API with local data residency except Amazon SES in ap-southeast-2 and whatever you self-host. Everyone else processes and stores your message content in the US or the EU. If that matters, the shortlist is two items long.

Where the pricing pages hide the money

List price per thousand is the least useful number on a pricing page. Three things move the real bill.

Contact-based billing. Loops and Brevo price partly or wholly on how many contacts you store, not how many messages you send. That is cheap for a weekly newsletter to a stable list and expensive for a product that stores every signup forever. If your contact count grows faster than your send volume, per-message providers win even at a higher headline rate.

Retention as an upsell. SendGrid's activity feed keeps three days unless you buy Email Activity History; Mailgun's cheapest tier keeps one. When a customer says "I never got the receipt" about something eleven days ago, retention is the entire product. Postmark's forty-five days is the outlier here and it is worth real money.

The dedicated IP trap. A dedicated IP is $25 to $60 a month, which looks trivial, and it is the most common way to make deliverability worse. Below roughly 100,000 messages a month a fresh IP never accumulates enough reputation signal, and you have voluntarily left a pool someone else was policing for you. Buy one when a mailbox provider tells you to, not when the pricing page suggests it.

And the free tiers keep shrinking. Amazon's always-free 62,000 messages a month from EC2 is gone, replaced by a twelve-month allowance. MailerSend's free plan came down to 3,000. Do not architect around a free tier.

Migrating between providers without torching your reputation

The API surface is the easy part. Every provider here takes a JSON body with from, to, subject and html, so the send call is an afternoon behind a thin interface — and writing that interface on day one is the highest-return decision in this category.

Three things do not migrate. Your suppression list is the first: it lives in the old provider and it is the only record of who has already bounced or complained. Export it before you cancel and import it on the other side before your first send, or you will re-mail known bad addresses and start your new reputation at the bottom.

The second is IP and domain reputation. Reputation attaches to the sending IP and the sending domain together. Moving providers means new IPs, so ramp: a few percent of volume for the first few days, biased towards your most engaged recipients, watching complaint rates rather than delivery rates. A hard cutover on a large list is how a good domain gets filtered.

The third is your DNS. DKIM keys are provider-specific and the custom return-path record points at the provider's infrastructure. You can run both providers in parallel — multiple DKIM selectors coexist happily — which is the correct way to do this. Keep the old provider live and paid for a fortnight after the switch. It costs one month's fee and it is the only rollback you have.

How to actually decide

Answer four questions in order and the shortlist collapses.

What are you sending? Password resets and receipts are a deliverability problem, so weight shared pool quality and retention: Postmark, then Resend. Newsletters and lifecycle mail are a tooling problem, so weight templates and audience management: Loops, Brevo, or Resend Broadcasts. If it is both, buy two products and keep the streams on separate subdomains — mixing marketing and transactional mail on one sending domain is the most common self-inflicted deliverability wound in this category.

How much? Under 50,000 a month, price is noise; optimise for the hours you save. Over about two million, SES's order-of-magnitude advantage is real enough to justify building the missing observability, and Plunk or a self-built console is a reasonable way to get it back.

Where does the data have to live? This eliminates faster than anything else. EU-only means Scaleway TEM or Brevo. Australian residency means SES in Sydney or self-hosting. Everything else is a US company with an EU region.

When do you need to be live? If the answer is today, that alone rules out SES, and it is the reason so many teams that should be on SES are not. The right pattern is often to ship on Resend, put the send call behind your own interface, and re-evaluate at the volume where the price gap stops being theoretical.

What is email sending api providers compared?

Email sending API providers compared

On toolweight, Email sending API providers compared means the 13 tools benchmarked on this page — Resend, Postmark, Amazon SES, SendGrid, Mailgun, Loops, Brevo, MailerSend, SparkPost, AhaSend, Plunk, Scaleway TEM, Mailtrap — judged on the same 25 fields, from the same sources, on the same date. The question it exists to answer: Which email sending API is best for developers?

How does toolweight compare these?

Prices are the cheapest paid self-serve tier, converted to USD per thousand emails, ignoring annual discounts and contact-based add-ons. Free tiers are permanent free plans, not trials. Feature cells were written from vendor documentation where the fact is documented and marked vendor-claimed; judgement calls — shared pool quality, DKIM friction, IP warmup depth — are scored 1–5 and marked inferred, with the ladder defined in each column's help text. Blank cells mean we do not know, and we would rather say so than publish a plausible number.

Time-to-first-send is currently inferred or community-reported on every row, and that is the honest state of it. The definition we are measuring against is precise: wall-clock time from starting signup on a clean account, with a clean domain, to a message landing in a Gmail inbox that is not a verified address on the account. That last clause is the whole point — it excludes sandbox echo, so Amazon SES cannot pass by mailing itself. It includes any manual review, compliance hold or support ticket, and it excludes DNS propagation beyond ten minutes so that a slow registrar is not scored against the provider. From the next verification pass toolweight runs this properly: a fresh company entity, a fresh domain per provider, a scripted signup, receiving mailboxes we control on Gmail, Outlook and Fastmail, and a timestamp taken from the receiving server's Received header rather than the vendor's dashboard. Rows move to measured as each run completes, and rejected sandbox requests will be reported as a distribution rather than a median, because the tail is the story.

Full methodology and sourcing policy →

Frequently asked questions

What is the fastest email API to get sending with?

Resend, AhaSend and Loops all put a real message in an external inbox roughly ten to fifteen minutes after signup, because there is no human approval step — you verify DNS and you are live. Amazon SES is the slow end: the sandbox exit request goes through AWS Support, is frequently rejected the first time, and realistically costs one to five days.

Is Amazon SES actually cheaper than Resend or Postmark?

Per message, dramatically: $0.10 per thousand against Resend's $0.40 and Postmark's $1.50. That gap only holds if you value your own time at zero. SES gives you no message log, no template UI and no hosted event pipeline, so you build a dashboard, a suppression view and an SNS consumer. Below roughly two million messages a month the saving rarely covers the engineering.

Do I need a dedicated IP for transactional email?

Almost certainly not. Dedicated IPs need sustained volume — Postmark wants around 300,000 a month before it will sell you one — because a cold IP with low traffic warms badly and looks worse than a well-policed shared pool. Below that threshold, a provider that actually polices its shared pool beats an under-warmed dedicated IP every time.

Which email API works with React Email?

React Email renders to HTML, so it technically works with any provider. Only Resend integrates it first-party: React Email is a Resend project and the Node SDK accepts a React element as the message body. Everywhere else you call render() yourself and post the resulting HTML, which is about four lines of glue and no real obstacle.

Which providers offer EU or Australian data residency?

EU residency is common: Scaleway TEM and Brevo are EU-only, and Resend, SendGrid, Mailgun, SparkPost, MailerSend and Mailtrap offer an EU region, sometimes as a paid add-on. Australian residency is close to nonexistent — Amazon SES in ap-southeast-2 is the only managed option, and otherwise you self-host something like Plunk on local infrastructure.

Why did my provider suspend my account after the first send?

Almost always compliance automation, not deliverability. New accounts sending to a list the provider has never seen trip fraud heuristics, especially on free tiers at SendGrid and Brevo. Send a small warm batch to engaged recipients first, keep initial volume under a few hundred a day, and have DKIM, SPF and a DMARC record in place before the first campaign.

How is time-to-first-send measured on this page?

Wall-clock from starting signup to a message arriving in a Gmail inbox that is not a verified address on the account, including any manual review queue and excluding DNS propagation beyond ten minutes. The external-inbox clause is deliberate: it stops a provider passing by mailing an address it already trusts, which is exactly what an SES sandbox account can do.