Short answer
For password resets, sign-in codes, receipts and alerts, the best email API is the one whose shared IPs carry only that kind of mail. On a shared pool, reputation is pooled. One sender's newsletter blast or cold outreach campaign lowers the standing of every IP it touches, and your reset email goes out from those same IPs. So before you compare SDKs or prices, ask each provider what it refuses to send. That question is the one most comparisons skip, and this guide is built around it.
A disclosure: we make Groundmail, one of the six APIs this guide covers. The others are Postmark, Resend, SendGrid, Mailgun and Amazon SES. Our prices below come from our own pricing page, and the questions apply to us as much as to anyone else.
On this page
- Short answer
- What an email API is, and where SMTP fits
- What to check before you pick one
- Questions to put to all six providers
- Groundmail's prices by volume
- Shared pool, dedicated IP or dedicated server
- How the new-account ramp works
- Who should not choose Groundmail
- Getting started with Groundmail
- FAQ
- Sources
What an email API is, and where SMTP fits
An email API lets your application hand a message to a sending service over HTTP. Your code calls an endpoint with the recipient, subject and body. The provider then queues the message, signs it, delivers it to the mailbox provider and reports back what happened. You never run a mail server yourself.
SMTP relay does the same job over the older mail protocol. You point your app or framework at the provider's SMTP host with a username and password, and it relays the mail. SMTP is the easy choice when software already speaks it, such as a CMS, an ERP or a legacy app you cannot change. An HTTP API is usually the better choice for new code. It returns structured errors, works cleanly with retries, and pairs with webhooks that tell you about bounces and complaints. For which port to connect on, see our guide to SMTP ports.
Most providers on this list offer both. The choice between them rarely decides deliverability. What decides it is the infrastructure behind them and who else is sending through it.
What to check before you pick one
Who else is on the shared pool. Every account starts on shared IPs unless it pays for dedicated ones. If a provider also sells marketing and bulk sending on that pool, your sign-in codes share reputation with promotions. Ask whether marketing and cold email are allowed on the IPs your transactional mail uses. If they are, ask whether the streams are separated.
How you move to isolation. At some volume, or when a security reviewer asks, you may want your own IPs or your own server. Check whether that is a setting on the same API or a separate product with a different integration. A migration you have to plan around is a migration you will put off.
Who runs the servers. When a reset email lands in spam, someone has to read the logs and change something. A provider that runs its own mail servers and IP space can do that directly. A reseller sending through someone else's infrastructure has to file a ticket with its own vendor. Security and procurement reviews ask the same question in writing: who handles this mail, and who handles it for them?
Authentication you can finish in an afternoon. Google, Yahoo and Microsoft expect SPF, DKIM and DMARC on mail you send. Any provider should walk you through the DNS records. Our SPF, DKIM and DMARC guide explains what each record does for transactional mail, and our guide to the Google, Yahoo and Microsoft sender rules covers the rules themselves.
Limits on a new account. Mailbox providers distrust sudden volume from a new sender, so most providers cap what a new account can send per day and raise the cap as you prove you send cleanly. If you are moving an existing app with real traffic, ask what the ramp looks like and who to contact to speed it up.
Price at the volume you will actually send. Starting prices tell you little. Price the plan at your volume today and at two or three times that, and check how overage is billed. A plan that is cheap at 50,000 emails can be expensive at 500,000.
The rest of the integration. Check for an SDK in your language, webhooks for delivery events, and inbound handling if your app needs to receive replies or parse incoming mail.
Questions to put to all six providers
For a ranked list of providers with prices at 50,000, 100,000 and 1M emails, see the best transactional email APIs. Our comparison pages price Postmark, Resend, SendGrid, Mailgun and Amazon SES at volumes from 10,000 to 1M emails. Prices change, so check those breakdowns against each provider's own pricing page before you sign. The questions below are the ones that separate the providers once the prices are in front of you.
| Question to ask | Why it matters | Groundmail's answer |
|---|---|---|
| Are marketing and cold email allowed on the shared IPs my transactional mail uses? | Pooled reputation means other senders' mail affects yours | No. The shared pool carries only transactional mail. |
| Do you run your own mail servers and IP space? | The team that owns the servers can read the logs and change the IPs | Yes. Groundmail operates its own servers and IP space. |
| Can I get dedicated IPs without changing my integration? | Isolation should not require a rewrite | Yes. Dedicated IPs and servers use the same API as the pool. |
| What does a dedicated IP cost, and on which plan? | Some providers gate isolation behind enterprise contracts | $50/mo per IP, requested on any plan and run on Scale (100,000+ emails a month). The first IP is included from 500,000. |
| Can I get a fully dedicated mail server? | Some security reviews require no shared queue at all | Yes, from $299/mo. |
| How does the new-account daily limit ramp? | It decides whether you can move existing traffic quickly | Paid accounts start at 1,000 product and 3,000 transactional emails a day and double from there. |
| Is inbound mail billed as a send? | Apps that parse replies can double their bill | No. Inbound mail is not billed as a send. |
- Resend: Groundmail vs Resend, and Postmark vs Resend.
- Postmark: Postmark alternatives.
- SendGrid: SendGrid alternatives, and migrating from SendGrid.
- Mailgun: Groundmail vs Mailgun.
- Amazon SES: Amazon SES alternatives, and migrating from Amazon SES.
Developer features at the six providers
| Vendor | Official SDKs | Webhook security | Testing without real sends | Official MCP server | Inbound |
|---|---|---|---|---|---|
| Groundmail (ours) | Node, Python (Django backend), Go, PHP (Laravel, Symfony Mailer), Ruby (ActionMailer) | HMAC-SHA256 signature on each event, one event per request | Test keys (gm_test_) that never deliver or bill, simulator addresses, sandbox sender before DNS | Yes: hosted with OAuth, or groundmail-mcp on npm | Every plan, Free included |
| Resend | Node.js, PHP, Laravel, Python, Ruby, Go, Java, Rust, .NET | Signed through Svix headers | Test addresses at resend.dev (count against quota) | Yes: hosted with OAuth, or local | Yes (receiving) |
| Postmark | Node.js, TypeScript, Python, Ruby and Rails, PHP, .NET, Java | No HMAC signatures; basic auth and IP allowlist recommended | POSTMARK_API_TEST token, sandbox servers (count toward volume), black-hole and bounce-test addresses | Yes | Pro and Platform |
| SendGrid | C#, Go, Java, Node.js, PHP, Python, Ruby | ECDSA signature; events posted as JSON arrays | sandbox_mode mail setting validates without sending | None official found | Inbound Parse webhook |
| Mailgun | Go, Node.js, PHP, Java, Ruby, Python | HMAC-SHA256 of timestamp and token | o:testmode (billed), sandbox domain for authorized recipients | Yes, local | Routes (1 on Free, 5 on Basic) |
| Amazon SES | General AWS SDKs | Events via SNS, EventBridge, Firehose or CloudWatch; SNS messages are signed | Mailbox simulator (billed); account sandbox per region | Through the AWS MCP Server | Email receiving with receipt rules, in supported regions |
Sources: each vendor's own docs for SDKs, webhooks, testing and MCP, linked in the sources at the end.
Last checked on each vendor's public page.
Groundmail's prices by volume
These are the list prices on Groundmail's pricing page, read on 2026-10-16. Overage is billed per 1,000 emails at the tier's rate.
| Plan | Emails per month | Price | Overage per 1,000 |
|---|---|---|---|
| Free | 3,000 (100 a day) | $0/mo | None, sending stops at the limit |
| Pro | 50,000 | $20/mo | $0.90 |
| Pro | 100,000 | $35/mo | $0.90 |
| Scale | 100,000 | $90/mo | $0.90 |
| Scale | 200,000 | $160/mo | $0.80 |
| Scale | 500,000 | $350/mo | $0.70 |
| Scale | 1,000,000 | $650/mo | $0.65 |
| Scale | 1,500,000 | $825/mo | $0.52 |
| Scale | 2,500,000 | $1,150/mo | $0.46 |
| Dedicated | 250,000 included | From $299/mo | $0.80 |
Pro and Scale both list a 100,000 tier, and Pro is cheaper at that volume. Scale buys what Pro does not have: tiers up to 2.5M with overage falling to $0.46 per 1,000, up to 1,000 sending domains instead of Pro's 10, tenants for up to 1,000 of your own customers, and dedicated IPs. If you send 100,000 emails from one product and need none of that, Pro at $35 is the right plan.
At 1M emails a month, Scale costs $650 and includes your first dedicated IP, because the first IP is included from 500,000. On the Dedicated plan, the same 1M emails cost $299 plus 750,000 overage emails at $0.80 per 1,000, which comes to $899 a month. The extra cost buys a server of your own with no shared queue. That is usually a security or procurement requirement, not a deliverability one.
Every sending feature is on every plan, including inbound email, templates, automations and webhooks. A card on file is required to send, including on Free, and it is not charged unless you upgrade. Each accepted recipient message counts once, so a batch request is billed per message.
How the new-account ramp works
New senders get a daily limit that grows as they prove they send cleanly. On Groundmail, paid accounts start at 1,000 product emails and 3,000 transactional emails a day. The limit doubles each day after you use at least half of it, as long as bounces stay under 2% and complaints under 0.1%. A clean sender goes from 1,000 to 64,000 a day in about a week. The ramp ends once it reaches your plan's monthly volume, and upgrading does not lift it. The Free plan stays at 100 a day.
The ramp exists because the IPs are shared. If you are moving an existing sender with real traffic and need more volume sooner, the pricing page says to email support@groundmail.dev. To move without dropping mail during the switch, see our guide to switching transactional email providers without downtime.
Who should not choose Groundmail
Groundmail is not for newsletters, marketing blasts or cold outreach. It sends only mail a user is waiting on: resets, sign-in codes, receipts, invitations and alerts. Marketing and cold email are not allowed on its IPs (AUP), and that rule is what keeps the shared pool clean.
If you need newsletters too, use a separate marketing service for them and keep them off your transactional path. Sending a promotion and a sign-in code through the same service and the same reputation means a bad campaign week can delay logins. Two vendors for two different jobs costs less than that.
| If you need | Look at | Why |
|---|---|---|
| Marketing and transactional email in one tool | Brevo, Mailjet, Loops; Resend or SendGrid with their separate marketing products; Postmark broadcast streams | One account and one template system. Check whether marketing shares IPs or quota with transactional mail. |
| The lowest cost at very high volume | Amazon SES, then Bird Growth | At 1M a month: $100 to $160 on SES and $450 on Bird Growth (computed), against $600 to $800 on most volume-priced plans. Budget for the setup and monitoring you take on. |
| Fixed IPs your customers can allowlist | Groundmail dedicated IPs or dedicated server; Postmark, Resend, SendGrid Pro, Mailgun, SES dedicated IPs | Check the volume floor and plan requirement for each. Postmark needs 300k+/mo on Pro or higher; Resend needs Scale and over 3,000/day. |
| A shared pool that carries transactional mail only | Groundmail; Postmark's transactional stream | Groundmail's AUP doesn't allow marketing on its IPs. Postmark keeps broadcast on separate infrastructure and its own IP pool. |
| Your own mail server, not just your own IPs | Groundmail Dedicated | From $299/mo with 250k included; nothing else in the queue but your mail. |
| Small audience, lots of sends | Loops (contact-based) | Flat price by contacts, with transactional sends to non-audience recipients included. |
| Large user base, predictable per-email cost | A volume-priced API | Contact-based pricing grows with your user count; volume pricing grows with what you send. |
| Long log history by default | Postmark | 45 days on every plan, configurable to 365. |
Last checked on each vendor's public page.
Getting started with Groundmail
Groundmail sends from mail servers and IP space it operates itself, keeps its shared pool to transactional mail only, and offers dedicated IPs and dedicated servers on the same API. It includes an HTTP API, SMTP relay, SDKs for Node, Python, Go, PHP and Ruby, a CLI and an MCP server. If you send password resets, receipts and alerts and want to know who else is on your pool, you can create your free account and send from the Free plan once your domain is verified.
Frequently asked questions
Is an email API better than SMTP?
For new code, usually yes. You get structured errors, simpler retries and webhooks for delivery events. SMTP is the better choice when the software you are wiring up already speaks it and you cannot change its code. Deliverability depends on the infrastructure behind either one, not the protocol.
Can I use one provider for transactional and marketing email?
You can, but your transactional mail then shares reputation with your campaigns unless the provider separates the streams. Ask which IPs each stream uses before you decide.
What will 100,000 emails a month cost?
On Groundmail, $35 a month on Pro, or $90 on Scale if you need more domains, tenants or dedicated IPs. Our comparison pages price the other five providers at similar volumes.
Do I need a dedicated IP?
Not at the start. A dedicated IP needs steady volume to build reputation. Move to one when your volume is high and consistent, when customers need fixed IPs to allowlist, or when a review requires it.
Does receiving email cost extra?
On Groundmail, inbound mail you receive is not billed as a send, and inbound handling is included on every plan.
Is there a free plan?
Groundmail's Free plan sends 3,000 emails a month, 100 a day, from one domain, once the domain is verified and a card is on file.
Sources
Facts on this page about other companies' products, prices and policies come from these public pages. They change, so check them before you decide.
- Resend webhooks
- Resend test emails
- Postmark sandbox mode
- Postmark MCP
- SendGrid webhook security
- SendGrid sandbox mode
- Mailgun SDKs
- Mailgun webhooks
- Mailgun test mode
- SES event destinations
- Amazon SES mailbox simulator
- Amazon SES receiving
- Resend pricing
- Resend MCP server
- Postmark webhooks overview
- Postmark official libraries
- SendGrid libraries
- Mailgun MCP server
- Amazon SES agent setup guide
- Resend SDKs
- Postmark pricing
- Postmark dedicated IPs
- Postmark message streams
- SendGrid (Twilio) email API pricing
- SendGrid dedicated IP addresses
- Twilio Marketing Campaigns pricing
- Mailgun pricing
- Amazon SES pricing
- Mailjet pricing
- Brevo pricing
- Bird email pricing
- Loops pricing
- Loops: transactional vs marketing email