Email APIs · September 21, 2026
Why the Same 50,000 Emails Cost $5 or $66
A deep dive into the pricing spread of email APIs. We analyze why the same 50k volume varies by 13x across providers and how to choose based on your engineering constraints.
The Price Gap Explained
The price difference comes down to the business model: infrastructure versus platform. Amazon SES sells raw compute and bandwidth (infrastructure), while providers like Postmark or Mailgun sell a managed experience (platform) including better UI, specialized support, and curated IP pools. For 50,000 emails, SES a la carte costs roughly $5, while Postmark tiers can reach $66. You are paying for the reduction of operational overhead and the quality of the tooling surrounding the API.
The Raw Math: 50,000 Emails
When I look at the incident queue or the monthly cloud bill, the disparity in email pricing is one of the most jarring line items. To understand why, we have to look at the current market rates as of September 2026.
The Infrastructure Approach: Amazon SES
Amazon SES is the baseline for cost. According to their pricing page, a la carte sending costs $0.10 per 1,000 emails.
- Calculation: (50,000 / 1,000) * $0.10 = $5.00.
However, AWS introduced new tiered plans on July 21, 2026. If you move to the Essentials plan, the cost is $0.16 per 1,000. The Pro plan is $0.22 per 1,000 plus a $105 monthly fee per region. The Enterprise plan is $0.23 per 1,000 plus $500 per month. For a small product team, the a la carte model is the cheapest, but it puts the burden of configuration entirely on the engineer.
The Platform Approach: Postmark and Mailgun
Providers like Postmark and Mailgun focus on the developer experience. According to Postmark pricing, their base plan is $15 per month for 10,000 emails. Overage costs range from $1.80 to $1.20 per 1,000 emails.
- Calculation (Postmark): $15 (first 10k) + (40,000 / 1,000 * $1.20) = $15 + $48 = $63. (Depending on the specific tier, this can reach $66).
Similarly, Mailgun pricing starts at $15 per month for 10,000 emails, with overages between $1.80 and $1.10 per 1,000. These providers offer hosted templates and more intuitive analytics, which justifies the premium for teams that do not want to build their own monitoring dashboards.
The Modern Middle: Resend
Resend targets the modern product stack. Their pricing page shows a free tier of 3,000 emails per month (capped at 100 per day). Their Pro plan is $20 per month for 50,000 emails, with overages at $0.90 per 1,000.
- Calculation (Resend): $20 flat for the first 50,000.
Acceptance, Delivery, and Placement: The Critical Distinction
One common mistake I see in engineering docs is using these three terms interchangeably. They are not the same, and no API can guarantee the final step.
- Acceptance: This is the API response. When you POST a payload to an endpoint, the provider returns a 202 Accepted or 200 OK. This only means the provider received the request and it passed basic validation. It does not mean the email left the building.
- Delivery: This is the SMTP handshake. The provider attempts to hand the message to the recipient's receiving server. A "delivered" event means the receiving server said "I will take this."
- Inbox Placement: This is the final destination. The receiving server (Gmail, Outlook, etc.) decides if the mail goes to the Inbox, the Promotions tab, or the Spam folder. This is determined by the recipient's internal filters, your sender reputation, and your authentication records.
To improve your chances of delivery, you must correctly configure your DNS. I recommend using a DNS checker to ensure your records are propagating. You should follow a strict guide on DKIM, SPF, and DMARC to prove you are who you say you are.
Engineering for Reliability
Sending an email is an external side effect. In a distributed system, side effects are dangerous because they can be duplicated or fail silently.
The Idempotency Problem
If your application server times out while waiting for a response from the Email API, you do not know if the email was sent. If you simply retry, the user gets two emails. This is why an idempotency key is essential.
An idempotency key is a unique identifier (usually a UUID) sent in the header. If the API sees the same key twice, it returns the cached response from the first successful request instead of sending a second email.
{
"idempotency_key": "req_8823_abc_123",
"from": "notifications@example.com",
"to": "user@gmail.com",
"subject": "Your Order has Shipped",
"body": "Your package is on the way!"
}
Handling Agent-Driven Sending
With the rise of AI agents and MCP servers, we are seeing more "Agent-to-Agent" (A2A) communication. Agents should never have unrestricted access to a sending API. If an LLM enters a loop, it can burn through your 50,000 email quota in minutes and destroy your sender reputation.
Implement an approval workflow for agents:
- Draft Stage: The agent generates the email and stores it in a
pending_emailstable. - Human-in-the-loop: A user or a supervisor agent reviews the content.
- Execution: The system calls the API only after a
status = 'approved'flag is set.
The Technical Checklist for Migration
If you are moving from a high-cost provider to a lower-cost one (or vice versa), do not just swap the API key. Use this checklist:
- DNS Audit: Verify your SPF records. Ensure you are not exceeding the 10-lookup limit.
- Webhook Mapping: Every provider has different event names. Map
deliveredfrom Provider A tosentin Provider B. - Suppression Sync: Export your bounce and complaint lists. If you import 50,000 users into a new provider and send to known bounces, your account will be suspended immediately.
- Rate Limit Handling: Implement exponential backoff for 429 Too Many Requests errors.
Example Error Handling Logic
async function sendWithRetry(payload, attempt = 1) {
try {
const response = await emailApi.send(payload);
return response;
} catch (error) {
if (error.status === 429 && attempt <= 3) {
const delay = Math.pow(2, attempt) * 1000;
await new Promise(res => setTimeout(res, delay));
return sendWithRetry(payload, attempt + 1);
}
throw error;
}
}
Choosing the Right Tool
If you are a solo developer building a prototype, the free tiers of Resend or the a la carte pricing of SES are sufficient. If you are a product team managing a complex transactional flow with high stakes (like password resets or billing alerts), the operational safety of a platform provider is often worth the $60 difference.
For those building AI-native applications, you need more than just a pipe. You need agent readiness, such as an MCP server and a structured llms.txt file to help your agents understand how to interact with your communication layer. This is where a specialized API becomes a force multiplier rather than just a cost center.
Ultimately, the cost of the API is the smallest part of the equation. The real cost is the engineering time spent debugging a misconfigured DNS record or cleaning up a reputation crisis caused by a lack of suppression management. Whether you choose the $5 path or the $66 path, prioritize the telemetry and the tools that keep your emails moving.
Explore more developer-centric email infrastructure at https://sendhq.cc.