API Documentation
Simple REST API to detect disposable emails. 100 free requests/day.
Endpoint
GET
/check
Base URLs
Choose the endpoint closest to your users for lowest latency:
| Region | Base URL | Best For |
|---|---|---|
| 🇪🇺 Europe | https://tempmailchecker.com |
EU, Africa, Middle East |
| 🇺🇸 United States | https://us.tempmailchecker.com |
Americas |
| 🇸🇬 Asia | https://asia.tempmailchecker.com |
Asia-Pacific, Australia, Japan |
All endpoints share the same API key and database. Use any interchangeably.
Authentication
Include your API key in the request header:
X-API-Key: your_api_key
Get your free API key on the homepage.
Parameters
| Parameter | Type | Description |
|---|---|---|
email |
string | Full email address to check |
domain |
string | Or just the domain (alternative) |
Use either email or domain. The domain is extracted automatically from emails.
Response
Disposable Email
{ "temp": true }
Legitimate Email
{ "temp": false }
Code Examples
cURL
Python
JavaScript
PHP
curl "https://tempmailchecker.com/check?email=user@tempmail.com" \
-H "X-API-Key: YOUR_API_KEY"
import requests
resp = requests.get(
"https://tempmailchecker.com/check",
params={"email": "user@tempmail.com"},
headers={"X-API-Key": "YOUR_API_KEY"}
)
if resp.json()["temp"]:
print("Blocked: disposable email")
const resp = await fetch(
"https://tempmailchecker.com/check?email=user@tempmail.com",
{ headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const { temp } = await resp.json();
if (temp) console.log("Blocked");
$ch = curl_init("https://tempmailchecker.com/check?email=user@tempmail.com");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: YOUR_API_KEY"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch), true);
if ($data["temp"]) echo "Blocked";
Check Usage
GET
/usage
Check your current daily usage. No authentication header required—just pass your key as a query parameter.
Request
curl "https://tempmailchecker.com/usage?key=YOUR_API_KEY"
Response
{
"usage_today": 87,
"limit": 100,
"reset": "midnight UTC"
}
Rate Limits
Free tier: 100 requests per day. Resets at midnight UTC.
When you exceed your limit, you'll receive a 429 response:
{
"error": "Rate limit exceeded",
"message": "You have exceeded your daily limit of 100 requests",
"limit": 100,
"used": 100,
"reset": "midnight UTC"
}
Need more? Reply to your welcome email and we'll upgrade you for free during beta.
Errors
| Response | Meaning |
|---|---|
{"error": "Missing email or domain parameter"} |
No email or domain provided |
{"error": "Invalid API key", "temp": null} |
API key not recognized |
429 Rate limit exceeded |
Daily limit reached (100 requests) |