Developer API is Ready in Free Beta
The public API currently supports the core REST workflow: create a temporary inbox, then retrieve messages for that inbox. No SDK is required. Use standard HTTP requests from any language.
TempMail AU REST APIDeveloper Documentation
Build temporary email into testing, QA, signup validation, and privacy workflows with API key authentication and simple JSON responses.
API Keys
API keys are created from the authenticated developer tab. Keep the key server-side and pass it as a bearer token.
No SDK Required
Use curl, fetch, requests, Postman, Playwright, Cypress, or any HTTP client. Official SDKs are not part of the public API yet.
Domain Rule
Public URLs use tempmail.com.au. Generated temporary inboxes use the mail domain @tempmail.au.
How to Get an API Key
This is the complete public flow for developers. The full API key is shown once, so copy it before leaving the page.
- 1Create or sign in to a free TempMail AU account.
- 2Open the developer tab at /inbox?tab=developers.
- 3Enter a key name such as Cypress Tests or QA Automation.
- 4Generate the key and copy it immediately. The full key is shown only once.
- 5Send it as Authorization: Bearer YOUR_API_KEY on every API request.
Quick Start
curl -X POST "https://tempmail.com.au/api/v1/inboxes" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"When retrieving messages, encode the full email address in the URL. For example, abc123@tempmail.au becomes abc123%40tempmail.au.
API Reference
/api/v1/inboxesCreate a new temporary inbox.
Auth: Required. 201 Created with the generated @tempmail.au address and expiry.
/api/v1/inboxes/{address}/messagesRetrieve messages for a temporary inbox.
Auth: Required. 200 OK with an array of messages. URL-encode the address before calling this endpoint.
Request Examples
JavaScript Fetch
const API_KEY = process.env.TEMPMAIL_API_KEY;
const BASE_URL = "https://tempmail.com.au/api/v1";
async function createInbox() {
const response = await fetch(`${BASE_URL}/inboxes`, {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
});
if (!response.ok) {
throw new Error(`Create inbox failed: ${response.status}`);
}
return response.json();
}
async function getMessages(address) {
const encodedAddress = encodeURIComponent(address);
const response = await fetch(
`${BASE_URL}/inboxes/${encodedAddress}/messages`,
{
headers: {
Authorization: `Bearer ${API_KEY}`,
},
}
);
if (!response.ok) {
throw new Error(`Get messages failed: ${response.status}`);
}
return response.json();
}Python Requests
import requests
from urllib.parse import quote
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://tempmail.com.au/api/v1"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def create_inbox():
response = requests.post(f"{BASE_URL}/inboxes", headers=headers)
response.raise_for_status()
return response.json()
def get_messages(address):
encoded_address = quote(address, safe="")
response = requests.get(
f"{BASE_URL}/inboxes/{encoded_address}/messages",
headers=headers,
)
response.raise_for_status()
return response.json()Response Examples
Create inbox response
HTTP/1.1 201 Created
{
"success": true,
"data": {
"address": "abc123xy@tempmail.au",
"expiresAt": "2026-05-29T02:10:00.000Z"
}
}Messages response
HTTP/1.1 200 OK
{
"success": true,
"data": [
{
"$id": "msg_456",
"tempEmailAddress": "abc123xy@tempmail.au",
"from": "noreply@example.com",
"to": "abc123xy@tempmail.au",
"subject": "Your verification code",
"textContent": "Your code is 123456",
"htmlContent": "<p>Your code is <strong>123456</strong></p>",
"receivedAt": "2026-05-28T02:15:00.000Z",
"isRead": false,
"isArchived": false,
"hasAttachments": false
}
]
}Authentication error
HTTP/1.1 401 Unauthorized
{
"success": false,
"error": "Unauthorized. Invalid or missing API Key."
}Rate Limits
Current API Status
- Create inbox and retrieve messages endpoints are public beta.
- Official SDKs are not required and are not published yet.
- Webhooks are not public yet. Poll the messages endpoint for now.
AI and Tool Integration Contract
Use this compact contract when building an AI skill, CLI helper, QA automation, or internal developer tool against TempMail AU.
Base URL: https://tempmail.com.au/api/v1
Auth: Authorization: Bearer YOUR_API_KEY
Create inbox:
POST /inboxes
Response: { success: true, data: { address, expiresAt } }
List messages:
GET /inboxes/{url_encoded_address}/messages
Address example: abc123xy@tempmail.au -> abc123xy%40tempmail.au
Response: { success: true, data: [messages] }
Generated inbox addresses use @tempmail.au.
Marketing, docs, and API URLs use tempmail.com.au.
Allowed use: testing, QA, temporary verification, and privacy workflows.
Prohibited use: spam, fraud, phishing, harassment, impersonation, or abuse.Support & Resources
Developer Support
Get help with integration, report bugs, or request new developer features.
Contact supportReady to Start Building?
Generate a key, create a test inbox, and retrieve incoming messages using direct REST calls.
Get API key