Bird vs Amazon SES

The Amazon SES alternative.

Amazon SES is the cheapest way to push email if you have the engineering to run it. Bird trades a higher per-message price for managed deliverability, a simple bearer-token API, webhooks delivered to your URL, and SMS and voice on the same account, on the SparkPost network that carries about 40% of the world’s commercial email. If you live in AWS and want the lowest raw cost, SES is the better pick. See the Bird Email API for the full surface.

By the numbers

Bird

Deliverability scale

~40% of commercial email

Message retention

30 days

What Amazon SES is great at.
Where Bird is different.

What Amazon SES is great at

The lowest raw price. A flat $0.10 per 1,000 emails, unchanged for years, with no monthly minimum. Nothing beats that headline send rate. It is raw send only, though: bandwidth, dedicated IPs, and the event and metrics pipelines are billed on top.

Deep AWS integration. IAM, SNS, Lambda, and the rest of the stack are right there. If your infrastructure already lives in AWS, SES is the path of least resistance.

A customer-facing SMTP relay. Point legacy apps and off-the-shelf tools at email-smtp.<region>.amazonaws.com. Bird does not offer a customer SMTP relay, so if you need one, SES fits.

Built-in email validation. A native recipient-validation feature for list hygiene. Bird does not offer this today.

Where Bird is different

Managed, not assembled. SES gives you primitives. With Bird, webhooks arrive at your URL signed (no SNS or SQS to wire up), message bodies are stored for 30 days (SES stores none by default), and dedicated-IP warm-up and deliverability are managed for you.

A simpler API. A bearer-token HTTP call with an error-as-value SDK, idempotency keys, and a hosted MCP server. SES signs every request with AWS SigV4 and IAM, which is power you pay for in setup.

Built on SparkPost. Bird’s email runs on SparkPost, the deliverability platform Bird acquired in 2021, carrying about 40% of the world’s commercial email with a decade-plus of IP-reputation engineering and human deliverability support.

Channels beyond email. Send email, SMS, and voice from one API and one auth model. With SES, SMS and voice are separate AWS services you integrate on their own.

The matrix

Capability by capability.

Amazon SES wins on raw price, a customer SMTP relay, and native validation, and it is the natural pick if you already live in AWS. Bird wins on a simpler API, managed deliverability, native webhooks, stored message history, and channels beyond email. Both readings are accurate today.

CapabilityBirdAmazon SESWho wins?
Send APIBearer-token HTTP API (POST /v1/email/messages) with an error-as-value SDK.SES v2 SendEmail signed with AWS SigV4 and IAM; no simple bearer-token endpoint.
Raw send priceFrom $0.30 per 1,000 emails.$0.10 per 1,000 raw send; bandwidth, IPs, and pipelines metered on top.
SMTP relayNot offered to customers; HTTP API only.Customer-facing SMTP relay at email-smtp.<region>.amazonaws.com.
Email address validationNot available today.Native recipient-validation feature plus Auto Validation gating.
Event webhooksNative webhooks delivered to your URL, signed (Standard Webhooks).No native HTTP webhook; events publish to SNS, Kinesis Firehose, CloudWatch, or EventBridge that you wire up.
Stored message retentionStored message body available for 30 days.No stored bodies by default; archiving is a paid Mail Manager add-on.
Idempotency on sendIdempotency-Key header, reused across retries.No idempotency key on the send path; consumers dedupe on messageId.
Dedicated IPs and warm-upDedicated IPs and pools with roughly 30-day automated warm-up.Standard ($24.95/IP/mo, automatic ~45-day warm-up) or managed auto-warm-up.
Deliverability heritageRuns on SparkPost (acquired 2021): roughly 40% of the world’s commercial email, with human deliverability support.AWS-scale infrastructure; deliverability tuning is largely the sender’s job.
Channels beyond emailSMS and voice in the same API, plus a wider omnichannel platform.Email only; SMS and voice live in separate AWS services.

The same send

One send, two levels of plumbing.

Sending one HTML email. SES routes through the AWS SDK with SigV4 credentials and a nested command shape. Bird is a bearer-token call that returns a typed result. The fields are the same underneath.

Amazon SES

send.ts
import { SESv2Client, SendEmailCommand } from "@aws-sdk/client-sesv2";

const ses = new SESv2Client({ region: "us-east-1" });

await ses.send(
  new SendEmailCommand({
    FromEmailAddress: "onboarding@yourdomain.com",
    Destination: { ToAddresses: ["customer@example.com"] },
    Content: {
      Simple: {
        Subject: { Data: "Your March invoice" },
        Body: { Html: { Data: "<p>Attached.</p>" } },
      },
    },
  }),
);
// Credentials resolve from the AWS provider chain (env, IAM role, profile).

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);

Pricing at a glance

Amazon SES bills a flat $0.10 per 1,000 emails with no monthly fee, so the figures below are raw send only. SES meters the rest separately: $0.12/GB of attachment data, $24.95/mo per dedicated IP, plus the event, metrics, and message-archiving pipelines you assemble on SNS, CloudWatch, and Mail Manager. Bird’s price bundles those in.

Emails / monthBirdAmazon SES
50,000$20/mo (Starter)~$5/mo (pay as you go)
250,000$170/mo (Premier)~$25/mo (pay as you go)
1,000,000$525/mo (Premier)~$100/mo (pay as you go)

Switching cost

Low.

Most of the move is deleting code. The AWS SDK, SigV4 signing, and the SNS or SQS pipeline you built to receive events are replaced by a bearer-token call and a signed webhook to your URL. Domain authentication and the suppression list map across directly.

If you run a dedicated IP on SES, plan for a warm-up window on Bird to carry the reputation over. The migration guide covers domain auth, IP warm-up, and event mapping.

Bird vs Amazon SES: common questions

Is Bird cheaper than Amazon SES?+
No, not on raw send price. SES bills a flat $0.10 per 1,000 emails with no monthly fee, which is lower than Bird’s rate. The trade is what SES leaves to you: receiving events through SNS or SQS, storing your own message history, and paying separately for AWS Support. Bird’s price includes managed deliverability and support.
Why move off Amazon SES if it’s cheaper?+
Teams move when the engineering around SES costs more than the send savings: building and maintaining the SNS/SQS event pipeline, the lack of stored message bodies for debugging, and deliverability tuning that is entirely your responsibility. Bird hands those back as managed features.
Does Bird offer an SMTP relay like SES?+
No. Bird exposes an HTTP send API and delivers over SMTP internally, but does not provide a customer-facing SMTP relay. If you must send over SMTP, SES covers it directly.
How does Bird’s deliverability compare to SES?+
Bird’s email runs on SparkPost, the platform it acquired in 2021, which carries about 40% of the world’s commercial email and comes with human deliverability support. SES gives you the raw infrastructure; reputation and inbox placement are largely the sender’s job.
Does Bird have native webhooks like the SNS setup on SES?+
Yes, and they are simpler. Bird delivers signed event webhooks (delivered, bounced, opened, clicked, and more) straight to your URL using the Standard Webhooks scheme. There is no SNS topic or SQS queue to provision.

Start with one channel.
Add the others when you're ready.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Using Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours:

Cursor