At a glance
Fourteen rows. Every Mailsac cell is what its pricing page, FAQ and documentation said on 2 September 2026; every GrabMail cell is read from the constants the service enforces. “Partly” means a paid tier, a cap, or a caveat the row cannot hold — the sections below say which.
| Feature | GrabMail | Mailsac |
|---|---|---|
| Free tier | Yes: Everything: public domains, your own domain, the API and the MCP server. No account, no card. | Partly: Basic: public inboxes, 1,500 operations a month (received messages plus API calls), 50 stored messages, one private address, no custom domain. |
| No account, no API key | Yes: Nothing to create. A GET with the address in the query string reads the mailbox. | Partly: The web inbox at mailsac.com/inbox/… needs nothing. The API needs an account and a Mailsac-Key header. |
| REST API | Yes: Three endpoints over HTTPS, OpenAPI 3.1, one read per second per address. | Yes: A full REST API, every call counted as one operation against the monthly quota. |
| Choose your own address | Yes: Any name on 8 public domains, grabmail.io and mixozia.com among them, free. | Yes: Any name at @mailsac.com, free; “just make one up”. Plus-addressing too. |
| Your own domain | Yes: Free and unlimited: one MX record at smtp.grabmail.io, no registration step. | Partly: $7 a month or $75 a year per domain, or a zero-setup subdomain of msdc.co; one included from Indie. Private and unthrottled. |
| Message retention | 5 days, fixed. Not a tier, not a setting. | Public inboxes: 4 days and 6 messages per inbox. Private addresses and custom domains: until your storage quota (50 to 12,000 messages) recycles them. |
| Attachments | Yes: Up to 5 MB per message, downloadable from the inbox and the API. | Partly: Yes, but for public addresses only through the API, not the website; whole message capped at 2.5MB. |
| No ads, no tracking | Yes: No ads, no analytics, no third-party script. | Yes: No advertising. |
| Private inbox | No: Public: anyone who knows the address can read it. Each mailbox has an alias to hand out instead. | Partly: Public by default and throttled. Private on enhanced addresses (one free, 50 on Indie) and on custom domains. |
| MCP server for AI agents | Yes: Free MCP server at https://grabmail.io/mcp: create an inbox, wait up to 25 seconds for a message, read it. | No: None published: no MCP server, no llms.txt. |
| Sending mail | No: None, by design. Receive only. | No: None: “a receive-only service”. A separate capture service for outbound mail exists. |
| Webhooks or push | No: None. Poll once a second, or let the MCP wait hold the call open. | Yes: Webhooks, websockets per address or domain, Slack forwarding and POP3 — on paid plans, each publish counted as an operation. |
| Official SDKs | No: None. An OpenAPI document and three endpoints instead. | No: None official; curl, Node.js and Python examples, and public repositories on GitHub. |
| Apps and extensions | Partly: A Chrome extension, loaded by hand; not on the store yet. | No: No app or extension; a web inbox, a unified inbox and POP3. |
Checked 2 September 2026. Mailsac renders monthly prices in its page and yearly ones only in its pricing script ($169 Indie, $840 Business); both are quoted. It publishes no requests-per-second figure, only the monthly operations quota and a right to throttle anyone, paid or not.
What Mailsac does well
Mailsac has run since 2011 and sits between the public services and the big platforms on both price and scope. Four things it does that GrabMail does not:
- Push, four ways. A message arriving at a private address or a custom domain can be posted to a webhook, pushed over a websocket, forwarded to Slack, or pulled by POP3. A workflow that cannot poll has options here; GrabMail offers only polling and the MCP wait.
- Private addresses at a low price. One private address on the free plan, fifty on Indie at $18 a month. Mail to them is visible only to the account. Every GrabMail mailbox is public, at every price.
- Retention you can grow. Private mail is kept until your storage quota recycles it, and a starred message is never recycled. GrabMail deletes after 5 days, whatever you do.
- Tools around the inbox. Load testing, an outbound capture service, delete-everything-on-a-domain, IP allowlists, SSO on Business, and a public forum with the team in it. GrabMail is three endpoints and a status page.
Where GrabMail is different
GrabMail keeps the part of Mailsac that people love — make up an address, receive at once — and removes the meter and the key.
- No key, no quota. Mailsac counts every API call as an operation and stops at 1,500 a month on the free plan; a suite polling one inbox every second uses that in twenty-five minutes. GrabMail’s API has no key, no account and no monthly count — one read a second per address, all month.
- A more useful public inbox. On Mailsac a public inbox holds six messages for four days, capped at 2.5MB, with attachments reachable only through the API. Here a mailbox holds every message for 5 days, each up to 5 MB, attachments downloadable from the page and the API.
- Your own domain, free. Mailsac’s custom domain is $7 a month or a subdomain of its own
msdc.co. Here any domain you point at smtp.grabmail.io is a catch-all inbox for nothing — and, unlike Mailsac’s, it does not buy privacy, which the row above says plainly. - An MCP server for agents. Mailsac has none. GrabMail’s at https://grabmail.io/mcp gives an agent an inbox and a blocking
wait_for_messageof up to 25 seconds, with no key.
Price, side by side
Mailsac’s prices are in US dollars, monthly or yearly, with add-ons per domain, per block of operations and per block of storage; all sales are final. GrabMail’s only paid plan buys access to a pool of domains kept off the disposable-mail blocklists; everything in the table above stays free.
| Tier | GrabMail | Mailsac |
|---|---|---|
| Free | Public domains, your own domain, API, MCP. No account, no cap. | Basic: 1,500 operations a month, 50 stored messages, 1 private address, public inboxes, community support. |
| Cheapest paid | Premium, $24 a month: API access to the off-blocklist domain pool, paid in crypto. | Indie, $18 a month or $169 a year: 25,000 operations, 1,000 stored messages, 50 private addresses, 1 custom domain, webhooks, websockets, Slack. |
| Team tier | Pro $78 and Scale $148 a month: more messages and keys on the same pool. | Business, $89 a month or $840 a year: 2 million operations, 5,000 stored, 250 private addresses, 5 domains, 5 seats, SSO. |
| Add-ons and above | None. There is no contract tier and no SLA. | Custom domain $7 a month or $75 a year; 500,000 operations $25 a month. Enterprise from $295 a month, billed yearly from $3,540. |
Prices as published on 2 September 2026. Mailsac’s terms: no refunds, no SLA for any customer, and a right to throttle. GrabMail’s plans are prepaid from a crypto balance and carry no SLA either. GrabMail’s pricing page has the full grid.
For developers: reading a mailbox
The whole difference in one command. This reads a GrabMail mailbox with no header, no key and no account:
$ curl -sG https://grabmail.io/api/v1/mailbox --data-urlencode "address=anything@grabmail.io" | jq '{count, alias}'The Mailsac equivalent is GET https://mailsac.com/api/addresses/name@mailsac.com/messages with a Mailsac-Key header — the same shape, one header more, and one operation off the month’s quota. The two APIs are close enough that a wait loop written for one is a base URL change for the other; the Python and Node.js guides have the GrabMail version.
The quota is the thing to design around if you stay on Mailsac: a loop that polls every second burns 3,600 operations an hour, so its documentation steers you to webhooks or websockets. On GrabMail polling once a second is the intended pattern, and the only ceiling is per address.
For AI agents
Mailsac publishes no MCP server and no llms.txt; an agent can call its REST API with the account’s key like any script, and every call costs an operation. GrabMail’s server at https://grabmail.io/mcp gives an agent an inbox with no key: create_inbox, a blocking wait_for_message of up to 25 seconds, read_message.
For an agent that must sign itself up somewhere, the keyless server is the difference between finishing and stopping at a form. Email for AI agents covers the four-call loop and the guard rails for an agent nobody is watching.
Switching from Mailsac
The two are near twins on the inbound path, so the switch is short:
- Change the base URL.
mailsac.com/api/addresses/{address}/messagesbecomesgrabmail.io/api/v1/mailbox?address={address}; a message is read at/api/v1/message/{id}?mailbox={address}. Field names are close; the ids are not, so do not persist them across services. - Drop the header and the quota logic. Remove
Mailsac-Keyfrom the request and the environment, and any back-off you wrote around the monthly operations count. Keep a one-second interval per address. - Point your domain here, if you had one. Change its MX record from Mailsac’s to
smtp.grabmail.io, priority 10. It becomes a catch-all inbox here for free — and public, where Mailsac’s was private. - Replace push with polling or a wait. Webhooks, websockets, Slack and POP3 have no equivalent here. A test suite polls; an agent uses the MCP wait. If neither fits, stay.
Which one, for what
The honest split:
Pick GrabMail when
- the API must be keyless, or the polling volume would blow through a monthly quota;
- you want your own domain as a catch-all inbox without a monthly fee;
- attachments, longer retention and an MCP server matter on the free tier.
Pick Mailsac when
- you need webhooks, websockets, Slack or POP3 delivery;
- the mail must be private to your account, on a budget of $18 a month;
- you want messages kept until you delete them, or starred forever.
When to stay with Mailsac
Three situations where switching would cost you something real:
- Your tests carry real data. Mailsac’s private addresses and custom domains keep mail inside the account. Every GrabMail mailbox is public, on the public domains and on yours. A test that mails a customer’s details needs the first.
- You depend on push. A workflow built on Mailsac webhooks or websockets has nothing to move to here: GrabMail is poll-only by design.
- You keep mail for weeks. Starred messages and private storage on Mailsac last as long as your quota; GrabMail’s 5 days are a hard limit. An audit trail of test mail should stay where it is kept.
Questions
Is GrabMail a free alternative to Mailsac?
For public inboxes, the API and your own domain, yes — and without a key or a monthly quota. It is not a replacement for Mailsac’s private addresses, webhooks, websockets, Slack forwarding or POP3, which do not exist here.
What does Mailsac’s free plan include?
Public inboxes at @mailsac.com, 1,500 operations a month where an operation is an API call or a received message, 50 stored messages, one private address and no custom domain. Public mail is kept 4 days, 6 messages per inbox, capped at 2.5MB per message.
Do I need an API key to read a mailbox?
On Mailsac, the web inbox at mailsac.com/inbox/… needs nothing, but the API needs an account and a Mailsac-Key header. On GrabMail neither the page nor the API needs anything: the address in the query string is the whole request.
Is a Mailsac custom domain private?
Yes — Mailsac says mail on a custom domain or a private address is visible only to the account, and is not throttled. A GrabMail domain is free but public: anyone who knows an address on it can read that mailbox. Its alias is the way to hand out an address without handing out the inbox.
Which one works with AI agents?
GrabMail runs a free keyless MCP server with a blocking wait_for_message; Mailsac publishes none, though its REST API can be called by an agent that holds the account key. The client guide has the GrabMail configuration.


