Cloudflare Email Service vs Amazon SES
Routing bundled with Workers at the edge against raw scale priced per thousand.
What matters for early-stage startups
At an early stage the deciding factors are what the free tier actually covers, what the first paid invoice looks like, and how much of a founding engineer's week the setup costs. Feature depth that only matters at a million sends a month is noise until it is not.
| Priority | Cloudflare Email Service | Amazon SES |
|---|---|---|
| Free tier | Email Routing free; Email Workers on Workers Free plan | Up to $200 in AWS Free Tier credits for new accounts |
| Best published rate per 1,000 | Tiers not published in comparable form | $0.10 |
| Starts at | Sending: $0.35 per 1,000 messages (Workers Paid required, $5/mo) | $0.10 per 1,000 emails |
| DX score | 8/10 | 4/10 |
| Deliverability | Free Email Routing forwards reliably and inherits Cloudflare's operational maturity. The new Sending API has no track record; treat any deliverability claim as unverified until public history appears. | Inherits AWS IP reputation. Generally good once warmed and configured, but the sender does the warming and complaint handling. |
| Operating since | Not published | 2011 |
| Scheduling | No | No |
| SDKs | node | node, python, go, ruby, php, java, rust, dotnet |
| Webhooks | No | No |
For a pre-revenue or early-revenue team running a waitlist, a launch announcement, onboarding email, and the first transactional sends, the split is even: Cloudflare Email Service takes developer experience, Amazon SES takes SDK breadth. Neither pulls ahead on this audience's priorities. On free tier, Cloudflare Email Service offers Email Routing free; Email Workers on Workers Free plan against Up to $200 in AWS Free Tier credits for new accounts from Amazon SES. That ordering reflects this audience. Weigh the same table differently and the answer changes.
Side by side
| Feature | Cloudflare Email Service | Amazon SES |
|---|---|---|
| Free tier | Email Routing free; Email Workers on Workers Free plan | Up to $200 in AWS Free Tier credits for new accounts |
| Starts at | Sending: $0.35 per 1,000 messages (Workers Paid required, $5/mo) | $0.10 per 1,000 emails |
| DX score | 8/10 | 4/10 |
| Deliverability | Free Email Routing forwards reliably and inherits Cloudflare's operational maturity. The new Sending API has no track record; treat any deliverability claim as unverified until public history appears. | Inherits AWS IP reputation. Generally good once warmed and configured, but the sender does the warming and complaint handling. |
| SDKs | node | node, python, go, ruby, php, java, rust, dotnet |
| Webhooks | No | No |
| Tagline | Free routing, programmable inbound via Workers, sending in beta. | Cheapest at scale, most setup work. |
| Pricing model | pay-as-you-go | pay-as-you-go |
| API | Yes | Yes |
| SMTP | No | Yes |
| Templates | none | basic |
| React Email | No | No |
| Inbound | Yes | Yes |
| Multi-tenant | Yes | No |
| Idempotency | No | No |
| Dedicated IP | No | Yes |
| Best for | Domains already on Cloudflare that want free routing, programmable inbound, and a cheap sending API in one place. | High-volume senders with AWS infrastructure, cost-optimized workloads, and teams comfortable wiring SNS/Lambda/EventBridge for events. |
Cloudflare Email Service
- ›Email Routing is free, including catch-all addresses and forwarding to any inbox
- ›Email Workers let you process inbound email in TypeScript with no extra infrastructure
- ›Sending priced at $0.35 per 1,000 (about a third of most managed providers)
- ›Native fit when DNS, Workers, and KV/D1 already live on Cloudflare
- ›No separate API keys; auth is via Cloudflare API tokens
- ›Email Sending is in public beta; no deliverability history yet
- ›No SMTP relay; everything routes through Workers or the REST API
- ›Templates and event-log debugging are minimal compared to Postmark or Mailgun
- ›Tightly coupled to the Cloudflare ecosystem; not portable
- ›Best-of-breed providers will outpace it on pure sending features for some time
Amazon SES
- ›Cheapest cost per email, by a large margin at scale
- ›Built for billions: handles the largest sender workloads in the world
- ›Multi-region (us-east-1, us-west-2, eu-west-1, ap-south-1, and more) with regional reputation pools
- ›Native integration with Lambda, SNS, SQS, EventBridge, and CloudWatch
- ›Dedicated IPs and managed dedicated IP pools
- ›VPC endpoints for sending from private networks
- ›Inbound receiving with S3 and Lambda for fully serverless email pipelines
- ›SDKs in every language AWS supports, from Rust to .NET
- ›IAM-based authentication; no separate API keys to manage
- ›Sandbox mode requires manual approval before sending to non-verified recipients
- ›No native webhooks; events route through SNS and you write your own glue
- ›No dashboard for message-level debugging
- ›Bounce and complaint handling is the sender's responsibility
- ›Templates are minimal
- ›Operational overhead is real if you are not already on AWS