Tailkits product guide

Amazon SES

AWS email API at $0.10 per 1,000 emails, once you leave the default plan

PaidEmail
Visit Amazon SES
Pricing
Paid
Categories
Email
Listed
Sep 2026
Updated
Oct 2026

Details about Amazon SES

Short verdict: Amazon SES has the lowest per-email price of the seven sending services we compared: $0.10 per 1,000 emails with no monthly fee, or $10.38 for 100,000 messages. Since 21 July 2026, though, new accounts start on the Essentials plan at $0.16 per 1,000 and the SES free tier is closed to new customers, so the headline price takes an opt-out. Setup is the heaviest in the group: an AWS account, a sandbox in every region, a manual production-access review, and events delivered through other AWS services instead of webhooks. It suits teams already on AWS or sending at volume; if you want a message log, webhooks and customer email on day one, look at Postmark or Mailgun.

How we reviewed it: We did not create an AWS account or send email through Amazon SES. On 21 October 2026 we read the SES pricing page, AWS's announcement and blog post on the new pricing plans, the SES FAQ and Developer Guide, the AWS Free Tier terms and the SLA. We checked the Node SDK on npm and read 12 months of events on the AWS Health Dashboard. Prices assume one region, one recipient per email and 32 KB messages, the size AWS uses in its own examples. We could not test approval times, deliverability or the console.

What Amazon SES costs and requires

Price per 1,000 emails$0.10 à la carte, plus $0.12 per GB of data. Plans: Essentials $0.16 (the default for new accounts), Pro $0.22 plus $105, Enterprise $0.23 plus $500; plan fees are per account, per region, per month (AWS)
Monthly cost at 10,000 / 100,000 / 1,000,000 emails$1.64 / $16.38 / $163.84 on Essentials; $1.04 / $10.38 / $103.84 after switching to à la carte (our arithmetic)
Free tierNone for new customers since 21 July 2026. New AWS accounts get up to $200 in AWS credits that can be spent on SES
Before you can email customersAWS account, a verified domain (three DKIM CNAME records), and production access in each region, with an "initial response within 96 hours" (AWS)
Regions29, including Frankfurt, Ireland, Milan, Paris and Stockholm in the EU, London, Zurich and two AWS GovCloud regions; SMTP in 19 of them, inbound email in 22
InterfacesSES API v2 over HTTPS with AWS request signing, SMTP, AWS SDKs for 12 languages, PowerShell and the CLI
Node SDK@aws-sdk/client-sesv2 3.1154.0, published 20 October 2026, TypeScript types included
EventsPublished to Amazon SNS, EventBridge, Data Firehose, CloudWatch or Pinpoint; no webhooks
SLA99.9% monthly uptime per region; no uptime figure published

What we found in the pricing, docs and status page

New accounts start on the $0.16 Essentials plan

AWS's launch blog post says: "Starting July 21, 2026, all new SES accounts begin on the Essentials plan." Returning customers with no SES activity since 1 June 2025 land there too. Essentials costs $0.16 per 1,000 emails and includes Virtual Deliverability Manager's dashboard, message search and authentication advisor. The $0.10 à la carte price most guides quote has to be chosen.

Essentials costs 60% more: $16.38 against $10.38 at 100,000 emails a month, and $163.84 against $103.84 at 1 million (1,000 × $0.16 or $0.10, plus 32 GB of data × $0.12 = $3.84). You switch on the console's Pricing plan page, in each region; if Essentials was a default, the first switch applies immediately. Essentials only pays off if you want Virtual Deliverability Manager, which costs $0.07 per 1,000 on top of à la carte. Pro and Enterprise charge their fee per region, so Pro in two regions is $210 a month before any email.

Amazon SES pricing page: plan table with Essentials at $0.16, Pro at $0.22 and Enterprise at $0.23 per 1,000 emails for 0 to 10 million a month, and $105 and $500 fees per account per region; below it the à la carte table with outbound email at $0.10 per 1,000 plus $0.12 per GB and dedicated IPs at $24.95 per IP or $15 plus $0.08 per 1,000 emails
The SES pricing page on 21 October 2026: plans (top) and à la carte (bottom). Every volume in this review falls in the 0 to 10 million tier.

The SES free tier is gone for new customers

The same post: "As of July 21, 2026, the SES-specific free tier (3,000 email message charges per month for your first 12 months after first SES use) is no longer available for new customers." New AWS customers get $100 in credits plus up to $100 for completing activities, but the free account plan ends after six months. AWS's own SES FAQ still promises new customers "up to 3,000 message charges for free each month", and its beginner tutorial, last updated 30 May 2024, still mentions a free tier. Both are out of date.

A sandbox in every region and a review of up to 96 hours

New accounts start in the SES sandbox, separately in each region: verified recipients only, at most 200 messages in 24 hours and 1 per second. Even 10,000 emails a month therefore needs production access. You request it in the console or with aws sesv2 put-account-details, giving your mail type and website and confirming that you handle bounces and complaints. AWS says its support team "provides an initial response to your request within 96 hours".

Amazon SES Developer Guide listing the sandbox restrictions: verified recipients or the mailbox simulator only, a maximum of 200 messages per 24-hour period and 1 message per second
The sandbox rules in the SES Developer Guide.

Verified domains, SMTP credentials, suppression lists and quotas are also per region, so a second region repeats most of the setup. Domain verification takes three DKIM CNAME records and up to 72 hours of DNS propagation.

Events reach you through other AWS services

SES has no webhooks. You create a configuration set and publish events to Amazon SNS, EventBridge, Data Firehose, CloudWatch or Pinpoint; SNS can then call your HTTPS endpoint. There is no message log: the console shows 14 days of totals, and Virtual Deliverability Manager's message search covers 30 days and returns at most 100 messages. We found no scheduled-send option in the v2 API.

Deliverability tools are priced as add-ons

Mail leaves from shared IPs by default. A standard dedicated IP costs $24.95 a month; managed dedicated IPs cost $15 a month plus $0.08 per 1,000 emails ($95 extra at 1 million). Inbox placement tests and blocklist monitoring cost $1,250 a month per region unless you are on Pro or Enterprise. Easy DKIM signs with 2048-bit keys by default.

Reliability and developer experience

AWS publishes no uptime percentage for SES. The AWS User Engagement SLA promises 99.9% monthly uptime per region. The AWS Health Dashboard showed no new SES event in the 90 days to 21 October 2026, but two region-wide events listing SES as "Disrupted" have been open since 1 and 2 March 2026, in Middle East (UAE) and Middle East (Bahrain). On 15 September AWS said it cannot restore resources and data held only in Bahrain. Both regions are still in the SES endpoint list.

Developer checkResult on 21 October 2026
Node package@aws-sdk/client-sesv2 3.1154.0, Node.js 20 or later, Apache-2.0
Size2.0 MB unpacked, 9 direct dependencies; our clean install added 24 packages and 19 MB
Weekly downloads6,147,406 (28 September to 4 October 2026, the last week with complete npm data)
Release pace61 releases in 90 days, as part of the AWS SDK's near-daily releases
Other SDKsC++, Go, Java, Kotlin, .NET, PHP, Python, Ruby, Rust, Swift, SAP ABAP, PowerShell and the AWS CLI
AI toolingAWS MCP Server (general AWS access) and an official amazon-ses agent skill for domain setup and production access

The docs cover every feature but are uneven for Node developers. The "Sending email using an AWS SDK" tutorial has no JavaScript tab and was tested with Visual Studio 2017 and Python 2.7.6. The JavaScript examples use @aws-sdk/client-ses, the older v1 API with a 10 MB message limit; v2 accepts 40 MB. The setup page skips the pricing-plan step. A new agent setup guide walks Claude Code, Codex, Cursor or Kiro through domain setup and the access request.

What you still have to set up

  • The plan and production access, per region. Switch to à la carte unless you want Virtual Deliverability Manager, and have your website live before requesting access.

  • Domain authentication. DKIM records, a custom MAIL FROM subdomain (MX and SPF) and a DMARC record.

  • Credentials. An IAM user or role limited to SES, and separate SMTP credentials per region if you use SMTP.

  • Bounce and complaint handling. A configuration set, an SNS topic or EventBridge rule, and code that records events. Gmail sends SES no complaint data.

  • Templates and history. SES stores simple templates; for designed HTML use React Email or Maizzle, both of which have SES guides. Stream events to S3 if you need more than 30 days of history.

Pros and cons

Pros

  • The lowest per-email price of the seven services we compared: $10.38 for 100,000 emails a month on à la carte.

  • 29 regions, five in EU member states, plus GovCloud and FIPS endpoints; SES is HIPAA-eligible.

  • Sending, inbound email and deliverability tools on one AWS bill, with a 99.9% per-region SLA.

  • A typed Node SDK with about 6.1 million downloads a week.

Cons

  • New accounts default to $0.16 per 1,000; $0.10 needs an opt-out in each region.

  • No free tier for new customers, and AWS's FAQ still says otherwise.

  • A per-region sandbox and a manual review with an initial response "within 96 hours".

  • No webhooks or message log; message search covers 30 days and 100 results.

  • The JavaScript examples use the older v1 API.

How Amazon SES compares

Monthly prices for transactional email on the cheapest plan that covers each volume, from our comparison of seven sending services on 21 October 2026:

Service10,000100,0001,000,000
Amazon SES, Essentials (default) / à la carte$1.64 / $1.04$16.38 / $10.38$163.84 / $103.84
Cloudflare Email Service$7.45$38.95$353.95
Mailgun$15$75$700
Postmark$15$115$775
  • Postmark is built for transactional email, with broadcasts in separate streams, keeps 45 days of activity on its Basic plan and has webhooks. Its free tier of 100 emails a month never expires, but it has no EU hosting and costs $115 at 100,000 emails.

  • Mailgun hosts each domain in the US or the EU on every plan, with inbound routes and signed webhooks, for $75 at 100,000 emails. It needs SMS verification and a card for custom domains, and logged 10 incidents in 90 days.

  • Cloudflare Email Service costs $38.95 at 100,000 emails, for apps on Workers. It is in public beta, transactional only, with no region choice, and needs Cloudflare DNS.

See all email tools.

Who should use Amazon SES

Use SES if you already run on AWS, send tens of thousands of emails a month or more, and can wire SNS or EventBridge into your app; switch each region to à la carte and allow at least four days for the first reply to your production-access request. It also fits teams that need EU, Canadian or US government regions. Skip it if you need a free allowance, want to email customers on sign-up day, or want logs and webhooks without building them.

FAQ

Is Amazon SES free?

No, not for new customers. AWS closed the SES free tier of 3,000 emails a month to new customers on 21 July 2026, although its SES FAQ still describes it. New AWS accounts get $100 in credits, plus up to $100 more for completing activities, which can be spent on SES; the free account plan ends after six months.

How do I pay $0.10 per 1,000 emails instead of $0.16?

Cancel the plan on the Pricing plan page of the SES console, in each region you use. Accounts created since 21 July 2026 start on the Essentials plan at $0.16 per 1,000 emails; if you were placed on it by default, your first switch to à la carte pricing at $0.10 per 1,000 takes effect immediately.

How long does it take to get out of the SES sandbox?

AWS says its support team gives an initial response to a production-access request within 96 hours, and longer if it needs more information. You request access separately in each AWS region; until then you can send only to verified addresses, at most 200 messages in 24 hours.

Does Amazon SES have webhooks?

No. SES publishes delivery, bounce, complaint, open and click events through a configuration set to Amazon SNS, EventBridge, Data Firehose, CloudWatch or Pinpoint. To receive events at your own URL, subscribe an HTTPS endpoint to an SNS topic.

Can I send from EU regions with Amazon SES?

Yes. SES runs in Frankfurt, Ireland, Milan, Paris and Stockholm, as well as London and Zurich, and identities, settings and suppression lists are kept separately in each region you use. SMTP is not available in Milan or Zurich, and inbound email is not available in Zurich.