Temp Mail Now
Plus & ProAPI v1

API Documentation

Read messages from your private addresses programmatically. Available on Plus and Pro plans.

Base URL: https://api.temp-mail-now.com⚡ Plus: 10 req/min · Pro: 100 req/min

Authentication

Generate an API key from your Dashboard. Pass it as a Bearer token on every request.

Authorization: Bearer tmn_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Keys start with tmn_. Keep them secret — they grant full read access to your messages.

Endpoints

GET/v1/messages

List recent messages across all your private addresses, newest first.

Query parameters
addressstringFilter to a specific address you own. Omit to get all.
limitintegerMax results to return. Default 50, max 200.
curl "https://api.temp-mail-now.com/v1/messages?limit=10" \
  -H "Authorization: Bearer tmn_xxx"
{
  "messages": [
    {
      "id": "uuid",
      "address": "[email protected]",
      "from_address": "[email protected]",
      "from_name": "Alice",
      "subject": "Hello",
      "received_at": "2026-06-01T12:00:00Z",
      "is_spam": false
    }
  ]
}
GET/v1/messages/{id}

Get the full content of a single message, including body text and HTML.

idstring *The message UUID from the list endpoint.
curl "https://api.temp-mail-now.com/v1/messages/MESSAGE_ID" \
  -H "Authorization: Bearer tmn_xxx"
{
  "message": {
    "id": "uuid",
    "address": "[email protected]",
    "from_address": "[email protected]",
    "from_name": "Alice",
    "subject": "Hello",
    "text_body": "Hello world",
    "html_body": "<p>Hello world</p>",
    "attachments": [],
    "received_at": "2026-06-01T12:00:00Z",
    "is_spam": false
  }
}

Rate limits

Plus plan
10 req/min
Pro plan
100 req/min

Rate limit headers are returned on every response:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 97

When exceeded, the API returns HTTP 429:

{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded (100 req/min for pro plan)"
  }
}

Error responses

All errors use a consistent envelope:

{ "error": { "code": "error_code", "message": "Human-readable message" } }
StatusCodeMeaning
401missing_keyNo Authorization header
401invalid_keyKey doesn't match any account
403not_ownedAddress not registered under your account
404not_foundMessage ID doesn't exist or isn't yours
429rate_limitedToo many requests — slow down
Ready to start?

Generate your API key from the Dashboard.