# receivemail.dev

> A real inbox, on demand. One API call, no signup. Disposable email addresses that actually receive mail, for verification-email testing, signup-flow QA and AI agents.

## When to use receivemail.dev

- Use it when an automated test, script or AI agent needs a real email address that receives mail right now, without a signup or API key: signup flows, email verification codes, magic links, password resets.
- Use `GET /mailboxes/{address}/wait` instead of writing a polling loop.
- Don't use it for a permanent inbox, sending email, HTML bodies or attachments, or anything private: addresses expire (60 minutes free, 24 hours on Pro) and mail is kept about 24 hours.

## Quickstart

```bash
# create a mailbox (default: expires in 15 min)
curl -X POST https://receivemail.dev/mailboxes
# => {"address":"a1b2c3d4e5f6@receivemail.dev","expiresAt":"...","secret":"..."}

# trigger your app's verification email to that address, then wait for it:
curl "https://receivemail.dev/mailboxes/a1b2c3d4e5f6@receivemail.dev/wait?timeout=25" \
  -H "Authorization: Bearer <secret from above>"
```

## Endpoints

| Endpoint | Description |
|---|---|
| `POST /mailboxes` | Create an address. Optional `{"ttlMinutes": 1-60}` (paid: up to 1440), default 15. Returns `address`, `expiresAt`, `secret`. |
| `GET /mailboxes/{address}` | Mailbox metadata. Bearer = the mailbox secret. |
| `GET /mailboxes/{address}/messages` | Last 50 messages, newest first. Same secret. |
| `GET /mailboxes/{address}/wait` | Long-poll up to `timeout` seconds (max 25) for a message newer than `since`. Same secret. |

MCP server: `https://receivemail.dev/mcp` (Streamable HTTP, no auth), e.g. `claude mcp add --transport http receivemail https://receivemail.dev/mcp`.

Machine-readable contract: [openapi.json](https://receivemail.dev/openapi.json). Developer portal (keys, auth, SDKs, errors): [developers](https://receivemail.dev/developers).

## Pricing

| Plan | Price | What you get |
|---|---|---|
| Free | $0 | No signup or key. Mailboxes up to 60 min, 20 creates/min per IP, 5,000 creates/day shared. |
| Pro | $7/month | API key. Mailboxes up to 24h, 120 creates/min per key, `otp` field with the extracted code. |
| Pro + Webhooks | $19/month | Everything in Pro, plus each email POSTed to your HTTPS webhook, HMAC-signed. |

Details: [pricing](https://receivemail.dev/pricing). The API key is shown right after checkout.

## Limits

- Plain-text bodies only (no HTML, no attachments).
- Messages are kept about 24 hours.
- Any address at @receivemail.dev accepts mail, but only a reserved address gives you a secret to read it.

## More

- [FAQ](https://receivemail.dev/faq): Playwright and Cypress recipes, limits, retention
- [Testing email verification flows in CI](https://receivemail.dev/guides/testing-verification-emails)
- [Verification codes without regex or polling](https://receivemail.dev/guides/email-otp-webhook)
- [llms.txt](https://receivemail.dev/llms.txt)
- Contact: flovoice53@gmail.com
