Emailbin API
Emailbin has a small read-only JSON API for its public disposable inboxes.
Point a GET request at an inbox and read its temporary email as
JSON. No signup or API key currently required.
Every inbox is public and every message is ephemeral (pruned frequently), so treat the API the way you treat the site: fine for throwaway signups, verification codes, and testing; never for anything private. Use it for your own inboxes. Mass-harvesting other people's inboxes is against the Terms of Service.
List messages in an inbox
GET https://emailbin.net/r/<inbox> returns up to 100 messages,
newest first, as a JSON array. An empty inbox returns [].
curl https://emailbin.net/r/myinbox
Fetch one message
GET https://emailbin.net/s/<shortlink> returns a single
message. The shortlink is the id from a message in the list above.
curl https://emailbin.net/s/18bfbb2178
{
"id": 1492,
"date": "Sun, 06 Sep 2026 18:15:02 GMT",
"recipient": "myinbox@emailbin.net",
"sender": "no-reply@example.com",
"subject": "Your verification code",
"body": {
"text_plain": "Your code is 123456\n",
"text_html": "<p>Your code is 123456</p>"
},
"attachments": [],
"image_attachments": [],
"shortlink": "18bfbb2178"
}
Notes
- No auth. Both routes are plain
GET. Any alphanumeric name is a live inbox the moment mail arrives. - Polling. New mail can take a minute or two. Poll
/r/<inbox>every few seconds until the array is non-empty. - Rate limit. Up to 100 requests per
60 seconds per IP across both routes. Over that you
get
429with aRetry-Afterheader. - Banned or blocked inboxes return
{"banned": true}instead of mail. - Attachments arrive base64-encoded in the
attachmentsandimage_attachmentsarrays. - CORS is enabled (
Access-Control-Allow-Origin: *), so browser code can call the API cross-origin. - Content type is
application/json. Everything is UTF-8.
Prefer a push to a poll? The Telegram bot watches an inbox and notifies you when mail lands.