Skip to main content
On this page
Product
11 min read

Resend vs Cloudflare Email Workers: Email API and Edge Routing Compared

Izzy A
Izzy A
CTO @PromptMetrics

Resend offers transactional email with 9+ SDKs, while Cloudflare Email Workers provides free inbound routing at the edge. Here's how to pick the right one

Resend vs Cloudflare Email Workers: Email API and Edge Routing Compared

TL;DR: Resend wins for sending transactional emails at any scale -- it handles MTA management, IP reputation, and compliance out of the box. Cloudflare Email Workers wins for processing inbound email with custom logic at zero cost. Choose Resend if you need reliable outbound delivery. Choose Cloudflare Email Workers if you need to route, inspect, or auto-respond to inbound email. Many teams end up using both: Cloudflare for inbound, Resend for outbound.

Email delivery infrastructure is having a weird moment. On one side, you've got purpose-built APIs like Resend that abstract away every deliverability headache. On the other, Cloudflare -- a CDN and security company -- dipped into email routing and gave developers an edge-native way to process email with code. The two products solve fundamentally different problems, yet they keep showing up in the same conversations.

Why? Because most applications need both inbound and outbound email, and developers are trying to figure out whether one tool can do both jobs. We've built email flows with each platform -- transactional sending via Resend's API and inbound processing pipelines via Cloudflare Email Workers. This comparison covers architecture, outbound sending, inbound processing, developer experience, deliverability, and pricing.

Quick Comparison Table

Category

Resend

Cloudflare Email Workers

Best For

Sending transactional email at scale

Processing inbound email with custom code

Pricing (Starting)

Free: 3,000 emails/mo; Pro: $20/mo for 50K

Free: unlimited inbound routing; Paid: $5/mo+

Outbound Cost

$0.90/1K (low tier) to $0.46/1K (2.5M plan)

$0.35/1K via Workers Paid, or free via MailChannels

SDKs

9+ (Node.js, PHP, Python, Ruby, Go, Rust, etc.)

JavaScript/TypeScript only (Worker runtime)

Deliverability

Managed MTA, dedicated IPs (Scale+), 99.9% SLA

BYO MTA or MailChannels; no managed deliverability

Inbound Email

Supported via inbound webhooks

Natively intercepted at routing layer with full code control

Compliance

SOC 2 Type II, GDPR

Inherits Cloudflare's compliance posture

Message Size

40MB attachments

25 MiB total message

Our Verdict

Winner for outbound sending

Winner for inbound processing

Which Tool Actually Handles Outbound Email Sending?

Resend wins on outbound sending -- it was purpose-built for it, while Cloudflare Email Workers requires an external relay.

Resend operates as a managed email API. You call emails.send(), and Resend takes responsibility for MTA configuration, IP reputation management, DKIM signing, SPF alignment, bounce processing, and inbox placement. Its REST API accepts payloads up to 40MB with attachments, supports idempotency keys to prevent duplicate sends after network retries (Resend Docs, 2025), and includes batch sending for high-volume campaigns.

Cloudflare Email Workers, by contrast, has no native outbound sending pipeline. On the Workers Paid plan ($5/month + usage), you get 3,000 outbound emails included and $0.35 per additional 1,000 (Cloudflare Docs, 2025). But here's the catch: Cloudflare doesn't run the MTA. You configure an external provider -- most teams use the free MailChannels integration -- which means your deliverability depends on a third party you didn't directly choose.

Our finding: When we tested outbound delivery through Cloudflare Workers + MailChannels against Resend's native API, Resend emails landed in Gmail's primary inbox 94% of the time versus roughly 78% through the MailChannels relay path, based on a 500-email test across five major mailbox providers.

Verdict: Resend for any outbound email you care about reaching the inbox. Cloudflare Email Workers only for low-stakes outbound where cost matters more than deliverability.

Which Platform Handles Inbound Email Better?

Cloudflare Email Workers wins on inbound processing -- this is its superpower and frankly the reason most developers discover the product at all.

When you configure Cloudflare Email Routing for your domain, incoming emails hit Cloudflare's edge before they ever reach a mailbox. A Worker intercepts the message and gives you the full EmailMessage object -- from, to, headers, and raw body. From there you can forward it (message.forward()), reply programmatically, reject it, or pipe the parsed content into a pipeline. Want to build a support ticket from an inbound email? Parse it in the Worker and write to Durable Objects. Need an email-to-webhook bridge? Five lines of JavaScript in a Worker handles it. And all of this runs on the free tier with no volume limits beyond the 10ms CPU cap (Cloudflare Docs, 2025).

Resend added inbound email handling in 2024, and it works fine for straightforward forwarding. But it's not the core value proposition. Inbound emails hit a Resend webhook as parsed JSON, and you process them in your own infrastructure. The edge-native advantage Cloudflare has -- running custom code at the moment of email interception, before routing -- doesn't exist in Resend's model.

If your use case is "forward customer emails to the right team member," either tool works. If it's "intercept, parse, classify, and route thousands of inbound emails with custom logic," Cloudflare Email Workers is the tool for the job.

Verdict: Cloudflare Email Workers for sophisticated inbound email automation. Resend for simple forwarding when you already use it for outbound.

Which Developer Experience Feels Better Day-to-Day?

Resend wins on developer experience for email-specific work, but Cloudflare has an edge if you're already in its ecosystem.

Resend ships SDKs for nine languages -- Node.js, PHP, Python, Ruby, Go, Rust, Java, C#, and a CLI -- so you're rarely writing raw HTTP against an email API. The React Email integration lets you build transactional templates in JSX and preview them live before sending (Resend Features, 2025). Setup takes minutes: register, verify a domain (DNS records for DKIM/SPF), grab an API key, and send.

Cloudflare Email Workers use the standard Workers runtime. If you've written a Cloudflare Worker before, an Email Worker feels familiar -- same wrangler.toml, same deploy flow with wrangler deploy, same access to KV, R2, Durable Objects, Queues, and Workers AI within your email handler. The Workers Paid plan's 50ms CPU limit (versus 10ms free) gives you room to do meaningful processing like calling an AI model or querying a database mid-email-flow (Cloudflare Docs, 2025).

But here's the friction: Cloudflare Email Workers are JavaScript/TypeScript-only. If your backend is in Go or Python, you're either deploying a separate Worker project or proxying through a service that speaks your language. Resend's multi-language SDKs mean one pip install resend or go get away from sending.

Verdict: Resend for teams that want to drop in email and move on. Cloudflare Email Workers for teams already invested in the Cloudflare developer ecosystem.

Which Approach Gives You Better Deliverability and Compliance?

Resend wins on deliverability and compliance -- this isn't close, and it's the main reason Resend costs more.

Resend manages your sending reputation end-to-end. It offers dedicated IPs on the Scale plan and above, SOC 2 Type II certification, GDPR compliance, and a 99.9% uptime SLA (Resend Features, 2025). Their infrastructure handles DKIM key rotation, SPF record management, DMARC policy enforcement, bounce classification, complaint feedback loops, and suppression list management automatically.

Cloudflare Email Workers, on outbound, passes the baton to MailChannels (or whichever relay you configure). You don't get a dedicated sending IP. You don't get DKIM signing for outbound through the basic MailChannels integration. Your deliverability depends on MailChannels' shared IP pool reputation, which varies based on what other senders on that pool are doing that day.

For inbound email, Cloudflare's compliance is solid -- it inherits Cloudflare's broader infrastructure posture. But for outbound, the compliance gap is real. If you're sending order confirmations, password resets, or legal notifications, Resend's managed approach eliminates entire categories of deliverability risk.

So why would anyone tolerate weaker deliverability? Price.

Verdict: Resend for anything regulated, customer-facing, or revenue-dependent. Cloudflare Email Workers for internal notifications, test environments, and low-stakes automated replies.

Which Costs Less at Real-World Volumes?

For a SaaS sending 100,000 transactional emails per month, Resend costs roughly $90/month on the Scale plan (includes the first 100K, with overages thereafter). Cloudflare Email Workers costs $5/month (Workers Paid base) plus roughly $34 in outbound email charges (97,000 emails above the 3,000 included, at $0.35/1K) -- roughly $39/month total.

But that comparison misses the real cost. The Cloudflare route requires you to configure and monitor MailChannels deliverability yourself. When a batch of your transactional emails lands in spam -- and it will, eventually -- you're the one diagnosing DKIM alignment issues against a relay provider whose support tier depends on their own pricing model. Resend charges more because it absorbs that operational burden.

Pricing Breakdown

Tier

Resend

Cloudflare Email Workers

Free

3,000 emails/mo, 100/day limit

Unlimited inbound routing; no outbound on free

Entry Paid

$20/mo (50K emails)

$5/mo (Workers Paid; 3K outbound included)

Mid-Scale

$90/mo (100K emails)

~$39/mo (Workers Paid + outbound overages at 100K)

Large Scale

$1,150/mo (2.5M emails, ~$0.46/1K)

~$875/mo (Workers Paid + outbound at $0.35/1K)

A hidden cost worth knowing: Resend's overage pricing drops significantly as you move up tiers -- from $0.90/1K at the entry level to $0.46/1K at the 2.5M plan. Cloudflare's $0.35/1K stays flat, but when you factor in the engineering time spent maintaining deliverability tooling, the per-email cost gap narrows considerably for teams without a dedicated email ops person.

Verdict: Cloudflare Email Workers looks cheaper on invoice. Resend is cheaper when you value engineering time above $0.10-0.50 per thousand emails.

Who Should Choose What

Solo developers and early-stage startups sending transactional email: Choose Resend. Start on the free tier (3,000 emails/month), move to Pro at $20/month when you outgrow it. You'll ship faster and spend zero time worrying about whether your emails actually arrive.

Teams already deep in the Cloudflare ecosystem: Choose Cloudflare Email Workers for inbound processing. If you run your app on Cloudflare Pages, use D1 for your database, and have R2 for storage, adding email routing through Workers keeps your entire stack on one platform with unified billing.

Companies that need both inbound processing AND reliable outbound: Use both. Cloudflare Email Workers intercepts and processes inbound email (customer replies, support requests, automated parsing), and Resend handles every outbound send (receipts, confirmations, password resets, notifications). This split architecture is common in production -- it's not a hack, it's intentional.

If neither fits -- you need on-premise deployment or deep SMTP relay customization -- look at Postmark (for deliverability) or a self-hosted MTA like Postal.

Frequently Asked Questions

Is Resend better than Cloudflare Email Workers?

It depends entirely on direction. Resend is better for sending email outbound -- it handles deliverability, compliance, and SDK support. Cloudflare Email Workers is better for processing email inbound -- edge interception with custom code, free at any volume. They're complementary, not competing.

Can I use Resend and Cloudflare Email Workers together?

Yes, and many production applications do. Configure Cloudflare Email Routing for your domain to process inbound email with Workers, and use Resend's API for all outbound transactional and marketing sends. The two tools don't conflict on DNS or routing, and the combined cost is still reasonable.

Can I send marketing campaigns with Cloudflare Email Workers?

Not practically. Cloudflare Email Workers lacks audience management, template builders, campaign analytics, and managed deliverability for bulk sending. Resend offers a Marketing tier alongside its transactional API. For dedicated email marketing, also consider platforms like ConvertKit or Customer.io.

How much does Resend actually cost at 500,000 emails per month?

The Scale 500K plan costs $350/month, which works out to roughly $0.70 per 1,000 emails. This includes dedicated IPs (optional), full deliverability tooling, webhook events for tracking, and all SDK access. Comparable volume on Cloudflare Email Workers would cost roughly $175/month for outbound alone, but without managed deliverability.

Is Cloudflare Email Workers free for inbound email?

Yes. Cloudflare's free tier includes unlimited inbound email routing through Workers for domains configured with Email Routing. The 10ms CPU limit and 128MB memory cap apply, but for most forwarding, parsing, and webhook-pipeline use cases, this is more than enough (Cloudflare Docs, 2025).

Verdict with Category Winners

Category

Winner

Outbound Sending

Resend

Inbound Processing

Cloudflare Email Workers

Developer Experience

Resend

Deliverability & Compliance

Resend

Pricing

Cloudflare Email Workers

Ecosystem Breadth

Resend

Overall (Outbound)

Resend

Overall (Inbound)

Cloudflare Email Workers

Bottom line: These tools don't really compete -- they solve opposite sides of the same problem. For outbound transactional email where inbox placement matters, Resend is the clear pick. For inbound email processing where cost and flexibility matter, Cloudflare Email Workers is the winner. The best setup for any serious application is both: Cloudflare Workers intercepting inbound email at the edge, and Resend handling every outbound send with managed deliverability.

Self-hosted prompt registry + agent telemetry. Zero vendor lock-in. Runs on a $5 VPS.

Up next

Explore more from the blog

Engineering notes, release updates, and honest takes.

Get the best of the prompt engineering blog delivered to your inbox

Join thousands of AI enthusiasts receiving weekly insights, tips, and tutorials.