# Bird vs Postmark for transactional email

Bird operates the [email sending infrastructure](/docs/guides/deliverability), manages IP reputation and builds its own delivery tools. Choose Bird when you want the team running your sending network to handle delivery feedback, with email, SMS and voice in one API.

[Start for Free](/dashboard/signup?returnTo=%2Fdashboard%2Fw%2Femail)

[Contact sales](/demo?product=migrate-postmark)

## Set up with your agent

[Read the agent setup guide](/docs/ai/set-up-your-agent)

Copy this prompt into your coding agent:

```text
Bird connects customer communications, data and automation. Help me build with Bird using my coding agent.
1. Read https://bird.com/docs/ai/set-up-your-agent.md and follow its setup workflow for this client. Use an existing connected Bird MCP server or signed-in CLI when available.
2. Read the product guide for the task I want to complete and inspect my existing integration. Identify the workspace, available operations and required setup.
3. Help me complete a first example for the product and destination I choose. Follow the operation through to its actual result, explain any uncertainty, and help me choose the next step.

First task: Compare the documented sending workflows and prepare a small migration test, including domains, templates and delivery events. Keep the current provider running until I approve a cutover.

Use this Bird page as the starting context: https://bird.com/email-api/compare/bird-vs-postmark
Read its Markdown alternative and linked guides. Keep the first example relevant to this page and the customer outcome I choose. Preserve the supplied campaign context when following Bird signup or sales links.
```

[Read customer stories](/customers)

[Explore Enterprise](/enterprise)

- [Airwallex](/customers/airwallex)
- [Glovo](/customers/glovo)
- [Zillow](/customers/zillow)
- Uber
- [Binance](/customers/binance)
- Adobe
- Meta
- PayPal
- Pinterest
- Square
- [Al Jazeera](/customers/aljazeera)
- [Aramex](/customers/aramex)
- [Bazaar Technologies](/customers/bazaar)
- [ComparaOnline](/customers/compara)
- [Emma](/customers/emma)

- By the numbers: Bird
- Bird network: [About 40% of commercial email](/email-api)
- Stored message bodies: [Up to 30 days, with storage enabled](/docs/api/reference/get-email-message-content)

## Who controls the sending stack?

### Postmark: streams and managed delivery

- Postmark’s [Message Streams](https://postmarkapp.com/message-streams) separate transactional and broadcast traffic, including their IP ranges. Keep Postmark when that built-in separation is central to your application.
- Postmark [monitors and optimizes dedicated-IP performance](https://postmarkapp.com/dedicated-ips), handles feedback-loop registrations and offers managed warm-up with shared-pool overflow. Its team monitors receiver responses during warm-up.
- Postmark’s [inbound webhook](https://postmarkapp.com/developer/webhooks/inbound-webhook) delivers parsed message content and attachments to your application. Its [45-day default content retention](https://postmarkapp.com/email-analytics) gives support teams a longer inspection window than Bird’s [up-to-30-day stored bodies, available when content storage is enabled](/docs/api/reference/get-email-message-content).

### Bird: infrastructure and reputation

- Bird operates its [sending infrastructure](/docs/guides/deliverability) and develops MTA software, including [PowerMTA, which Bird also licenses for self-hosted sending](/pricing/connectivity/powermta). Bird’s [SparkPost sending network carries about 40% of the world’s commercial email](/email-api/features/sparkpost).
- Bird manages its [shared sending IPs, dedicated IPs and pools](/docs/guides/email/dedicated-ips-and-pools), with automatic warm-up and shared-pool overflow. Bird’s delivery technology [adjusts traffic per mailbox provider](/email-api/features/momentum), while its platform [processes delivery feedback](/docs/guides/deliverability) and [acts on bounce and complaint signals](/email-api/features/deliverability). These are controls Bird operates within its sending stack.
- Bird provides [Inbox Insights for placement estimates and seed tests](/email-api/features/inbox-insights), [Email analytics for your own sending results](/email-api/features/analytics), and [Competitive Insights for observed competitor campaigns](/email-api/features/competitive-insights). [Bird’s email team](/email-api/enterprise) can help assess your requirements.

## How do Bird and Postmark compare?

Compare Message Streams, stored content, retries and delivery controls.

| Capability | Bird | Postmark | Who wins |
| --- | --- | --- | --- |
| Transactional send API | [Bird’s TypeScript SDK](/docs/sdks/typescript) throws typed errors by default; .safe() returns data and error. | [Postmark’s ServerClient](https://github.com/ActiveCampaign/postmark.js/blob/main/src/client/ServerClient.ts) sends with sendEmail(data). Its [Email API](https://postmarkapp.com/developer/api/email-api) accepts JSON and supports single sends and batches of up to 500 messages. | Even |
| SMTP relay | [Bird SMTP](/docs/guides/email/smtp) accepts port 465 with TLS or 587 and 2525 with STARTTLS, using an API key. | [Postmark SMTP](https://postmarkapp.com/developer/user-guide/send-email-with-smtp) uses STARTTLS on ports 25, 2525 and 587. Authenticate with a Server API Token plus a stream header, or a stream-specific SMTP Token. | Even |
| Email address validation | [Bird email lookup](/docs/guides/lookup/email-addresses) checks one address per call, returning a verdict, confidence, address flags and suggested corrections. | [Postmark’s migration guide](https://postmarkapp.com/migration-guides/mailgun) states that Postmark does not have an email validation service and points senders to an external validator. | Bird |
| Idempotency on send | [Bird retains completed responses for 3 hours](/docs/guides/idempotency); later retries are fresh requests. | [Postmark’s idempotency guidance](https://postmarkapp.com/support/article/what-is-an-idempotency-key) says it does not support an idempotency key feature and recommends safeguards in the integration. | Bird |
| Stored message retention | [Bird stores message bodies for up to 30 days](/docs/api/reference/get-email-message-content) when content storage is enabled. | [Postmark stores full message content for 45 days by default](https://postmarkapp.com/email-analytics); its [Retention Add-on](https://postmarkapp.com/support/article/how-does-the-retention-add-on-work) offers periods from 7 to 365 days on eligible plans. | Postmark |
| Published pricing | [Bird email plans and rates](/email-api/pricing) are read live in the table below. | Compare the selected plan with [Postmark’s published rates](https://postmarkapp.com/pricing), including its billing period and features. | Bird |
| Dedicated IPs and pools | [Bird dedicated IP purchases](/docs/guides/email/dedicated-ips-and-pools) are bounded by your plan’s IP quota. Automatic warm-up sends overflow through the shared pool. | [Postmark’s dedicated-IP eligibility](https://postmarkapp.com/dedicated-ips) starts at 300,000 messages a month. IPs can be assigned to an account or individual servers; managed warm-up adjusts daily limits and sends overflow through the shared pool. | Bird |
| Deliverability heritage | Bird acquired [SparkPost in 2021](/blog/welcome-to-the-nest-sparkpost). Its sending network [carries about 40% of the world’s commercial email](/email-api/features/sparkpost). | [Postmark runs parallel sending infrastructures](https://postmarkapp.com/message-streams) for transactional and broadcast traffic, with separate IP ranges. | Bird |
| SPF, DKIM, DMARC and BIMI | Bird verifies [DKIM, return-path and DMARC](/docs/guides/email/dkim-spf-dmarc). [BIMI](/docs/guides/email/bimi) is a separate DNS and logo configuration. | [Postmark supports SPF, DKIM and DMARC](https://postmarkapp.com/support/article/what-is-bimi-and-can-i-use-it-with-postmark). BIMI also requires logo configuration; the receiving mail client decides whether to display it. | Even |
| Event webhooks and signing | [Bird signs webhook deliveries using Standard Webhooks](/docs/guides/webhooks). | [Postmark’s webhook guide](https://postmarkapp.com/developer/webhooks/webhooks-overview) recommends HTTPS, HTTP Basic Authentication and IP allowlisting to protect the receiving endpoint. | Even |
| Channels beyond email | [Bird’s API](/docs/api) covers email, SMS, WhatsApp, voice, Verify and Realtime. | [Postmark Message Streams](https://postmarkapp.com/message-streams) cover transactional and broadcast email; its [inbound webhook](https://postmarkapp.com/developer/webhooks/inbound-webhook) supplies parsed incoming email. | Even |
| Vendor and procurement | Review [Bird’s published legal terms and policies](/legal) against your existing agreement and procurement requirements. | Review [Postmark’s published terms](https://postmarkapp.com/terms-of-service) against your existing agreement and procurement requirements. | Even |
| Mailboxes | [Bird’s agent mailboxes](/docs/guides/email/mailboxes) provide addressable inboxes, threads, replies and sender rules managed through code. | [Postmark’s inbound webhook](https://postmarkapp.com/developer/webhooks/inbound-webhook) supplies parsed text, HTML and attachments. StrippedTextReply can extract the reply portion of an incoming message. | Bird |
| Traffic separation | [Bird IP pools](/docs/guides/email/dedicated-ips-and-pools) can separate transactional and marketing sending; ip_pool_id selects a pool per message. | [Postmark Message Streams](https://postmarkapp.com/message-streams) route transactional and broadcast email to separate infrastructure through the MessageStream field. | Even |
| Agent tooling | [Bird’s hosted MCP server](/docs/ai/mcp-server) at mcp.bird.com exposes 354 tools. The [bird CLI](/docs/cli) sends and inspects email, manages domains, templates and webhooks, and gives [agents JSON output and semantic exit codes](/docs/ai/cli-for-agents). | [Postmark’s MCP server](https://github.com/ActiveCampaign/postmark-mcp) covers sending, templates, message search, delivery diagnostics and account operations. Its [CLI](https://github.com/ActiveCampaign/postmark-cli) sends email, manages templates and lists servers. | Bird |

## How do you send one HTML email?

Postmark’s ServerClient accepts a server token and sends PascalCase fields through sendEmail. Bird throws typed errors by default; this example opts into .safe() so the application can branch on data and error.

**Postmark** · send.ts

```typescript
import { ServerClient } from "postmark";

const client = new ServerClient(process.env.POSTMARK_TOKEN!);

await client.sendEmail({
  From:     "onboarding@yourdomain.com",
  To:       "customer@example.com",
  Subject:  "Your March invoice",
  HtmlBody: "<p>Attached.</p>",
});
```

**Bird** · send.ts

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const { data, error } = await bird.email
  .send({
    from:    { email: "onboarding@yourdomain.com", name: "Acme" },
    to:      ["customer@example.com"],
    subject: "Your March invoice",
    html:    "<p>Attached.</p>",
  })
  .safe();

if (error) console.error(error.message);
else console.log(data.id);
```

## What changes around the send call?

### How do Postmark Message Streams map to Bird?

[Postmark Message Streams](https://postmarkapp.com/message-streams) separate sending traffic and carry [stream-scoped suppressions](https://postmarkapp.com/developer/api/suppressions-api). Bird’s [migration guide](/docs/guides/email/migrate/postmark) explains that category is a per-message suppression flag, not a stream container. Plan IP-pool routing, reporting tags and suppression imports separately; do not treat a stream name as a field rename.

### How should I prevent duplicate sends during migration?

Keep a record of each business operation and its send outcome. [Postmark’s support article](https://postmarkapp.com/support/article/what-is-an-idempotency-key) states: “Postmark does not currently support an idempotency key feature.” It recommends response-code handling and webhooks as integration safeguards. Bird’s [3-hour idempotency window](/docs/guides/idempotency) protects retries within that window; check your send record before retrying after it expires.

## Published email plans

Bird’s full monthly ladder is shown below. Nearest-volume plans are labelled and are not quotes for Bird’s volume. Check billing terms, features and overages.

Pricing verdict: Bird. The verdict compares the lowest published monthly amount at each exact volume and currency; daily-only allowances, annual commitments, usage rates, starting prices and custom quotes are not compared.

| Bird tier | Emails per month | Bird | Postmark |
| --- | --- | --- | --- |
| Free | 1,000 | [$0 / month (USD)](/email-api/pricing); [€0 / month (EUR)](/email-api/pricing) | Nearest published volume: [Free: $0.00/mo](https://postmarkapp.com/pricing); 100 emails; Monthly allowance; no overages.; as published 2026-09-07 |
| Startup | 50,000 | [$15 / month (USD)](/email-api/pricing); [€15 / month (EUR)](/email-api/pricing) | Matching volume: [Basic: $55.00/mo](https://postmarkapp.com/pricing); 50,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Matching volume: [Pro: $60.50/mo](https://postmarkapp.com/pricing); 50,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Matching volume: [Platform: $66.00/mo](https://postmarkapp.com/pricing); 50,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Startup | 100,000 | [$30 / month (USD)](/email-api/pricing); [€27.5 / month (EUR)](/email-api/pricing) | Nearest published volume: [Basic: $115.00/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Pro: $126.50/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Platform: $138.00/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Growth | 100,000 | [$80 / month (USD)](/email-api/pricing); [€72.5 / month (EUR)](/email-api/pricing) | Nearest published volume: [Basic: $115.00/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Pro: $126.50/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Platform: $138.00/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Growth | 250,000 | [$175 / month (USD)](/email-api/pricing); [€160 / month (EUR)](/email-api/pricing) | Nearest published volume: [Basic: $245.00/mo](https://postmarkapp.com/pricing); 300,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Pro: $269.50/mo](https://postmarkapp.com/pricing); 300,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Platform: $294.00/mo](https://postmarkapp.com/pricing); 300,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Growth | 500,000 | [$295 / month (USD)](/email-api/pricing); [€270 / month (EUR)](/email-api/pricing) | Nearest published volume: [Basic: $455.00/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Pro: $500.50/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Platform: $546.00/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Growth | 1,000,000 | [$530 / month (USD)](/email-api/pricing); [€480 / month (EUR)](/email-api/pricing) | Nearest published volume: [Basic: $455.00/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Pro: $500.50/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Platform: $546.00/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Growth | 2,500,000 | [$1,039 / month (USD)](/email-api/pricing); [€950 / month (EUR)](/email-api/pricing) | Nearest published volume: [Basic: $775.00/mo](https://postmarkapp.com/pricing); 1,500,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Pro: $852.50/mo](https://postmarkapp.com/pricing); 1,500,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07; Nearest published volume: [Platform: $930.00/mo](https://postmarkapp.com/pricing); 1,500,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |

## Postmark published plans

| Plan | Published price and terms |
| --- | --- |
| Free | [Free: $0.00/mo](https://postmarkapp.com/pricing); 100 emails; Monthly allowance; no overages.; as published 2026-09-07 |
| Basic | [Basic: $15.00/mo](https://postmarkapp.com/pricing); 10,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Basic | [Basic: $55.00/mo](https://postmarkapp.com/pricing); 50,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Basic | [Basic: $115.00/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Basic | [Basic: $245.00/mo](https://postmarkapp.com/pricing); 300,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Basic | [Basic: $455.00/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Basic | [Basic: $775.00/mo](https://postmarkapp.com/pricing); 1,500,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Pro | [Pro: $16.50/mo](https://postmarkapp.com/pricing); 10,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Pro | [Pro: $60.50/mo](https://postmarkapp.com/pricing); 50,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Pro | [Pro: $126.50/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Pro | [Pro: $269.50/mo](https://postmarkapp.com/pricing); 300,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Pro | [Pro: $500.50/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Pro | [Pro: $852.50/mo](https://postmarkapp.com/pricing); 1,500,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Platform | [Platform: $18.00/mo](https://postmarkapp.com/pricing); 10,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Platform | [Platform: $66.00/mo](https://postmarkapp.com/pricing); 50,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Platform | [Platform: $138.00/mo](https://postmarkapp.com/pricing); 125,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Platform | [Platform: $294.00/mo](https://postmarkapp.com/pricing); 300,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Platform | [Platform: $546.00/mo](https://postmarkapp.com/pricing); 700,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |
| Platform | [Platform: $930.00/mo](https://postmarkapp.com/pricing); 1,500,000 emails; Monthly billing; volume covers emails sent and received.; as published 2026-09-07 |

## How should you compare email costs?

### What do the Bird and Postmark price rows include?

The table shows Bird’s full monthly ladder. Rival plans match the volume or are labelled with the nearest published volume. Bird’s amounts come from its live catalogue; Postmark’s linked amounts carry their check dates. Compare billing periods, included features and add-ons on [Postmark’s pricing page](https://postmarkapp.com/pricing) before choosing a plan.

## Switching cost: What does a Postmark migration involve?

Map [Postmark’s send payload](https://postmarkapp.com/developer/api/email-api) and [template payload](https://postmarkapp.com/developer/api/templates-api) to Bird’s send endpoint. Export [suppressions from every Postmark message stream](https://postmarkapp.com/developer/api/suppressions-api) and import them into Bird’s workspace suppressions. The [migration guide](/docs/guides/email/migrate/postmark) maps recipient strings, templates, tags and categories.

Postmark’s [webhook guide](https://postmarkapp.com/developer/webhooks/webhooks-overview) documents HTTP Basic Authentication and IP allowlisting. Add [Bird’s Standard Webhooks verification](/docs/guides/webhooks) and map RecordType values to Bird events using the migration guide. Test sends and handlers in [Bird’s mail sandbox](/docs/guides/email/testing-sandbox), and plan warm-up when moving onto new dedicated IPs.

[Read the migration guide](/docs/guides/email/migrate/postmark)

[Test in Bird’s mail sandbox](/docs/guides/email/testing-sandbox)

## Where to go next

Start with the migration guide to map the integration and test the cutover.

- [Postmark migration](/docs/guides/email/migrate/postmark): Map fields, suppressions and webhook events.
- [Bird email pricing](/email-api/pricing): Read the rates and plan features published in Bird’s email catalogue.
- [Postmark pricing](https://postmarkapp.com/pricing): Check Postmark’s published plans for your sending volume.
- [Bird vs Resend](/email-api/compare/bird-vs-resend): Compare published pricing, retry handling and channels beyond email.
- [Bird vs Amazon SES](/email-api/compare/bird-vs-amazon-ses): Compare the send integration and published billing terms.
- [All email comparisons](/email-api/compare): See every Bird email comparison in one place.

Talk to our email team

## See how Bird fits your Postmark workflow.

Test your sender, templates and delivery events before moving traffic from Postmark. For a larger move, plan the cutover with an email specialist.

Create your account and test your integration. Your migration enquiry will include the provider you are comparing.



## Related resources

- [Getting started with email](/learn/email/getting-started-with-email) (video)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=email)
