TempMail Public API
TempMail provides a free public API that lets you generate temporary email addresses and read incoming messages programmatically. No API key required — just make HTTP requests and you're done.
Base URL:
https://mail.lesin.org/api/v1
Endpoints
1. Generate new email
GET /api/v1/new
Generates a new random temporary email address instantly.
# Request
curl https://mail.lesin.org/api/v1/new
# Response
"ok": true,
"email": "abc123@iopia.org"
2. Get inbox
GET /api/v1/inbox?email={email}
Returns all messages in the inbox for a given email address.
# Request
curl "https://mail.lesin.org/api/v1/inbox?email=abc123@iopia.org"
# Response
"ok": true,
"count": 1,
"messages": [{
"id": "1774836183",
"from": "noreply@example.com",
"subject": "Your verification code",
"ts": 1774836183
}]
3. Read message
GET /api/v1/message?email={email}&msg_id={id}
Returns the full content of a specific message including text and HTML body.
# Request
curl "https://mail.lesin.org/api/v1/message?email=abc123@iopia.org&msg_id=1774836183"
# Response
"ok": true,
"from": "noreply@example.com",
"subject": "Your verification code",
"text": "Your code is: 123456",
"html": "<html>...</html>"
4. List available domains
GET /api/v1/domains
Returns all available email domains you can use.
# Response
"ok": true,
"domains": ["iopia.org", "karsus.org", ...],
"count": 10
5. Delete message
DELETE /api/v1/message?email={email}&msg_id={id}
Deletes a specific message from the inbox.
Code examples
Python:
import requests, time
# Generate email
r = requests.get("https://mail.lesin.org/api/v1/new")
email = r.json()["email"]
# Wait for message
time.sleep(5)
# Check inbox
r = requests.get(f"https://mail.lesin.org/api/v1/inbox?email={email}")
messages = r.json()["messages"]
# Read first message
if messages:
msg_id = messages[0]["id"]
r = requests.get(f"https://mail.lesin.org/api/v1/message?email={email}&msg_id={msg_id}")
print(r.json()["text"])
JavaScript:
// Generate email
const r = await fetch("https://mail.lesin.org/api/v1/new");
const { email } = await r.json();
// Check inbox
const inbox = await fetch(`https://mail.lesin.org/api/v1/inbox?email=${email}`);
const { messages } = await inbox.json();
Need more power?
For dedicated private domains, IP whitelisting, and high-volume automation, check out our Private Email API — starting at $5/month.
Start using the API now
Free, no authentication, no rate limits. Just make requests and go.
Get a free email address