I checked the new Amazon SES pricing plans (Essentials/Pro/Enterprise) using the Price List API and SES API
This page has been translated by machine translation. View original
Introduction
On July 21, 2026, pricing plans (Essentials / Pro / Enterprise) were officially announced for Amazon SES.
The three plans added are Essentials (no monthly fixed fee), Pro ($105/month), and Enterprise ($500/month). The features and pricing included in each plan are described later.
This is the "Pricing Plans" screen added to the console.

In this article, we retrieved pricing data for each plan using the Price List API and verified the behavior of plan confirmation and changes using the SES API's GetAccount / PutAccountPricingAttributes.
Verification Details
Verification Environment
| Item | Value |
|---|---|
| AWS CLI | aws-cli/2.36.4 |
| Primary verification region | us-east-1 |
| Regional verification | ap-northeast-1 and 9 other regions |
| Verification accounts | 3 accounts: Account A, B, and C |
Checking Pricing Data with the Price List API
With the addition of pricingPlans to SES attributes, it is now possible to retrieve pricing filtered by plan.
Checking the pricingPlans Attribute
First, we checked the list of attributes for the SES service using describe-services. pricingPlans has been added as an attribute.
aws pricing describe-services --service-code AmazonSES --region us-east-1
Full response
{
"Services": [
{
"ServiceCode": "AmazonSES",
"AttributeNames": [
"termType",
"productFamily",
"servicecode",
"location",
"locationType",
"usagetype",
"operation",
"contentType",
"regionCode",
"servicename",
"feature",
"pricingPlans",
"apiCategory",
"description",
"origin",
"recipient",
"group",
"groupDescription",
"Restriction",
"recipientValidation"
]
}
],
"FormatVersion": "aws_v1"
}
Retrieving Plan Values
We retrieved the possible values for pricingPlans using get-attribute-values.
aws pricing get-attribute-values \
--service-code AmazonSES \
--attribute-name pricingPlans \
--region us-east-1
{
"AttributeValues": [
{ "Value": "Enterprise" },
{ "Value": "Essentials" },
{ "Value": "Pro" }
]
}
Sending Unit Price per Plan
By specifying pricingPlans in the filter of get-products, you can retrieve pricing data for each plan. Below is an example of retrieving Outbound-Email for Essentials.
aws pricing get-products \
--service-code AmazonSES \
--filters \
Type=TERM_MATCH,Field=pricingPlans,Value=Essentials \
Type=TERM_MATCH,Field=feature,Value=Outbound-Email \
Type=TERM_MATCH,Field=regionCode,Value=us-east-1 \
--region us-east-1
Essentials Outbound-Email response (excerpt)
{
"publicationDate": "2026-07-20T18:02:12Z",
"feature": "Outbound-Email",
"pricingPlans": "Essentials",
"tiers": [
{"beginRange": "0", "endRange": "10000000", "pricePerUnit": "0.0001600000"},
{"beginRange": "10000000", "endRange": "100000000", "pricePerUnit": "0.0001400000"},
{"beginRange": "100000000", "endRange": "Inf", "pricePerUnit": "0.0001100000"}
]
}
The following is a comparison of outbound email unit prices for the 3 plans, converted to per 1,000 emails.
| Volume | Essentials | Pro | Enterprise |
|---|---|---|---|
| 0–10M emails | $0.16 | $0.22 | $0.23 |
| 10M–100M emails | $0.14 | $0.17 | $0.18 |
| Over 100M emails | $0.11 | $0.12 | $0.13 |
※ Essentials and Enterprise are from the Price List API; Pro is from the official pricing page.
The sending unit price (Outbound-Email) was retrievable from the Price List API for Essentials and Enterprise. Pro's Outbound-Email unit price was not included in the Price List API response, so the value from the official pricing page is listed here. Note that Pro's included features ($0.00) data can be retrieved from the Price List API.
Monthly fixed fees are as follows.
| Plan | Monthly Fixed Fee |
|---|---|
| Essentials | None |
| Pro | $105/account/region/month |
| Enterprise | $500/account/region/month |
Features Included in Each Plan
Based on the Price List API response and the "Compare plans" section of the official pricing page, the features for each plan are summarized below. ✅ indicates included in the plan price (no additional charge); Add-on indicates available for separate billing.
| Feature | Essentials | Pro | Enterprise |
|---|---|---|---|
| VDM - SES Deliverability | ✅ | ✅ | ✅ |
| VDM - Global Deliverability | Add-on | ✅ | ✅ |
| Dedicated IP - Managed | Add-on | ✅ (1 domain, 1 DIP, 5 seedlist tests) | ✅ (5 domains, 12 DIPs, 25 seedlist tests) |
| Email Validation (Automatic) | Add-on | ✅ (2,500 API calls/month included) | ✅ (5,000 API calls/month included) |
| Global Endpoints | Add-on | Add-on | ✅ (included) |
| Tenants | Add-on | Add-on | ✅ (1,000 tenants included) |
| Authenticated Ingress Endpoints | ✅ | ✅ | ✅ |
| Open/mTLS Ingress Endpoints | Add-on ($50/month) | Add-on ($50/month) | ✅ (1 included) |
| Trend Micro Add-on | Add-on | ✅ | ✅ |
| Spamhaus Add-on | Add-on | Add-on | ✅ |
Pro and Enterprise Price List API responses (excerpt, restructured)
{
"publicationDate": "2026-07-20T18:02:12Z",
"pro_samples": [
{
"feature": "Recipients-Validation",
"pricingPlans": "Pro",
"pricePerUnit": "0.0000000000"
},
{
"feature": "InboxTest-VirtDelivMgr",
"pricingPlans": "Pro",
"tiers": [
{"beginRange": "0", "endRange": "5", "pricePerUnit": "0.0000000000"},
{"beginRange": "5", "endRange": "Inf", "pricePerUnit": "10.0000000000"}
]
}
],
"enterprise_samples": [
{
"feature": "Outbound-Email",
"pricingPlans": "Enterprise",
"tiers": [
{"beginRange": "0", "endRange": "10000000", "pricePerUnit": "0.0002300000"},
{"beginRange": "10000000", "endRange": "100000000", "pricePerUnit": "0.0001800000"},
{"beginRange": "100000000", "endRange": "Inf", "pricePerUnit": "0.0001300000"}
]
},
{
"feature": "Recipients-DIP-Managed",
"pricingPlans": "Enterprise",
"pricePerUnit": "0.0000000000"
}
]
}
Comparison of Legacy Pricing (NONE) and Essentials
We compared the legacy à la carte pricing (no plan = NONE) with the Essentials plan.
| Item | NONE | Essentials |
|---|---|---|
| Outbound Email | $0.10/1,000 emails (flat rate) | $0.16/1,000 emails (volume tiers) ※ |
| VDM - SES Deliverability | $0.07/1,000 emails (separate charge) | Included (no additional charge) |
| Mail Manager Processing | $0.15/1,000 emails (separate charge) | $0.16/1,000 emails (same tiered pricing applies) ※ |
| Monthly Fixed Fee | None | None |
※ The Essentials tiered pricing ($0.16→$0.14→$0.11) applies to both Outbound-Email and Mail Manager Email Processing (see footnotes 1 and 2 on the pricing page). Volume tiers are counted independently for Outbound and Mail Manager respectively.
NONE unit prices are from the official pricing page; Essentials values are from the Price List API and pricing page.
For sending only, NONE ($0.10) has a lower unit price. On the other hand, when using VDM together, the combined cost for NONE is $0.17/1,000 emails ($0.10 + $0.07), whereas Essentials is $0.16/1,000 emails including VDM. For accounts using VDM, switching to Essentials may reduce the combined cost.
Checking and Changing Plans with the SES API
We tried checking and changing plans using the SES API (sesv2) GetAccount and PutAccountPricingAttributes.
Checking the Current Plan with GetAccount
A PricingAttributes field has been added to GetAccount.
aws sesv2 get-account --region us-east-1 --query PricingAttributes
{
"CurrentPlan": "ESSENTIALS"
}
The NextPlan field is not included in the response when there is no pending plan change (it may be used when changing to Pro / Enterprise, but this was not verified in this test).
Full get-account output
{
"DedicatedIpAutoWarmupEnabled": false,
"EnforcementStatus": "HEALTHY",
"ProductionAccessEnabled": true,
"SendingEnabled": true,
"PricingAttributes": {
"CurrentPlan": "ESSENTIALS"
},
"SendQuota": {
"Max24HourSend": 50000.0,
"MaxSendRate": 14.0,
"SentLast24Hours": 0.0
}
}
Changing Plans with PutAccountPricingAttributes
Use PutAccountPricingAttributes to change plans by specifying the plan name in the --plan parameter. First, we changed from ESSENTIALS to NONE.
aws sesv2 put-account-pricing-attributes --plan NONE --region us-east-1
The response is empty (HTTP 200). After the change, checking with GetAccount confirmed that CurrentPlan had immediately changed to NONE.
aws sesv2 get-account --region us-east-1 --query PricingAttributes
{
"CurrentPlan": "NONE"
}
We then changed back from NONE → ESSENTIALS and confirmed it was also reflected immediately.
aws sesv2 put-account-pricing-attributes --plan ESSENTIALS --region us-east-1
A summary of plan change behavior is as follows.
| Operation | Result | Timing |
|---|---|---|
| ESSENTIALS → NONE | Success | Immediate (CurrentPlan changed directly) |
| NONE → ESSENTIALS | Success | Immediate (CurrentPlan changed directly) |
| NONE → ESSENTIALS (ap-northeast-1) | Success | Immediate |
For changes between NONE ↔ ESSENTIALS, NextPlan (scheduled change) was not used, and CurrentPlan changed directly.
Plan Status by Region
When we ran GetAccount across all 10 SES-supported regions checked in this verification, the PricingAttributes field was returned in all regions.
At the time of verification, only ap-northeast-1 (Tokyo) was NONE; the other 9 regions were ESSENTIALS. Even after changing Tokyo to ESSENTIALS using PutAccountPricingAttributes, the plan status of other regions did not change. Within the scope of this verification, we confirmed that plans appear to be managed independently per region.
Console and Documentation Rollout Status
A "Pricing Plans" menu has been added to the SES left navigation in the Management Console. It was displayed with a "New" badge in Account A. It was also confirmed to be displayed in Account B. On the other hand, in Account C's ap-northeast-1, the "Pricing Plans" menu was not displayed.


The official pricing page has been updated and now includes pricing tables and feature comparison tables for each plan. A Pricing plans page has also been added to the Developer Guide.
Summary
Essentials, Pro, and Enterprise pricing plans have been added to Amazon SES. In this verification, we confirmed the pricing data retrievable from the Price List API and verified the current plan confirmation and NONE ↔ ESSENTIALS change behavior using the SES API's GetAccount / PutAccountPricingAttributes.
For sending only, the legacy NONE ($0.10/1,000 emails) has a lower unit price, and Essentials increases the sending unit price ($0.16/1,000 emails). On the other hand, when using VDM together, the combined NONE cost ($0.17/1,000 emails) compared to Essentials at $0.16/1,000 emails including VDM means costs may decrease depending on usage. Pro and Enterprise seem to be plans to compare based on the features needed, such as managed dedicated IPs and global endpoints.
Since plan status appeared to be independent per region in this verification, if you are using SES in multiple regions, it would be advisable to check the current plan for each region individually.
