Document
Get temporary email addresses and read inbox programmatically. No API key required — free to use.
Base URL: https://temp.tf/api
Rate limit: 60 requests per minute per IP. Responses include Retry-After when limited.
/accountReturns a random temporary email address. Enable dot (Gmail) and/or plus (Gmail, Outlook, Hotmail) to get a valid alias.
Query parameters
dot—1ortrue— Gmail dot variants (e.g. u.s.e.r@gmail.com)plus—1ortrue— Plus alias (e.g. user+abc123@gmail.com)providers— optional — Comma-separated:gmail,outlook,hotmail. Omit for all.
At least one of dot or plus is required. Dot-only requires providers=gmail.
Response (200)
{ "email": "user+xyz123@gmail.com" }Example
curl "https://temp.tf/api/account?dot=1&plus=1"
/checkReturns the inbox for a temporary address (only addresses returned by GET /account are allowed).
Body (JSON)
{ "email": "user+xyz123@gmail.com" }Response (200)
{
"data": [
{
"subject": "Verify your email",
"from": "noreply@example.com",
"date": "2025-02-17T12:00:00.000Z",
"body": "<p>Click here to verify...</p>",
"bodyContentType": "html",
"id": "42",
"attachments": [
{ "id": "AAMk...", "name": "file.pdf", "contentType": "application/pdf", "size": 1024 }
],
"inlineCids": { "cid123": "attachmentId" }
}
],
"totalReceived": 1000
}bodyContentType is html or text. inlineCids maps cid: references to attachment ids for inline images.
Example
curl -X POST "https://temp.tf/api/check" \
-H "Content-Type: application/json" \
-d '{"email":"user+xyz123@gmail.com"}'/attachmentDownload an attachment. Use messageId and attachmentId from the message object returned by POST /check.
Query parameters
email— temporary addressmessageId— messageidfrom inboxattachmentId— attachmentidfrom message
Returns the file binary with appropriate Content-Type and Content-Disposition.
Example
curl "https://temp.tf/api/attachment?email=user%2Bxyz@gmail.com&messageId=42&attachmentId=AAMk..." -o file.pdf
/statsReturns total available addresses (by dot/plus and providers) and total messages received. Same query params as GET /account.
Query parameters
Same as GET /account: dot, plus, providers.
Response (200)
{
"totalAddresses": 365615409626112,
"totalFormatted": "365.6 trillion",
"totalReceived": 12345,
"breakdown": { "gmail": 365615409626112, "outlook": 0, "hotmail": 0 },
"breakdownFormatted": { "gmail": "365.6 trillion", "outlook": "0", "hotmail": "0" }
}Example
curl "https://temp.tf/api/stats?dot=1&plus=1"
Errors
All errors return JSON with an error field. Common status codes:
- 400 — Bad request (missing/invalid params or body)
- 403 — Forbidden (e.g. non–temp address for /check or /attachment)
- 404 — Not found (address or message not found)
- 429 — Too many requests (60/min per IP); retry after the number of seconds in
Retry-Afterheader - 500 — Server error