Head to head

Email Bump vs Postmark

Postmark meters emails and charges $1.80 per extra thousand on its entry plan. We meter contacts and don't charge per email at all. That single difference decides most of this comparison.

Fourteen rows below, including the four where Postmark is the better buy. Those are written first, because a comparison page that never concedes anything isn't a comparison.

14 rows Checked 2 August 2026
The short version

Which one you want, in three sentences

Stay on Postmark if your sending is purely transactional, the volume is steady, and what you're buying is deliverability plus a support team that knows what a soft bounce means. Nothing here beats them at that.

Pick Email Bump if the per-1,000 rate is now a line item someone asks about, or if broadcast streams stopped being enough and you were about to buy a second tool for segments and lifecycle flows.

Pick neither if you need European data residency. Postmark says it has no plans to add EU servers and we send from us-east-1; the alternatives page names the European providers.

Line by line

Fourteen differences that matter

Postmark's column comes from their published pricing, API reference and EU privacy page on 2 August 2026.

 
Postmark
Email Bump
Pricing model
Priced on emails, with a per-1,000 rate past your allowance: $1.80 on Basic, $1.30 on Pro, $1.20 on Platform.
Priced on contacts. No per-email rate at all — sending is uncapped under fair use.
Free plan
100 emails a month. An evaluation allowance rather than a plan.
5,000 contacts and 5,000 emails a month, unlimited domains and seats. Marketing footers carry a 'Powered by Email Bump' badge.
Marketing email
Broadcast streams — 15 on Basic, 30 on Pro, unlimited on Platform. No segment builder.
Campaigns, live segments and the editor, on the same plan as the API.
Behavioural automation
None. Streams send; they don't branch on what someone did.
Flows with triggers, waits and branches, driven by tracked product events.
Message log retention
45 days by default, configurable up to 365 days on Pro and Platform.
Not tiered by plan — the free plan sees the same history as the top one.
Sending domains
5 on Basic, 10 on Pro, unlimited on Platform.
Unlimited on every plan, including free.
API shape
PascalCase body with X-Postmark-Server-Token. Cc, Bcc, Tag, Metadata and MessageStream on the send.
snake_case body with a bearer token. One recipient per call, no Cc/Bcc or tags — use SMTP for real Cc/Bcc.
SMTP
Yes, with the server token as the credential.
Yes, same key as the API, and the sends land in the same log.
Inbound email
Inbound processing on Pro and above.
Included on every plan — messages, attachments and forwarding, over API or CLI.
Dedicated IP
From $50/mo per IP, on Pro and above.
Add-on, provisioned once volume justifies it.
Data region
United States. Their EU privacy page says there are no plans to add EU servers.
United States, on Amazon SES. No EU region either.
Ownership
Part of ActiveCampaign since May 2022, acquired from Wildbit.
Independent.
Agent surface
REST API and client libraries.
CLI, an MCP server with 29 tools, and agent skills. An agent can create the account, verify the address and send, with no browser at any point.
Track record
The longest and best-documented deliverability history in the category.
Newer, with less public history behind the claim.
Against us

Four places Postmark is the better choice

Deliverability history and support. This is the whole reason Postmark has the reputation it has, and it isn't something a newer platform can assert its way past. If a receipt arriving late becomes a support ticket for you, their record is worth paying the per-1,000 rate for.

Retention you can point at in an audit. 45 days by default and up to 365 on Pro and Platform, stated on the pricing page. We don't tier retention by plan, but we also don't publish a guarantee — and in a compliance review a published number beats a reassuring one.

Message streams. Explicitly separating transactional and broadcast reputation on the send is a clean primitive, and some teams want that control at the API rather than inferred from which product sent the message.

Cc, Bcc, Tag and Metadata. Their send API has all four. Ours takes one recipient and no tags. If you group sends by tag or rely on Cc in a workflow, that's real work you'd have to redesign rather than port — and for some teams that alone settles it.

Migration

The code change is a rename

PascalCase to snake_case, and a custom header to a bearer token. Boring, but it isn't zero — so here's exactly what changes.

Beforeapi.postmarkapp.com
// Postmark
await fetch("https://api.postmarkapp.com/email", {
  method: "POST",
  headers: {
    "X-Postmark-Server-Token": process.env.POSTMARK_TOKEN,
    "Content-Type": "application/json",
    Accept: "application/json",
  },
  body: JSON.stringify({
    From: "orders@acme.com",
    To: "jamie@example.com",
    Subject: "Your order has shipped",
    HtmlBody: "<h1>On the way</h1>",
    TextBody: "On the way",
    MessageStream: "outbound",
  }),
})
Afteremailbump.com
// Email Bump
await fetch("https://emailbump.com/api/v1/emails", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.EMAILBUMP_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    from: "Acme <orders@acme.com>",
    to: "jamie@example.com",
    subject: "Your order has shipped",
    html: "<h1>On the way</h1>",
    text: "On the way",
  }),
})
  • The auth header changes: X-Postmark-Server-Token becomes a standard Authorization: Bearer.
  • Field names go from PascalCase to snake_case — From → from, HtmlBody → html, TextBody → text, ReplyTo → reply_to.
  • MessageStream has no equivalent. Marketing email lives in campaigns and flows, which carry their own unsubscribe footer automatically.
  • Cc and Bcc aren't on the API — one recipient per call. Send real Cc/Bcc over SMTP with the same key.
  • Tag and Metadata have no direct equivalent on the send. If you group sends by tag today, that grouping doesn't survive the move.
The reason most people move

What happens after the broadcast stream isn't enough

The usual path off Postmark isn't a pricing spreadsheet. It's a product manager asking for an onboarding sequence that skips people who already activated, and nobody being able to build it. Streams send a message to a list. They don't hold a segment that updates itself, or branch on whether someone finished setup.

So you buy a second tool. Now the customer record lives in two places, unsubscribes are only honoured in one of them, and the transactional log and the campaign report can't be compared. Every part of that is fixable and none of it is fun.

Here, product events, contacts, segments, campaigns, flows and the transactional API are one system on one bill. Track an event, build a segment from it, and start a flow — the same contact that got the receipt is the one the sequence targets.

FAQ

Email Bump vs Postmark, asked and answered

Is Email Bump cheaper than Postmark?

It depends entirely on volume per contact. Postmark charges $1.80 per extra 1,000 emails on Basic; we don't charge per email at all, because contacts are what's metered. A product with 25,000 contacts sending heavily is $29/mo here regardless of send volume, under fair use.

If you have very few contacts and very high volume per contact — one transactional address blasting a lot of mail — Postmark's model may well be cheaper, and Amazon SES at $0.16 per 1,000 is cheaper than both.

What does Postmark do better?

Deliverability history and support, which is most of why people are there. Retention that goes to 365 days on Pro and Platform, against no published tiering here. Message streams as a first-class way to keep transactional and broadcast reputation apart.

And their API has things ours doesn't: Cc, Bcc, Tag and Metadata on the send. If you group and query sends by tag today, that doesn't survive the move.

How do I migrate from Postmark to Email Bump?

Rename the fields and swap the auth header. From becomes from, HtmlBody becomes html, TextBody becomes text, ReplyTo becomes reply_to, and X-Postmark-Server-Token becomes a standard Authorization: Bearer header. MessageStream has no equivalent — marketing lives in campaigns and flows instead.

Then re-verify your sending domains with the DKIM records we return, import your suppression list before the first send, and repoint webhooks at the new signing secret. An afternoon of work, plus DNS propagation.

Does Email Bump have message streams?

Not as a concept on the send. The separation happens at the product level instead: transactional sends go through the API and never carry a marketing footer, while campaigns and flows carry unsubscribe handling automatically and are reported on separately.

You get the reputation separation streams were giving you; you just don't pass a field to get it.

Does either of you have an EU region?

No. Postmark states on its EU privacy page that it has no plans to add servers in the EU and relies on Standard Contractual Clauses. Email Bump sends from Amazon SES in us-east-1.

If EU residency is a hard requirement, look at AhaSend, Scaleway TEM or Mailgun's EU region. The Postmark alternatives page covers each.

Try it against your own traffic

Point one endpoint at us and compare

5,000 contacts and 5,000 emails free. Send your lowest-stakes traffic through both for a week and let the delivery numbers decide.