Temp mail / API
An inbox for your scripts and agents.
Three plain HTTP calls. No key, no signup. Good for sign-up flows, verification codes and anything an AI agent needs a throwaway email for.
1. Claim a name
Any name, 1 to 30 characters. You get a token. The token is the only key to the inbox, so keep it.
curl -X POST https://www.x45.in/api/temp-mail/claim \ -H 'content-type: application/json' \ -d '{"name":"alex"}' # {"name":"alex","address":"alex@x45.in","token":"…","expiresAt":1788677479133}2. Wait for a mail
One call holds up to 50 seconds and returns as soon as something arrives. Pass the receivedAt of the last mail you saw as since, so you only get new ones.
curl "https://www.x45.in/api/temp-mail/wait?name=alex&token=TOKEN&since=0&timeout=25" # {"expiresAt":…,"timedOut":false,"mails":[{"id":"…","from":"noreply@github.com", # "fromName":"GitHub","subject":"Your code is 482913","text":"…","html":"…", # "receivedAt":1788677001234,"attachments":[]}]}3. Read everything, or throw it away
The inbox call lists all mails, newest first. Release deletes the address early and frees your slot.
curl "https://www.x45.in/api/temp-mail/inbox?name=alex&token=TOKEN" curl -X POST https://www.x45.in/api/temp-mail/release \ -H 'content-type: application/json' \ -d '{"name":"alex","token":"TOKEN"}'
Rules
- Names: a-z, 0-9, dots, dashes, underscores. Starts and ends with a letter or digit. Lowercased.
- An address lives 10 minutes. Then it and every mail are deleted, and anyone can claim it again.
- Per IP: 5 claims a minute, 30 an hour, 3 live addresses at once. Inbox checks: 90 a minute.
- Each inbox keeps the last 30 mails. Attachments are not stored, only their names and sizes.
- Limits answer with 429. A vanished address answers with 404. Both carry an error message.
- Machine-readable version of this page: https://www.x45.in/api/temp-mail
Tell your agent
Paste this into a prompt and most agents will figure out the rest.
You can get a temporary email address at x45.in. It works with plain HTTP, no key needed.
1. POST https://www.x45.in/api/temp-mail/claim with JSON {"name":"anyname"} -> {name,address,token,expiresAt}
2. GET https://www.x45.in/api/temp-mail/wait?name=NAME&token=TOKEN&since=0&timeout=25 -> waits up to 25s and returns new mails
3. GET https://www.x45.in/api/temp-mail/inbox?name=NAME&token=TOKEN -> all mails, newest first
The address lives 10 minutes. Full docs: https://www.x45.in/api/temp-mail