The Mailgun Routes alternative
built for inbound email.
Mailgun Routes match incoming email and forward it to your URL. GhostParse does that too, and everything around it: parsing, checks, field extraction, routing rules and destinations, with up to 100 routing rules on every plan, Free included, and no copy of your email kept.
Inbound email, done properly.
Starts free
1,000 emails a month on the free plan, then pay as you go: £0 a month and £1.50 per 1,000 emails, so a quiet month costs nothing.
Signed, typed JSON
Every webhook is signed (Standard Webhooks), and every field is always there: null when the email doesn't have it.
The reply, not the thread
reply_text is what the person actually wrote, with the quoted history and signatures removed.
Is the sender real?
SPF, DKIM and DMARC are checked for every email, with one verdict to trust, plus spam and virus checks.
Never stored
Email is parsed in memory and delivered. We keep a short log of metadata, never the message.
Fields, not just text
Pull order numbers, totals and tracking codes out of email with rules or AI, from ready-made parsers or your own.
Route it anywhere
Routing rules send email to your webhook, Slack, Microsoft Teams, Google Sheets, Make or n8n, with up to 100 rules on every plan.
Test on localhost
The CLI streams real email to your laptop, and simulate fires signed test webhooks offline, before you even have a domain.
Attachments to your bucket
Files can go straight to your own S3, R2, B2 or Google Cloud bucket, with download links in the webhook instead of base64.
What to know about Mailgun Routes.
From Mailgun's public pages and documentation, October 2026. Plans and prices change: check Mailgun's site for the latest.
- Routes by plan
- Mailgun lists one inbound route on its Free plan, five on Basic ($15 a month), and full inbound routing from Foundation ($35 a month), as listed in October 2026.
- Payload
- Mailgun forwards matched email to your URL as form fields (sender, recipient, body-plain, stripped-text, attachments), signed with your webhook signing key.
Move over in an afternoon.
Add your domain
Create a free account, add the domain (or a subdomain), and add the DNS records the dashboard shows you, automatically if you use Cloudflare.
Test locally first
Run npx @wildye/email-parser-cli simulate http://localhost:3000/your-endpoint to see the exact payload your code will get, signed, before any mail moves.
Switch the MX
Point the domain's MX record at us instead of Mailgun's (mxa/mxb.mailgun.org), or start with a subdomain such as inbound.yourapp.com. Your routing rules move to Routing rules in the dashboard.
Field by field
Where each Mailgun Routes field is in our webhook payload.
| Mailgun Routes | GhostParse |
|---|---|
sender / recipient | data.envelope.mail_from / data.envelope.rcpt_to |
from / subject | data.from / data.subject |
body-plain / body-html | data.text / data.html |
stripped-text | data.reply_text |
Message-Id | data.message_id |
message-headers | data.headers (an object, not a JSON string) |
attachment-count, attachment-1… | data.attachments[] (filename, content_type, size, content) |
timestamp / token / signature | webhook-timestamp / webhook-id / webhook-signature headers (Standard Webhooks) |
Before you switch.
Can I keep sending with Mailgun?
Yes. Receiving and sending are separate: move only your inbound email (the MX record) and keep sending with Mailgun, or send with us too.
Can I try it without moving my main domain?
Yes. Use a subdomain such as inbound.yourapp.com, or your account's instant inbox address, which needs no DNS at all. Your main mailbox carries on as it is.
How do I check the webhooks are really from you?
Each webhook carries a webhook-signature header (Standard Webhooks, HMAC-SHA256). Our SDKs for Node.js, Python, PHP, Ruby and Go verify it in one line.
Do you store the emails?
No. Email is parsed in memory and delivered to you; we keep a short log of metadata (who, when, what happened), never the message itself. How we handle data.
Try it on a subdomain today.
Also compared: Postmark Inbound · SendGrid Inbound Parse.