What is Mailgun Routes?
Mailgun Routes is the inbound email processing feature of the Mailgun transactional email service. It allows you to define routing rules — based on recipient address, subject line patterns, or other criteria — and forward matched emails to a webhook URL as a parsed payload. Mailgun is widely used in the developer community for both outbound sending and inbound processing.
Mailgun Routes is offered by Mailgun (Sinch) and is a popular choice for teams that need to process inbound email at scale. It integrates into existing workflows through routing rules, filters, and forwarding options that make it flexible for many use cases.
However, as teams grow and requirements evolve, many developers find that Mailgun Routes introduces complexity, cost, or integration overhead that does not match what they actually need. JsonHook was designed to address these gaps by delivering every inbound email as a clean, structured JSON webhook with zero configuration required.
Pricing: Foundation plan $35/mo (5,000 emails); pay-as-you-go $0.80 per 1,000 emails above included volume
- Always-JSON delivery: No multipart form parsing — every delivery is a clean JSON POST regardless of email complexity
- Automatic retry with delivery logs: JsonHook retries failed deliveries and exposes the full delivery history via API
- Lower cost for inbound-only use cases: JsonHook's Starter plan at $12/mo covers 5,000 emails — compared to Mailgun's $35/mo Foundation plan
- Per-address routing built in: Each JsonHook address has its own webhook URL — no routing rules to manage
- Mandatory HMAC-SHA256 signatures: Every request is signed; verification is documented with code examples for all major languages
Limitations of Mailgun Routes
Before committing to Mailgun Routes for your inbound email pipeline, it is important to understand where it falls short. Development teams frequently encounter the following pain points:
- Expensive at scale: Mailgun's pricing is oriented toward outbound sending volume; using it primarily for inbound parsing is cost-inefficient compared to dedicated inbound tools
- Form-encoded payload by default: Like SendGrid, Mailgun posts inbound email data as
multipart/form-dataunless you enable a specific 'store and notify' configuration, complicating your webhook handler - Route management complexity: Defining and maintaining routing rules through Mailgun's UI or API adds operational overhead, especially when you need per-address routing
- Webhook signature verification is opt-in: Mailgun's signature system exists but requires careful implementation; many teams skip it, leaving webhooks exposed to spoofing
- No built-in retry logic: If your endpoint returns an error or times out, Mailgun does not guarantee redelivery of the parsed payload
These limitations become particularly painful at scale or when building applications that require low-latency, reliable delivery of email data as structured JSON. JsonHook solves each of these issues out of the box.
Switch from Mailgun Routes to JsonHook
Free tier: 100 emails/month. Migrate in minutes.
Get Free API KeyMailgun Routes vs JsonHook
The following table provides a direct, feature-by-feature comparison between Mailgun Routes and JsonHook. Both tools handle inbound email processing, but they differ significantly in approach, pricing, and developer experience.
| Feature | Mailgun Routes | JsonHook |
|---|---|---|
| Structured JSON output | multipart/form-data (default) | ✓ Always JSON |
| Automatic retries | ✗ No retry | ✓ With backoff |
| Webhook signatures | Available, opt-in | ✓ Always enabled |
| Per-address routing | Rule-based routing | Native per-address webhook |
| Pricing (5K emails/mo) | $35/mo (Foundation) | $12/mo (Starter) |
| Free tier | Trial only (no permanent free tier) | 100 emails/mo free forever |
| Attachment metadata | Included in form fields | Structured JSON attachment array |
| Setup complexity | MX records + route rules | API call + webhook URL |
| Delivery logs | Logs via Mailgun API (30-day retention) | Full per-delivery logs via API |
| Inbound-only pricing | Priced for outbound + inbound | Priced for inbound use cases |
JsonHook is purpose-built for developers who want inbound email delivered as a JSON webhook endpoint call — nothing more, nothing less. There is no dashboard complexity to navigate for basic delivery, no per-message parsing fees, and no lock-in to a specific email provider SDK.
How to Migrate from Mailgun Routes to JsonHook
Migrating from Mailgun Routes to JsonHook is straightforward. Most teams complete the switch in under 30 minutes. Follow the steps below to move your inbound email pipeline without downtime:
- Sign up for JsonHook, create an inbound address via the API or dashboard, and copy your webhook secret
- Add your application's webhook handler endpoint as the JsonHook address target URL
- Update your domain routing: either update MX records to point to JsonHook or configure email forwarding from the address currently handled by Mailgun Routes
- Refactor your webhook handler to parse the JsonHook JSON payload instead of Mailgun's multipart form data — update field references from Mailgun's naming (e.g.,
body-plain) to JsonHook's (e.g.,email.textBody)
Because JsonHook delivers a consistent JSON payload for every inbound email — including parsed headers, text body, HTML body, and attachment metadata — you typically need fewer lines of application code after the migration than before.
Pricing Comparison
Mailgun Routes pricing: Foundation plan $35/mo (5,000 emails); pay-as-you-go $0.80 per 1,000 emails above included volume. Costs can escalate quickly as email volume grows, and many plans gate key features like webhook retries or attachment handling behind higher tiers.
JsonHook offers transparent, volume-based pricing with a generous free tier that is suitable for side projects, staging environments, and low-volume production use:
| Plan | Price | Emails / Month | Features |
|---|---|---|---|
| Free | $0 | 100 | All core features, 1 address, HMAC signatures |
| Starter | $12/mo | 5,000 | 5 addresses, retries, attachment parsing |
| Pro | $39/mo | 50,000 | Unlimited addresses, priority delivery, logs |
Compared to Mailgun Routes, JsonHook's Starter plan ($12/mo) covers the majority of small-to-medium use cases at a fraction of the cost, with no per-email parsing fees and no credit card required for the free tier.