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
Authenticate your requests using API Key tokens. Generate your keys in your Dashboard API Tokens page. Pass your token via the Authorization header or X-API-Key header:
Single Email Verification
/api/v1/verify
Verifies an individual email address in real time. Deducts 1 check from your subscription quota balance.
Request Headers
Authorization: Bearer lvc_live_YOUR_API_KEY
Content-Type: application/json
Request Body
{
"email": "alex@company.com"
}
Account Quota Details
/api/v1/account
Returns subscription plan info, total quota, quota used, and remaining verification balance.
{
"email": "user@example.com",
"plan": "pro",
"quota": 100000,
"quota_used": 1420,
"quota_remaining": 98580,
"unlimited_quota": false
}
Response Format
The API returns a JSON object containing detailed result indicators and overall classification:
{
"email": "alex@company.com",
"status": "valid",
"valid": true,
"syntax_valid": true,
"mx_found": true,
"smtp_valid": true,
"is_disposable": false,
"mx_records": ["mail.company.com"],
"error": null,
"quota_remaining": 98580
}
Status Definitions:
Code Integration Examples
cURL
curl -X POST https://listemailcheck.com/api/v1/verify \
-H "Authorization: Bearer lvc_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "alex@company.com"}'
Python (requests)
import requests
url = "https://listemailcheck.com/api/v1/verify"
headers = {
"Authorization": "Bearer lvc_live_YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {"email": "alex@company.com"}
response = requests.post(url, json=payload, headers=headers)
result = response.json()
if result.get("valid"):
print("Email is deliverable!")
else:
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
200 OK
Request processed successfully. Check response body for verification status.
400 Bad Request
Missing email input or malformed JSON payload.
429 Rate Limit
Daily verification quota exceeded. Upgrade plan to increase limits.
500 Server Error
Internal server or upstream timeout issue. Retry request.
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:
Free
1,000 / day
Daily Reset
Starter
25,000 / mo
$9 / month
Pro
100,000 / mo
$29 / month
Business
1,000,000 / mo
$99 / month