The Single Email Validation endpoint performs a real-time check on one email address. It runs a full series of validations including syntax, DNS, MX lookup, SMTP verification, disposable detection, role-based detection, spamtrap risk, abuse signals, and delivers a final deliverability status and score (0–100) .
1. Endpoint POST /api/validate
Authenticates using your API Key:
Example: Authorization: Bearer YOUR_API_KEY
Content -Type : application /json 2. Request Body Example: {
"email" : "user@example.com"
}
Required fields
Field
Type
Description
email
string
The email address to validate
Cell 2-1
Cell 2-2
Cell 2-3
3. Example Requests cURL
curl -X POST https:
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com"}' Javascript
const response = await fetch ( "https://rapid-email-verifier.fly.dev/api/validate" , {
method : "POST" ,
headers : {
"Authorization" : "Bearer YOUR_API_KEY" ,
"Content-Type" : "application/json"
} ,
body : JSON .stringify ( { email : "user@example.com" } )
} ) ;
const data = await response .json ( ) ;
console .log ( data .data .status ) ;
console .log ( data .data .score ) ;
Node.js
const axios = require ( "axios" ) ;
async function validate ( email ) {
const res = await axios .post (
"https://rapid-email-verifier.fly.dev/api/validate" ,
{ email } ,
{
headers : {
"Authorization" : "Bearer YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
}
) ;
console .log ( res .data .data .status ) ;
console .log ( res .data .data .score ) ;
}
validate ( "user@example.com" ) ; Python
import requests
response = requests .post (
"https://rapid-email-verifier.fly.dev/api/validate" ,
json ={ "email" : "user@example.com" } ,
headers ={ "Authorization" : "Bearer YOUR_API_KEY" }
)
data = response .json ( )
print ( "Status:" , data [ "data" ] [ "status" ] )
print ( "Score:" , data [ "data" ] [ "score" ] )
4. Success Response Example (200 OK)
{
"success" : true ,
"data" : {
"email" : "user@example.com" ,
"validations" : {
"syntax" : true ,
"domain_exists" : true ,
"mx_records" : true ,
"mailbox_exists" : true ,
"is_disposable" : false ,
"is_role_based" : false
} ,
"score" : 95 ,
"status" : "VALID" ,
"free_email" : false ,
"mx_found" : true ,
"mx_record" : "mail.example.com" ,
"mx_records" : [ "mail.example.com" , "mail2.example.com" ] ,
"smtp_provider" : "Custom SMTP" ,
"aliasOf" : "" ,
"typoSuggestion" : "" ,
"is_spamtrap" : false ,
"is_abuse" : false ,
"is_toxic" : false ,
"is_global_suppression" : false
} ,
"message" : "Email validated successfully" ,
"metadata" : {
"request_id" : "550e8400-e29b-41d4-a716-446655440000" ,
"processing_time_ms" : 125 ,
"timestamp" : "2025-01-15T10:30:00Z" ,
"version" : "1.0.0"
}
}
5. Validation Fields (Explained) Field
Type
Description
Syntax
boolean
Email format is valid
domain_exists
boolean
DNS query succeeded
mx_records
boolean
MX records found
mailbox_exists
boolean
SMTP mailbox verification
is_disposable
boolean
Disposable/temp email provider
is_role_based
boolean
Role account (admin@, info@)
mx_record
string
Primary MX host
mx_records
array
All MX hosts
smtp_provider
string
SMTP provider name
is_spamtrap
boolean
Known spamtrap address
is_abuse
boolean
High-risk address (abuse reports)
is_toxic
boolean
Toxic/disposable patterns
is_global_suppression
boolean
Appears in global suppression lists
typoSuggestion
string
Suggested correction (gmail → gmail.com)
6. Status Values Status
Meaning
Description
Valid
Deliverable
Email is safe to send
PROBABLY_VALID
Likely Deliverable
Minor uncertainty (free providers, catch-all domains)
DONOT MAIL
Risky
Disposable, role-based, spamtrap, abuse signals
INVALID
Undeliverable
Bad syntax, no domain, no MX, SMTP fail
SPAMTRAP
Dangreous
Known spamtrap; never send
ABUSE
Extremely Risky
Associated with complaints/abuse
7. Score Interpretation (0–100) Score Range
Meaning
Recommendation
90-100
Excellent
Safe to Send
70-89
Good
Safe to send
50-69
Fair
Use with caution
30-49
Poor
High Bounce risk
0-29
Very Poor
Donot Send
8. Error Responses Invalid Email Format (400)
{
"success" : false ,
"error" : {
"code" : "VALIDATION_FAILED" ,
"message" : "Invalid email format" ,
"field" : "email"
}
} Insufficient Credits (402)
{
"success" : false ,
"error" : {
"code" : "INSUFFICIENT_CREDITS" ,
"message" : "Insufficient credits. Please purchase more credits."
}
} Unauthorized (401)
{
"success" : false ,
"error" : {
"code" : "UNAUTHORIZED" ,
"message" : "Missing or invalid API key"
}
}
9. Best Practices Validate at every signup to maintain clean user data
Reject disposable or role-based emails early
Treat SPAMTRAP, ABUSE, DO_NOT_MAIL as critical risks
Use the score to segment email sending behavior
Cache repeated validations for performance
Never expose your API key on the client