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
List price per thousand is the least useful number on a pricing page. Three things move the real bill.
Price is one group of 4 fields out of 25. Everything else — features, limits, portability, how well any of it works for agents — is on the full email sending api providers compared comparison.
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.
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.
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.
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.
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.
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.
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.