Developer API Documentation
Validate email addresses in real time before they reach your database. Verify syntax, DNS MX records, and SMTP mailboxes directly from your application.
Overview
The ListEmailCheck API allows developers to perform real-time verification of email addresses during user registration, checkout flows, lead collection forms, and batch processing pipelines.
Authentication
Public web verifications are available directly through the single-email verification endpoint. Authenticated requests utilize session-based authentication or API key header verification:
Single Email Verification
/verify-single
Verifies an individual email address by executing syntax parsing, DNS MX record lookup, and an SMTP handshake probe.
Request Body
{
"email": "user@example.com"
}
Response Format
The API returns a JSON object containing detailed result indicators and overall classification:
{
"email": "user@example.com",
"status": "valid",
"syntax_valid": true,
"mx_found": true,
"smtp_valid": true,
"is_disposable": false,
"is_role_account": false,
"is_catch_all": false,
"domain": "example.com",
"reason": "SMTP mailbox exists and accepts emails."
}
Status Definitions:
Code Integration Examples
cURL
curl -X POST https://listemailcheck.com/verify-single \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com"}'
Python (requests)
import requests
url = "https://listemailcheck.com/verify-single"
payload = {"email": "alex@company.com"}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
result = response.json()
if result.get("status") == "valid":
print("Email is valid!")
else:
print(f"Verification status: {result.get('status')} - {result.get('reason')}")
JavaScript / Node.js (fetch)
async function verifyEmail(email) {
const response = await fetch("https://listemailcheck.com/verify-single", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email: email })
});
const data = await response.json();
console.log("Status:", data.status, "Details:", data);
return data.status === "valid";
}
verifyEmail("user@example.com");
PHP (cURL)
<?php
$ch = curl_init('https://listemailcheck.com/verify-single');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['email' => 'user@example.com']));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
echo "Status: " . $result['status'];
?>
HTTP Status Codes
Rate Limits & Quotas
Unauthenticated guest requests are limited to 5 verifications per 24 hours. Registered users receive 1,000 free verifications per day. Higher quotas are available on paid tiers: