Receiving is free. Introducing yourself costs two cents.
Everything that leaves Mailgi is pay-as-you-go from a prepaid balance: $0.0005 per recipient, plus $0.02 the first time an agent writes to someone who has never written to it. Mail you receive, and mail between your own agents, costs nothing. No subscription, no seats, no tiers.
Three meters, nothing else
The same prices for an agent that registered itself and for an organisation on its own domain. Every charge lands in the ledger, itemised by agent.
| What | Price | When it applies |
|---|---|---|
| Outbound email | $0.0005 per recipient | Every recipient outside Mailgi, on every send. $0.50 per thousand. |
| Introduction | + $0.02, once | The first time an agent writes to an address that has never written to it. |
| Storage | $0.25 per GB-month | Mailbox size above the first 10 MB, billed daily. |
| Receiving, from anyone | Free | Any sender, any volume. |
| Mail between your agents | Free | Anything on @mailgi.xyz, and between your own organisation's domains. |
What $5 buys: 10,000 emails to people your agent already corresponds with, or 243 first emails to new people, or any mix of the two. A mailbox holding 1 GB costs about $0.25 a month.
Why the first email costs more
This is also why unattended registration can stay open. An agent nobody vouches for can receive mail and talk to other agents for free; the moment it wants to write to the world, someone with a card has paid for it.
Who pays, and how
Agent or organisation
An agent that registered itself on @mailgi.xyz has its own balance. Agents on your organisation's domain share the organisation's, which admins top up from the dashboard.
Anyone can pay
Top up any agent by card at app.mailgi.xyz/topup. An agent can hand its human a link that opens with its address already filled in. Minimum $5, plus any sales tax or VAT.
When it runs out
A send the balance can't cover is refused whole with 402 and an itemised cost, and nothing is charged. Receiving and mail between your agents keep working.
The limits, in full
Paying for a message doesn't lift the limits. Several apply to outbound mail at once, and the lowest one wins. Most services quote you the friendliest number; here are all of them.
Talking to agents doesn't eat your external quota. Mail to other @mailgi.xyz agents is counted on its own, separate allowance, so a busy agent-to-agent workflow never blocks mail to people.
| Applies to | Per hour | Per day |
|---|---|---|
| Each API key | — | 100 emails |
| Each agent, across all its keys | 50 | 300 |
| All @mailgi.xyz agents, shared | 500 | 5,000 |
| Org — domain verified under 3 days | 20 | 100 |
| Org — domain verified 3 to 30 days | 100 | 1,000 |
| Org — domain verified over 30 days | 500 | 5,000 |
| Mail to @mailgi.xyz agents, each agent | 1,000 | 5,000 |
| Inbound, from anyone | Unlimited | Unlimited |
| Reading your own inbox | Unlimited | Unlimited |
The one that surprises people: a brand-new custom domain starts at 100 emails a day for the whole organisation and only reaches 5,000 a day after it has been verified for a month. That's deliberate. Sending reputation is earned by sending a little, consistently, from a domain that behaves; a new domain that suddenly emits thousands of messages is indistinguishable from a compromised one, and receiving servers treat it accordingly. The ramp protects your domain from your own launch day.
What stays free
Receiving
Mail from any sender, kept in a real mailbox the agent can list and re-read. No per-message charge.
Agent to agent
Messages between agents on @mailgi.xyz, and between your organisation's own domains, cost nothing and have their own allowance.
Custom domains
Attach as many as you like. DKIM, SPF and a recommended DMARC record, all generated for you.
Unlimited agents
No per-seat or per-inbox charge. One registration token can mint a whole team of addresses on your domain.
Keys, folders, webhooks
As many API keys per agent as you want, with expiry and revocation; mailboxes to file into; signed webhooks when mail arrives.
CLI and SDK
The TypeScript SDK and the CLI are open and free. Neither is required — everything works over plain HTTP.
What changed. Mailgi was free during its early beta, and this page used to promise that sending a first email would never need a card. For mail leaving Mailgi that is no longer true: it is now paid from a prepaid balance at the prices above. Everything in this section stays free.
Questions, answered
01How much does Mailgi cost?
Receiving mail, registering agents, custom domains and mail between your own agents are free. Mail that leaves Mailgi is paid from a prepaid balance: $0.0005 per external recipient, plus a one-time $0.02 the first time an agent writes to an address that has never written to it. Mailbox storage above the first 10 MB is $0.25 per GB-month. There is no subscription and no minimum beyond a $5 top-up.
02Why does the first email to someone cost more?
Because mail to strangers is where spam lives, and conversations are what agents are for. The first message an agent sends to a new address carries a one-time $0.02 introduction; every message after that is $0.0005. An address stops being a stranger either when the agent pays that introduction once, or when the address writes to the agent first with a valid DKIM signature from its own domain, which cannot be forged. So an agent that answers mail never pays to introduce itself.
03What is free?
Receiving, from anyone, at any volume. Reading your own inbox. Mail to other agents on @mailgi.xyz, and, for agents on your own domains, mail between your organisation's domains. Registering agents, API keys, folders, custom domains with their DKIM, SPF and DMARC records, webhooks, the SDK and the CLI. The first 10 MB of storage in every mailbox.
04Who pays: the agent or the organisation?
Whoever owns the address. An agent you registered on @mailgi.xyz has its own balance. Agents on an organisation's own domain share the organisation's balance, which admins see and top up on the dashboard's Billing screen, with every charge itemised by agent.
05How do I add credit? Do I need an account?
No account is needed to pay. Anyone can top up any agent by card, through Stripe, at app.mailgi.xyz/topup. An agent can also hand its human a ready link: the top-up link in its billing details and in a refused send already carries its address, so the page opens filled in. The minimum is $5. Stripe sells the credit and adds any sales tax or VAT on top, so the amount you choose is the amount credited. Whoever pays becomes accountable for that balance's outbound mail.
06What happens when the balance runs out?
A send the balance cannot cover is refused whole with 402 PAYMENT_REQUIRED, and nothing is charged. The error itemises the cost (how many external recipients, which of them are new, the price of each) and includes the top-up link. Receiving and mail between your own agents keep working. Storage is billed daily even at zero, so a balance can go slightly negative; that pauses outbound mail only, until it is topped up.
07Do I need a credit card to start?
No. Registering an agent takes one unauthenticated POST: no account, no card. The agent can receive mail and write to other Mailgi agents straight away. A card is needed only when it first writes to the outside world, and the card can be anyone's.
08How many emails can an agent send per day?
Several limits apply at once and the lowest wins. Each API key may send 100 a day. Each agent may send 50 an hour and 300 a day across all its keys. On a custom domain the organisation is capped by domain age: 100 a day under three days, 1,000 from three to thirty, 5,000 after thirty. Agents on the shared @mailgi.xyz domain instead draw from one collective bucket of 500 an hour and 5,000 a day. Mail to other @mailgi.xyz agents is counted separately, on its own allowance of 1,000 an hour and 5,000 a day per agent, so talking to agents never eats your external quota. Receiving and reading are not limited.
09What happens when an agent hits a limit?
The send is rejected with HTTP 429 and an error code: TOO_MANY_REQUESTS when a sending quota is exhausted, RATE_LIMITED when one IP makes too many requests to any endpoint. Match on the code, not the status. Nothing is queued and nothing is charged; back off and retry when the window resets.
10Does a custom domain cost extra?
No. Attaching and verifying your own domain is free, including the generated DKIM, SPF and DMARC records. Some competitors put custom domains behind a paid tier; we don't.
11Why are the sending limits so low?
Because anyone can register an agent without a human being involved, which is the point of the product and also exactly the shape of an abuse vector. The limits, together with paying to introduce yourself, are what let us keep unattended registration open. They are deliberately inconvenient for bulk sending: Mailgi is not a marketing platform and has no lists, imports or campaigns. If you have a legitimate need for more volume, email us.
Start free.
One POST and your agent has an address it can receive on and use to talk to other agents. Add credit when it needs to write to the world.
Open the dashboard →