Marketing and transactional in one place, driven by an agent.
Mailgun is a transactional email API with a long deliverability track record, EU data residency, and inbound routing. If the job in front of you is moving receipts and password resets at volume, it does that job well and has done for over a decade, at a price that's hard to argue with.
Nitrosend is an AI-native email platform wearing a similar badge. It sends transactional mail too, and it also runs campaigns, flows, and segments, every one of them an MCP tool before it's a screen. If you're running marketing alongside the transactional stream and you already work through an agent, Mailgun covers the transactional half only, so the campaigns go to a second product and the reporting never sits in one place.
The same split is what teams end up weighing against Mailjet, Mailrelay, and Mailshake, each of which owns a different slice of the program.
Same volume, both published ladders, before any negotiated or committed-volume discount. Mailgun's ladder has a step between the rows below, Foundation at $35 for 50,000 emails a month, which is also where its validation allowance and its longer log retention start. Pick the row closest to your scale.
| Scenario | Mailgun | |
|---|---|---|
| Free | 8,000 emails to start, then 500/mo forever. Unlimited contacts, full MCP, API, and CLI | 100 emails/day, free forever. 1 sending domain, 1 inbound route, 1 day of log retention |
| 10,000 emails/mo | $20 Pro: 20,000 included, unlimited contacts, BYO sending and AI keys | $15 Basic: 10,000 included, transactional API only, still 1 day of log retention |
| 100,000 emails/mo | $100 Ultra: 125,000 included, 5 brands, 10 seats | $90 Scale: 100,000 included, one dedicated IP, SAML SSO, 30 days of log retention |
| 1M emails/mo | $300 Enterprise: 500K to 4M+ at a published price | Enterprise, quote only |
Prices accurate as of August 2026. Check vendor sites for current rates.
Nothing here is big-bang. Mailgun keeps sending while you move, and the overlap can run as long as you want it to.
nitro_send_message. Watch it for a week before anything else moves.nitro_import_contacts. Email, first and last name, and custom properties map straight across from a Mailgun list export, and there's no contact cap on the other side to import under.nitro_compose_flow. Mailgun has no flow builder to port, so this is usually the first time the sequence has existed as one object rather than as a cron job and a send call.Picking a tool is about fit. Here's what Mailgun is genuinely good at.
@mailgun/mcp-server and covering messaging, domains, analytics, templates, suppressions, and routes.You need inbound routing or parsing, you need EU data residency, or you're purely transactional at volume and want deliverability tooling with a decade of history behind it. A team whose only email is machine-generated, a product that answers replies and turns them into tickets, or a compliance review that starts with where the data sits will all be better served here. None of those are close calls, and this page isn't going to pretend otherwise.
You're running marketing and transactional email and don't want two vendors, you want the whole platform available to an agent rather than a dashboard, with the same email API underneath either way, or you want to keep the sending reputation you already have while changing everything above it. The clearest case is a team that already drafts, schedules, and checks its email through an agent, and keeps hitting a screen at the last step.
Both products put mail in inboxes, so reliability isn't the deciding line here. The line is how many products your email stack needs and who gets to drive them. Mailgun is built around the transactional half: a message goes out, a webhook comes back, and the logs say what happened to it. The campaign, the segment, and the flow that fires three days later live in something else, and they report in something else.
The split costs almost nothing while a person is the one moving between the two screens. It starts costing something the moment an agent is doing the work, because the agent has to carry two sets of credentials, two contact models, and two definitions of an unsubscribe, then reconcile the numbers itself before it can tell you anything useful. None of that is Mailgun's fault. It's what a product scoped to transactional sending is for, and it's the reason we built the other shape instead of a marketing add-on.
If that's where you are, a transactional API doing its job well and a second product carrying the campaigns, Nitrosend is the version where both halves answer to the same agent. Receipts keep going out through nitro_send_message, the campaign that used to live somewhere else gets built with nitro_compose_flow, and the free tier is enough to run the two side by side for a week before you commit to anything.
Both exist, and the difference is scope rather than quality. Mailgun's official open source server wraps its sending API, so an agent can reach everything to do with getting a message out and finding out what happened to it. Nitrosend's wraps the whole platform, so an agent can also reach the marketing side and the operational controls around it, which is the part that usually forces a person back to a dashboard. The transactional send is the one thing we deliberately left on REST, so nothing time-critical waits on an agent's turn.
For outbound, yes. Single-recipient sends, async status polling, and idempotency keys are all there. What it can't replace is inbound: Nitrosend is sender-side, so anything routing replies or feeding an inbound webhook stays on Mailgun.
Yes, and it's the migration path we recommend. BYO sending keys on Pro and above route sends through your existing Mailgun account, so the reputation and the deliverability history stay put while the campaigns, flows, and segments move.
Not as a documented option. If EU residency is a requirement rather than a preference, Mailgun is the answer here and this page isn't going to argue otherwise.