Temporary email, programmatic
Create inboxes, read messages and pull OTPs over a simple REST API, or the typed SDKs on top of it. Point it at your own deployment with one config flag.
Clean REST API
Create, list, read and delete inboxes with a single X-API-Key header.
Typed SDKs
Python and JS/TS clients wrap the API with retries and OTP polling built in.
Bring your own domain
Use a verified domain of your own, or point the SDK base URL at a self-hosted instance.
An inbox in one HTTP request
Authentication is a single API key header. One POST creates a real, deliverable address; a GET reads what has arrived in it. There is no mailbox provisioning step, no OAuth dance, and no waiting for a domain to warm up.
Every address is backed by real MX records on our own mail servers, so mail from anywhere on the internet reaches it the same way it would reach any other mailbox.
Addresses that outlive a single run
The address persists until you delete it, which matters more than it sounds. A script that registers an account somewhere can come back tomorrow and still receive that service's mail (password resets, renewal notices, whatever arrives later) instead of finding a dead address.
When you want a clean slate without losing the registration, there is an operation that empties every message and keeps the address. That distinction matters between test runs: deleting the address would force you to register again wherever you used it, while emptying it just gives the next run an inbox with nothing in it to confuse the assertions.
Sending, not only receiving
The same API sends mail from your inbox address, DKIM-signed through our own outbound servers. Replies stay in the original conversation with the threading headers filled in, and you can copy other recipients or attach files.
Outbound is queued rather than blocking, so a send returns as soon as it is accepted. Because "accepted" is not "delivered", there is a way to ask afterwards what happened to a specific message, and a webhook if you would rather be told than poll.
Read the details
curl -X POST https://mailflat.net/api/v1/inboxes \ -H "X-API-Key: mf_live_..." \ -d '{"label":"signup"}'# → { "address": "signup-…@….mailflat.net" }Frequently asked questions
Is there a REST API or just SDKs?
Both. The SDKs are thin wrappers over a public REST API (/api/v1) you can call directly.
Can I use my own domain?
Yes. Verify a domain and create inboxes on it, or self-host and set the SDK base URL.
How is it authenticated?
A single account API key sent as the X-API-Key header.
Related
Ready to try it?
Get an API keyMailFlat for instant email inboxes for testing, automation & AI agents.