Unitpost

Unitpost vs Resend

Resend is a developer-first transactional email API, known for the cleanest DX in the category and for React Email. Unitpost covers transactional and marketing email in one product with unlimited contacts on paid plans and a free tier of 3,000 emails a month. Across 14 compared capabilities, Unitpost leads on 9 and Resend leads on 2.

Which should you choose?

Choose Resend if

  • You need an SDK we don't ship yet — Go, PHP, Elixir, or Rust
  • You only ever send transactional email and want the most battle-tested option in that lane
  • You want the largest community and the most third-party tutorials to lean on

Choose Unitpost if

  • You send both transactional and marketing email and don't want to pay on two axes or reconcile two contact lists
  • You want unlimited contacts instead of contact-count pricing on the marketing side
  • Non-developers on your team need to edit templates without touching code — but you still want code mode for the same document
  • You want inbound email, an SMTP relay, and an MCP server for AI agents in the same product

What Resend does well

Stated plainly, because a comparison that pretends otherwise is not worth reading.

  • The API shape and error semantics that set the modern standard — we deliberately match them
  • React Email is the de-facto way to build email in React, and Resend maintains it
  • A permanent free tier at the same 3,000 emails/month we offer
  • Broad SDK coverage, including Go, PHP, and Elixir, which we do not have yet

Pricing and free tier

Unitpost
3,000 emails/month free, 100/day, no credit card
On paid plans your monthly price is a sending allowance you spend at your tier's rate, and it refreshes every month. Marketing and unlimited contacts are included rather than billed as add-ons.
Resend
3,000 emails/month
Transactional priced per volume, with Marketing (audiences + broadcasts) billed separately by contact count — so a team doing both pays on two axes.

Resend pricing and free-tier details last verified 2026-07. Providers change these often — check their pricing page before making a decision.

Feature comparison

Feature and pricing comparison between Unitpost and Resend
CapabilityUnitpostResend
Marketing emailIncluded on every paid plan — contacts, segments, topics, campaigns, unlimited contactsA separate Marketing product priced by contact count on top of transactional volume
Contact pricingUnlimited contacts on paid plansMarketing plans priced by number of contacts stored
Visual template editorDrag-and-drop builder and code mode over one document, round-tripped through the same schemaCode-first (React Email); no drag-and-drop builder
SDK languagesNode.js, Python, RubyNode, Python, Ruby, Go, PHP, Elixir, and more
Ecosystem maturityNew — fewer tutorials, integrations, and community answersIn production since 2023 with a large community and many integrations
API rate limit10 requests/second per workspace5 requests/second per team
Idempotency keysIdempotency-Key on sends, 24-hour dedupe windowSupported — 24h window, the behaviour we matched
Inbound emailReceiving on verified domains with a read API for messages and attachmentsNot offered
SMTP relaysmtp.unitpost.com, API key as password, STARTTLS and implicit TLSOffered
MCP server for AI agentsHosted MCP server, one tool per API operation, scoped by API keyNot offered
Idempotency keys on sendIdempotency-Key on sends, 24-hour dedupe window
Webhook secret rotation without dropped deliveriessvix-compatible HMAC-SHA256 with a 24-hour dual-signing rotation graceRotation replaces the secret immediately
Hybrid template editingVisual drag-and-drop and React/TSX code mode over one shared document — the same @unitpost/email library renders bothVaries
One-key import from ResendMigration Assistant moves contacts, segments, topics, templates, domains, suppressions, and webhooks in about 4 minutes with a read-only keyn/a

How do I migrate from Resend?

Paste a read-only Resend API key into the Migration Assistant and it previews everything that would carry over — contacts, segments, topics, templates, domains, suppressions, and webhooks. Nothing is written until you accept, and Resend keeps sending the whole time, so there is no downtime. It takes about four minutes.

Two things do not carry over: sending domains must re-verify with freshly generated DKIM keys, and webhook signing secrets are regenerated. Dynamic segments import as a static snapshot of their members.

See how migration works

Frequently asked questions

Is Unitpost a drop-in replacement for Resend?

Close, but verify before you switch. We deliberately match Resend's API conventions — Bearer keys, snake_case fields, prefixed object IDs, cursor pagination, the Idempotency-Key header, and an embedded display name in the from field — because they set the standard. The Migration Assistant moves contacts, segments, topics, templates, domains, suppressions, and webhooks with a read-only key. Domains must re-verify with fresh DKIM keys, and webhook signing secrets are regenerated.

Why would I leave Resend?

Almost always because you started sending marketing email too. Resend prices Marketing separately by contact count, so a team doing both transactional and campaigns pays on two axes and maintains two mental models of who their contacts are. Unitpost includes marketing on every paid plan with unlimited contacts, so one bill and one contact list cover both.

Is Resend still the better choice for some teams?

Yes. If you need a Go, PHP, or Elixir SDK, Resend ships those and we don't. If you only send transactional email, their focus is an advantage rather than a limitation. And their ecosystem is far larger — more tutorials, more integrations, more community answers when you get stuck.

Do you support React Email?

We ship our own component library, @unitpost/email, which works standalone on npm with no account. It is the same library that powers both our visual builder and our code mode, so a template edited by a designer in the builder and a template written in TSX are the same document. If your templates are already in React Email, they are ordinary React components and the migration is mostly mechanical, but it is not a zero-effort import.

Switching from Resend?

Try it on the free tier first

3,000 emails a month, no credit card. Verify a domain, send a test, and preview the migration before you move anything.