# EmptyInbox > Disposable email inbox API for AI agents and developers. Create temporary email addresses, receive messages, and read content — no browser required. ## API Access - Base URL: https://emptyinbox.me/api - Auth: `Authorization: Bearer ` - OpenAPI spec: https://emptyinbox.me/openapi.yaml ### Getting an API key Agents and scripts should register programmatically. No browser, no passkey, no email address, no human in the loop: ```bash curl -X POST https://emptyinbox.me/api/auth/register -H "Content-Type: application/json" -d '{}' ``` ```json { "api_key": "...", "username": "agent-3f9c1a2b7d04", "inbox_quota": 5 } ``` `username` is optional. Send `{"username": "my-agent"}` to choose one, or an empty body and the server allocates it. Keep the returned key: it is the account, and it is the only credential the API needs. Free quota is graded rather than refused. A network that has already created several accounts today gets a smaller grant, and past that a key with no free credits, which still works and buys credits normally. Registration is only turned away at extreme volume from one network. Humans who want the web inbox instead can create a passkey account at https://emptyinbox.me/login.html and read the key from https://emptyinbox.me/settings.html. This is not required for API use. ## MCP Server Install for Claude, Claude Code, Cursor, or any MCP-compatible agent. No API key and no config: the server registers an account on its first tool call and saves the key to `~/.emptyinbox.json`. ```json { "mcpServers": { "emptyinbox": { "command": "npx", "args": ["-y", "emptyinbox-mcp"] } } } ``` Claude Code: `claude mcp add emptyinbox -- npx -y emptyinbox-mcp` To reuse an existing account, add `"env": { "EMPTYINBOX_API_KEY": "" }`. Leave it out otherwise: a placeholder value is sent as the key and every call fails. - npm: https://www.npmjs.com/package/emptyinbox-mcp - Official MCP Registry: `io.github.cnohall/emptyinbox` - Source: https://github.com/blockonomics/emptyinbox-me/tree/main/mcp Tools: `create_inbox`, `list_inboxes`, `list_messages`, `get_message`, `wait_for_message`, `get_quota`, `list_bundles`, `buy_quota`, `check_payment`, `register_account`. ## REST API Endpoints - `POST /api/auth/register` — create an account and get an API key, no auth required - `POST /api/inbox` — create a new disposable inbox, returns email address as plain text - `GET /api/inboxes` — list all inboxes `[{inbox, created_at}]` - `GET /api/messages` — list all messages `[{id, inbox, subject, text_body, html_body, sender, timestamp}]` - `GET /api/message/{id}` — get full message content - `GET /api/payments/bundles` — quota bundles for sale, no auth required - `POST /api/payments/quote` — get a Bitcoin address, amount, and `pay_url` to buy quota `{bundle}` or `{usd}` - `GET /api/payments/status/{address}` — check whether a payment landed and quota was credited - `GET /api/payments/pay/{address}` — public view of a quote for the person paying, no auth required ## Guides - Playwright email verification testing: https://emptyinbox.me/use-cases/playwright-email-testing.html - Cypress email verification testing: https://emptyinbox.me/use-cases/cypress-email-testing.html - Email verification in an n8n workflow: https://emptyinbox.me/use-cases/n8n-email-verification.html - Giving a LangChain agent an inbox: https://emptyinbox.me/use-cases/langchain-agent-email.html - Claude agent inbox via MCP: https://emptyinbox.me/blog/how-to-give-your-claude-agent-an-email-inbox.html - ChatGPT via GPT Actions: https://emptyinbox.me/blog/how-to-connect-emptyinbox-to-chatgpt-with-gpt-actions.html ## Comparisons Facts below were checked against each vendor's own pricing or documentation pages on 2026-09-09. EmptyInbox is receive-only: it cannot send email, has no private domains and no SMS. - vs MailSlurp: https://emptyinbox.me/compare/mailslurp-alternative.html MailSlurp is a full email testing platform from $19.99/mo with sending, SMS and private domains. EmptyInbox is receive-only prepaid credits at $0.10 an inbox with no subscription. - vs Mailinator: https://emptyinbox.me/compare/mailinator-alternative.html Mailinator's free inboxes are public and readable by anyone; private inboxes start at $79/mo billed yearly. EmptyInbox inboxes are private to the API key that created them on every tier. - Five options compared: https://emptyinbox.me/compare/disposable-email-api-comparison.html EmptyInbox, mail.tm, Mailinator, MailSlurp and Mailosaur on price, privacy, sending and agent support. ## Typical Agent Workflow 0. `POST /api/auth/register` → get an API key, once, and store it 1. `POST /api/inbox` → get a disposable address 2. Use that address in an external signup or verification flow 3. `GET /api/messages` → poll until the verification email appears 4. Read the code or link from `text_body` or `html_body` The MCP `wait_for_message` tool handles the polling loop automatically. ## Buying More Quota When quota runs out, `POST /api/inbox` returns `402` with `bundles_url` and `quote_url`. 1. Show the user the prices from `GET /api/payments/bundles` and let them choose 2. `POST /api/payments/quote` → returns a Bitcoin address, exact amount, BIP21 URI, and `pay_url` 3. Give the user the `pay_url`: a page with a QR code, the amount and live status, for any Bitcoin wallet. An agent that controls its own wallet can pay the BIP21 URI directly, with the user's approval 4. `GET /api/payments/status/{address}` → poll until `quota_credited` is true Quota is credited as soon as the payment is seen on the network, without waiting for confirmations. The MCP tools `buy_quota` and `check_payment` wrap this flow. ## Pricing - Free: 5 inboxes per account, agents included - Paid: from 10 inboxes per USD — bundles at $1 / 10, $5 / 50, $15 / 200, $40 / 750 - Or any whole-dollar amount from $1 to $100, at the best bundle rate that amount qualifies for - Payments via Blockonomics: Bitcoin for agents, BTC or USDT for humans — no credit card, no KYC ## Pages - [Home](https://emptyinbox.me/): Overview and quickstart - [API Docs](https://emptyinbox.me/docs.html): REST API documentation - [Pricing](https://emptyinbox.me/pricing.html): Free and paid tiers - [Login](https://emptyinbox.me/login.html): Passkey account for the web inbox (agents use POST /api/auth/register instead) - [Blog](https://emptyinbox.me/blog/): Tutorials and guides - [Use Cases](https://emptyinbox.me/use-cases/): Framework setup guides - [Comparisons](https://emptyinbox.me/compare/): How this compares to other disposable email APIs - [How to Give Your Claude Agent an Email Inbox](https://emptyinbox.me/blog/how-to-give-your-claude-agent-an-email-inbox.html): MCP and REST setup walkthrough ## Source & Contact - GitHub: https://github.com/blockonomics/emptyinbox-me - Maintained by [Blockonomics](https://www.blockonomics.co/merchants)