Skip to content

Validate a single email address

POST
/api/email/validate
curl --request POST \
--url https://smtp-app.kirim.email/api/email/validate \
--header 'Authorization: Basic <credentials>' \
--header 'Content-Type: application/json' \
--data '{ "email": "[email protected]" }'

Comprehensive email validation including RFC compliance, DNS checks, and blocklist validation. Results are cached for performance.

object
email
required

The email address to validate

string format: email
<= 254 characters

Email validation completed successfully

Media typeapplication/json
object
success
boolean
data

Email validation result with comprehensive checks

object
email

The validated email address

string
is_valid

Whether the email passed all validation checks

boolean
error

Error message if validation failed

string
nullable
warnings

Array of validation warnings

Array<string>
cached

Whether result was served from cache

boolean
validated_at

ISO timestamp of validation

string
is_spamtrap

Whether email is identified as likely spamtrap

boolean
spamtrap_score

Spamtrap probability score (0.0-1.0)

number format: float
<= 1
Example
{
"success": true,
"data": {
"email": "[email protected]",
"is_valid": true,
"error": null,
"warnings": [],
"cached": false,
"validated_at": "2024-01-01T12:00:00Z",
"is_spamtrap": false,
"spamtrap_score": 0.1
}
}

Invalid request parameters

Media typeapplication/json
object
success
boolean
message
string
errors
object
Example
{
"success": false,
"message": "The given data was invalid."
}

Unauthorized - Invalid or missing authentication

Media typeapplication/json
object
success
boolean
message
string
Example
{
"success": false,
"message": "Unauthorized"
}

Rate limit exceeded

Media typeapplication/json
object
success
boolean
message
string
retry_after

Seconds until rate limit resets

integer
Example
{
"success": false,
"message": "Rate limit exceeded. Please try again later.",
"retry_after": 3600
}
Retry-After
integer

Seconds until rate limit resets

X-RateLimit-Limit
integer

Maximum requests per hour

X-RateLimit-Remaining
integer

Remaining requests in current window

Internal server error

Media typeapplication/json
object
success
boolean
message
string
Example
{
"success": false,
"message": "Internal server error occurred during email validation"
}