How do I verify a single email with the API?
Single-email verification is one POST request. Send the address, get the result. Note: API access requires a first credit purchase to unlock — see "How do I get an API key" for details.
curl
curl -X POST https://api.validemailchecker.com/v1/verify \
-H "Authorization: Bearer VEC_your_key_here" \
-H "Content-Type: application/json" \
-d '{"email": "john@example.com"}'JavaScript / Node
const response = await fetch('https://api.validemailchecker.com/v1/verify', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.VEC_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ email: 'john@example.com' }),
});
const result = await response.json();
console.log(result.status); // 'safe', 'invalid', 'disposable', etc.Python
import requests
response = requests.post(
'https://api.validemailchecker.com/v1/verify',
headers={
'Authorization': f'Bearer {VEC_API_KEY}',
'Content-Type': 'application/json',
},
json={'email': 'john@example.com'},
)
result = response.json()
print(result['status'])What you get back
{
"email": "john@example.com",
"status": "safe",
"is_valid": true,
"is_disposable": false,
"is_role_account": false,
"is_catch_all": false,
"is_free_email": false,
"mx_found": true,
"domain": "example.com",
"risk_score": 5,
"deliverability": "high",
"credits_used": 1,
"verified_at": "2026-05-19T14:23:11Z",
"reason": "Valid mailbox"
}The status field is the canonical result: safe, invalid, disposable, catch_all, role_account, spamtrap, disabled, inbox_full, or unknown. risk_score is 0-100 (higher = more risky, inverse of the dashboard confidence score). The other fields give you finer-grained signals so you can make policy decisions inside your application.
Typical patterns
- Signup form: call /v1/verify inline before allowing the account to be created. If status is disposable or invalid, show an error. If catch_all or role_account, allow but flag in your CRM.
- Lead enrichment: call asynchronously after a lead lands. Store the status alongside the lead record. Filter campaigns on stored status, not at send time.
- CRM hygiene: nightly job that re-verifies stale records. Addresses go bad over time, especially work emails after job changes.
Related questions
Still stuck? Email support
