Base URL: https://disposable-emails-detector.vegastack.com
Main API endpoint for checking disposable email domains with optimized hash-based lookup.
Response Format:
{
"v": "1.0",
"updated": "2024-01-15T00:00:00Z",
"count": 108851,
"domains": {
"10minutemail.com": 1,
"tempmail.org": 1,
"...": "..."
}
}
Field Descriptions:
v
- API versionupdated
- Last update timestamp (ISO 8601 UTC)count
- Total number of domains in blocklistdomains
- Hash table of disposable domains (value = 1 if disposable)Statistics and metadata about the current blocklist.
Response Format:
{
"v": "1.0",
"endpoint": "https://disposable-emails-detector.vegastack.com",
"count": 108851,
"updated": "2024-01-15T00:00:00Z",
"sources": [4],
"formats": ["txt", "json", "csv", "api"],
"rate_limit": "100GB/month"
}
const checkDisposableEmail = async (email) => {
const domain = email.split('@')[1].toLowerCase();
try {
const response = await fetch('https://disposable-emails-detector.vegastack.com/api/check.json');
const api = await response.json();
return api.domains[domain] === 1;
} catch (error) {
console.error('API error:', error);
return false; // Fallback
}
};
// Check single email
const isDisposable = await checkDisposableEmail('[email protected]'); // true
import requests
def is_disposable_email(email):
domain = email.split('@')[1].lower()
try:
response = requests.get(
'https://disposable-emails-detector.vegastack.com/api/check.json',
timeout=5
)
response.raise_for_status()
api_data = response.json()
return api_data['domains'].get(domain, 0) == 1
except requests.RequestException:
return False # Fallback
# Check single email
is_disposable = is_disposable_email('[email protected]') # True
function isDisposableEmail($email) {
$domain = strtolower(substr(strrchr($email, '@'), 1));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://disposable-emails-detector.vegastack.com/api/check.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200 && $response !== false) {
$apiData = json_decode($response, true);
return isset($apiData['domains'][$domain]) && $apiData['domains'][$domain] === 1;
}
return false; // Fallback
}
API documentation and usage information.
Response Format:
{
"api": {
"version": "1.0",
"name": "Disposable Email Domains API",
"description": "Fast, reliable disposable email detection"
},
"endpoints": {
"check": "/api/check.json",
"stats": "/api/stats.json",
"info": "/api/info.json"
},
"usage": {
"check_domain": "api.domains[\"example.com\"] === 1",
"get_count": "api.count",
"last_updated": "api.updated"
}
}
Always implement proper error handling:
If you prefer downloading files instead of using the API:
/outputs/disposable_email_domains.json
/outputs/disposable_email_domains.csv
/disposable_email_domains_blocklist.txt
The blocklist is updated daily at midnight UTC with domains from multiple trusted sources: