Trusted every day by teams that
build world-class software.

By the numbers

Bird

Who controls the sending stack?

Resend: managed IP pools

Resend publishes dedicated IPs as a Scale add-on. Its managed dedicated IP pools provide automatic warm-up, scaling based on inbox-provider feedback and continuous reputation monitoring.

Resend does not expose the individual IPs in those pools. The pools dynamically add or remove IPs as sending volume changes.

Bird: infrastructure and reputation

Bird manages its shared sending IPs, dedicated IPs and pools, with automatic warm-up and shared-pool overflow. Bird’s delivery technology adjusts traffic per mailbox provider, while its platform processes delivery feedback and acts on bounce and complaint signals. These are controls Bird operates within its sending stack.

How do Bird and Resend compare?

Resend has the longer retry window and a direct React parameter. Bird combines email with other channels. The rows below compare the documented sending controls and integration choices.

CapabilityBirdResendWho wins?
Send API and DXBird’s TypeScript SDK throws typed errors by default; .safe() returns data and error.Resend’s Node SDK returns data and error from the send call.
Idempotency on sendBird retains completed responses for 3 hours; later retries are fresh requests.Resend retains idempotency keys for 24 hours for send and batch send.
Stored message retentionBird stores sent message bodies for up to 30 days when content storage is enabled.Resend’s published plans include 30-day data retention; Enterprise retention is flexible.
React Email templatingRender React Email to HTML in your application, then send that HTML with Bird.Pass a React component through the Node SDK’s react parameter.
SMTP relayBird SMTP supports implicit TLS on 465 and STARTTLS on 587 or 2525, with an API key.Resend SMTP supports implicit TLS and STARTTLS, with an API key.
Channels beyond emailBird’s API includes email, SMS, WhatsApp, voice, Verify and Realtime.Resend supports email sending, receiving and email campaigns.
Deliverability heritageBird acquired SparkPost in 2021. Its sending network carries about 40% of the world’s commercial email.Resend launched its email sending platform in 2023, following its open-source email project in 2022.
Dedicated IPsBird offers dedicated IPs and pools, with automatic warm-up and pool selection per send.Resend offers managed dedicated IP pools with automatic warm-up and scaling; its transactional pricing lists them as a Scale add-on.
Published pricingBird email plans and rates supply the live amounts in the plan table below.Resend plans and rates supply the dated publisher amounts in the plan table below.
Signed event webhooksBird signs events with Standard Webhooks, using webhook-id, webhook-timestamp and webhook-signature.Resend signs webhook requests using svix-id, svix-timestamp and svix-signature.
MailboxesBird’s agent mailboxes provide addressable inboxes, threads, replies and sender rules managed through code.Resend receives email, exposes content and attachments, and supports replies in the same thread.
Agent toolingBird’s hosted MCP server at mcp.bird.com exposes 354 tools. The bird CLI sends and inspects email, manages domains, templates and webhooks, and gives agents JSON output and semantic exit codes.Resend’s hosted MCP server covers emails, templates, broadcasts, contacts, logs and webhooks. Its CLI manages sending, receiving and other Resend resources.

How do you handle a send result?

These examples branch on data and error. Bird uses .safe() explicitly; its default client throws typed errors. Use the result style when your application handles errors as values.

Resend

send.ts
import { Resend } from "resend";

const resend = new Resend(process.env.RESEND_API_KEY!);

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

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

Bird

send.ts
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?

Can an agent receive and reply to email with either provider?
Yes. Resend supports receiving, attachments and replies, and its MCP server exposes received email to an agent. Bird’s agent mailboxes give the application addressable inboxes, conversation threads and rules for which senders reach the inbox. Choose based on the workflow your agent needs to manage.
What happens if a retry job resumes the next day?
Resend’s 24-hour idempotency window covers a longer retry schedule. Bird retains a completed response for 3 hours. After that, keep your own record of whether the operation completed before issuing another send.

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 monthly volume ladder and published provider plans
Bird tierEmails per monthBirdResend
Free1,000

$0 / month (USD)

€0 / month (EUR)

Nearest published volume

Free: $0 / mo

3,000 emails

Monthly allowance; limited to 100 emails a day.

as published

Startup50,000

$15 / month (USD)

€15 / month (EUR)

Matching volume

Pro: $20 / mo

50,000 emails

Monthly billing.

as published

Startup100,000

$30 / month (USD)

€27.5 / month (EUR)

2 plans at this volume

Expand to compare every option and its billing terms.

Matching volume

Pro: $35 / mo

100,000 emails

Monthly billing.

as published

Matching volume

Scale: $90 / mo

100,000 emails

Monthly billing.

as published

Growth100,000

$80 / month (USD)

€72.5 / month (EUR)

2 plans at this volume

Expand to compare every option and its billing terms.

Matching volume

Pro: $35 / mo

100,000 emails

Monthly billing.

as published

Matching volume

Scale: $90 / mo

100,000 emails

Monthly billing.

as published

Growth250,000

$175 / month (USD)

€160 / month (EUR)

Nearest published volume

Scale: $160 / mo

200,000 emails

Monthly billing.

as published

Growth500,000

$295 / month (USD)

€270 / month (EUR)

Matching volume

Scale: $350 / mo

500,000 emails

Monthly billing.

as published

Growth1,000,000

$530 / month (USD)

€480 / month (EUR)

Matching volume

Scale: $650 / mo

1,000,000 emails

Monthly billing.

as published

Growth2,500,000

$1,039 / month (USD)

€950 / month (EUR)

Matching volume

Scale: $1,150 / mo

2,500,000 emails

Monthly billing.

as published

Resend: Published plans

Free: $0 / mo

3,000 emails

Monthly allowance; limited to 100 emails a day.

as published

Pro: $20 / mo

50,000 emails

Monthly billing.

as published

Pro: $35 / mo

100,000 emails

Monthly billing.

as published

Scale: $90 / mo

100,000 emails

Monthly billing.

as published

Scale: $160 / mo

200,000 emails

Monthly billing.

as published

Scale: $350 / mo

500,000 emails

Monthly billing.

as published

Scale: $650 / mo

1,000,000 emails

Monthly billing.

as published

Scale: $1,150 / mo

2,500,000 emails

Monthly billing.

as published

Enterprise: Contact us

Custom usage and pricing.

as published

How should you compare email costs?

What do the Bird and Resend 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; Resend’s linked amounts carry their check dates. Compare the billing period and included features before choosing a plan. Resend publishes overage and dedicated-IP add-ons separately from the base subscription.

Switching cost

What does a Resend migration involve?

Port the send call, publish Bird’s domain-authentication records alongside the existing records, import suppressed addresses and update webhook verification. Domain authentication and suppressions require explicit migration steps.

The migration guide maps payload fields and event handling. Test the integration in Bird’s mail sandbox before switching production traffic, and plan a warm-up if you move to a dedicated IP.

Bird vs Resend: common questions

Can I keep my React Email templates when moving to Bird?
Yes. The Bird migration guide shows how to render your React Email components to HTML and send the result. Resend’s Node SDK accepts the component through react, so move that rendering step into your application during migration.

Talk to our email team

See how Bird fits your Resend workflow.

Test your sender, templates and delivery events before moving traffic from Resend. 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.

Your details

All contact fields are required.

So our team can reach you about your demo.

Products of interest

Optional

We’ll contact you to arrange your demo.
Privacy policy

Your next idea.
Ready to connect.