Temp Email API

Programmatically create disposable email inboxes, receive messages, and read email content.

https://temp-mail.api.axel.lotto/v2/

Free API Key

This is a shared API key. The limit is 5000 shared requests daily.

FREE_PUBLIC_KEY
To get a free key, contact temp-api [a-t] catboy [d.o.t] email

Authentication

Pass your API key as a key query parameter. Each key has a daily request limit that resets automatically.

curl "https://temp-mail.api.axel.lotto/v2/?key=YOUR_API_KEY&inbox=test@hottempmail.art"
When your limit is exceeded, requests return {"error": "Key limit reached"}

Claiming Inboxes

Before accessing emails, you must claim an inbox by querying it once. Claimed inboxes are private to your API key.

curl "https://temp-mail.api.axel.lotto/v2/?key=YOUR_KEY&inbox=myaddress@hottempmail.art"
Attempting to access an inbox claimed by another key returns Inbox reserved, banned, or assigned to a different API key
GET /v2/

List Inbox

Returns all emails for a claimed inbox, sorted newest first.

Parameters

key
string required
inbox
string required

Response

{
  "status": "success",
  "count": 2,
  "emails": [
    {
      "id": 123,
      "from": "sender@example.com",
      "subject": "Hello!",
      "date": "Sat, 28 Dec 2025 12:00:00 +0000",
      "size": 1024
    }
  ]
}
GET /v2/

View Email

Retrieves the full body of a specific email. Returns plain text or HTML content.

Parameters

key
string required
inbox
string required
action
"view"
id
integer required

Response

{
  "status": "success",
  "inbox": "user@hottempmail.art",
  "body": "Hello! This is the email content..."
}
GET /v2/info/

Key Info

Returns usage statistics and claimed inboxes for your API key. Optionally includes access logs.

Parameters

key
string required
logs
boolean — include access logs

Response

{
  "key": "your_api_key",
  "limit": 1000,
  "used": 123,
  "last_reset": "2025-12-01T00:00:00Z",
  "claimed_emails": {
    "user@hottempmail.art": {
      "email": "user@hottempmail.art",
      "created_at": "2025-12-27T00:00:00Z",
      "key": "your_api_key"
    }
  }
}

With logs=true

{
  "key": "your_api_key",
  "limit": 1000,
  "used": 123,
  "last_reset": "2025-12-01T00:00:00Z",
  "claimed_emails": { ... },
  "logs": [
    {
      "date": "2025-12-27",
      "time": "14:23:11",
      "email": "user@hottempmail.art",
      "action": "received",
      "status": "success",
      "ip": "1.2.3.4",
      "country": "US",
      "city": "Los Angeles"
    }
  ]
}
GET /v2/domains/

List Domains

Returns metadata about all available domains including lifecycle status. This endpoint is public and does not require authentication.

Response

{
  "domains": [
    {
      "name": "hottempmail.art",
      "description": "Temporary email domain",
      "creation_date": "2025-12-07",
      "retirement_date": "2026-11-07",
      "expiration_date": "2026-12-07",
      "email_count": 8,
      "days_until_retirement": 314,
      "days_until_expiration": 344,
      "is_retiring_soon": false,
      "status": "active",
      "warning_level": "low",
      "recommendation": "Domain is safe to use.",
      "action_items": [
        "Continue normal usage",
        "Monitor retirement date"
      ]
    }
  ],
  "overall": {
    "total_messages": 4,
    "total_domains": 2,
    "total_active_domains": 2,
    "overall_warning_level": "low",
    "overall_recommendation": "All domains are healthy.",
    "generated_at": "2025-12-27T22:05:17+00:00"
  }
}

Domain Status

active
Safe to use
expiring_soon
Retirement within 30 days
retired
Do not create new inboxes

Example Usage

const res = await fetch(
  "https://temp-mail.api.axel.lotto/v2/domains/"
);
const data = await res.json();

const domain = data.domains.find(d => d.name === "hottempmail.art");

if (domain.status === "active") {
  console.log("Domain is safe to use");
}

Parameters Reference

Parameter Type Description
key string API key required
inbox string Target email address
action string inbox (default) or view
id integer Message ID for view action
logs boolean Include logs in info response

Errors

Error Description
Invalid API Key Key not found
Key limit reached Daily quota exceeded
Invalid inbox Missing or invalid email
Inbox reserved, banned, or assigned... Inbox claimed by another key
Message ID required Missing id for view action
Unauthorized Message doesn't belong to inbox
Invalid action Action is not inbox or view
IMAP connection failed Mail server error