Flowmails vs Resend
Developer-first SaaS transactional email. This page is a side-by-side on the parts that matter when you're considering a switch — data residency, pricing, and the parts of each stack that show up in a real migration.
At a glance
Three sentence compare.
Pricing shape
Resend's free tier caps at 100 emails/day and 3,000 / month; paid plans start at $20 / month for 50,000 emails. Flowmails' Base plan is $0 forever; Pro is $9.9 / month regardless of volume (Cloudflare's own usage is billed by Cloudflare directly).
Setup shape
Resend is a hosted API — sign up, verify your domain via DNS, call the API. Flowmails deploys a Worker into your Cloudflare account and provisions the D1 + R2 in your name; no separate billing relationship.
Best fit
Resend: zero-ops teams who want the fastest possible first-send. Flowmails: teams that need data residency, predictable cost, and a self-hosted control plane they can audit.
Feature matrix
Resend vs Flowmails, line by line.
| Feature | Resend | Flowmails |
|---|---|---|
| Data residency | Resend multi-tenant database | Your D1 in your Cloudflare account |
| Inbound webhook | Yes | Yes |
| Self-hosted runtime | No | Yes — Worker in your account |
| Custom-domain setup | DNS only | Cloudflare Email Routing auto-configured |
| Per-email pricing | Yes (above plan cap) | No (Cloudflare bills usage directly) |
| Audit / export | API only | Direct D1 SQL dump |
Integration parity
SDK and runtime compatibility.
Both expose a Node SDK and a REST API. Resend's SDK runs in any runtime; Flowmails' SDK is the same shape and additionally targets Cloudflare Workers, Bun, and Deno out of the box.
Migrating
How to switch from Resend to Flowmails.
Move DNS to Cloudflare (or keep it there)
If your domain is already on Cloudflare, skip this step. Otherwise add the zone to Cloudflare — Flowmails relies on Email Routing and Email Services, which require an active Cloudflare zone.
Connect Flowmails with a scoped API token
Flowmails provisions the receive Worker, the D1 database, and the R2 bucket using a Cloudflare API token you mint. The token's permission list is documented in the Cloudflare API token permissions post.
Swap the sending path
Replace `Resend` SDK calls with the Flowmails SDK, point it at the new API key, and ship templates as plain HTML / text — Resend's templates are not locked to its own renderer.
Other comparisons