Verify Email
Verify an email address to determine if it is valid and deliverable. If you want to include the IP address of the user making the request, you can include it as a query parameter named ip_address
. When provided, we will supplement additional information about the IP address in the response.
Endpoint
https://api.zeruh.com/v1/verify
Method: GET
| POST
Verify Email
Verify an email address to determine its validity and deliverability.
CREDENTIALSQUERY
Parameter
QUERY PARAMETERS
Parameter
REQUEST
GET https://api.zeruh.com/v1/verify?email_address=hello%40zeruh.com
RESPONSE
Click Try It! to start a request and see the response here!
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
email_address | string | Required | The email address you want to verify |
ip_address | string | Optional | IP address of the user making the request (provides additional location data) |
timeout | integer | Optional | Maximum time in seconds to wait for verification (5-120 seconds, default: 20) |
Example Requests
Basic Email Verification
curl -X GET "https://api.zeruh.com/v1/verify?api_key=YOUR_API_KEY&[email protected]"
Email Verification with IP Address
curl -X GET "https://api.zeruh.com/v1/verify?api_key=YOUR_API_KEY&[email protected]&ip_address=8.8.8.8"
Email Verification with Custom Timeout
curl -X GET "https://api.zeruh.com/v1/verify?api_key=YOUR_API_KEY&[email protected]&timeout=30"
Example Responses
Response Without IP Address
{
"success": true,
"message": "The results have been fetched. Please check the 'result' field for more information.",
"result": {
"email_address": "[email protected]",
"gravatar_url": "https://www.gravatar.com/avatar/593429bcf7ccf2f630a5ed05bbe9e003392f910cc492c8222111df9a524a6e9b",
"account": "hello",
"domain_details": {
"domain": "zeruh.com",
"domain_age": 839,
"did_you_mean": null
},
"validation_details": {
"format_valid": true,
"mx_found": true,
"smtp_check": true,
"catch_all": true,
"role": true,
"disposable": false,
"free": false,
"tagged": false,
"mailbox_full": false,
"mailbox_disabled": false,
"no_reply": false
},
"selected_mx_record": "mx1.maileroo.com",
"service_provider": "Maileroo",
"character_stats": {
"alphabetical_characters": 5,
"numerical_characters": 0,
"unicode_symbols": 0
},
"ip_details": null,
"time_taken_to_verify": "0.00",
"reason": "low_deliverability",
"status": "risky",
"score": 65
}
}
Response With IP Address
{
"success": true,
"message": "The results have been fetched. Please check the 'result' field for more information.",
"result": {
"email_address": "[email protected]",
"gravatar_url": "https://www.gravatar.com/avatar/593429bcf7ccf2f630a5ed05bbe9e003392f910cc492c8222111df9a524a6e9b",
"account": "hello",
"domain_details": {
"domain": "zeruh.com",
"domain_age": 839,
"did_you_mean": null
},
"validation_details": {
"format_valid": true,
"mx_found": true,
"smtp_check": true,
"catch_all": true,
"role": true,
"disposable": false,
"free": false,
"tagged": false,
"mailbox_full": false,
"mailbox_disabled": false,
"no_reply": false
},
"selected_mx_record": "mx1.maileroo.com",
"service_provider": "Maileroo",
"character_stats": {
"alphabetical_characters": 5,
"numerical_characters": 0,
"unicode_symbols": 0
},
"ip_details": {
"ip_address": "8.8.8.8",
"asn": "AS15169",
"city": "Mountain View",
"region": "California",
"country": "US",
"timezone": "America/Los_Angeles",
"currency": "USD",
"proxy_or_vpn": false
},
"time_taken_to_verify": "0.12",
"reason": "low_deliverability",
"status": "risky",
"score": 65
}
}
Response Fields Explained
Core Information
Field | Type | Description |
---|---|---|
email_address | string | The email address that was verified |
gravatar_url | string | Gravatar URL for the email address (if available) |
account | string | The username part of the email address |
Domain Details
Field | Type | Description |
---|---|---|
domain_details.domain | string | The domain part of the email address |
domain_details.domain_age | integer | Age of the domain in days |
domain_details.did_you_mean | string/null | Suggested domain if the original was misspelled |
Validation Details
Field | Type | Description |
---|---|---|
validation_details.format_valid | boolean | Whether the email format is valid |
validation_details.mx_found | boolean | Whether MX records exist for the domain |
validation_details.smtp_check | boolean | Whether the mailbox exists |
validation_details.catch_all | boolean | Whether the domain accepts all emails |
validation_details.role | boolean | Whether it's a role-based email (admin, support, etc.) |
validation_details.disposable | boolean | Whether it's a disposable email address |
validation_details.free | boolean | Whether it's a free email provider |
validation_details.tagged | boolean | Whether the email contains tags |
validation_details.mailbox_full | boolean | Whether the mailbox is full |
validation_details.mailbox_disabled | boolean | Whether the mailbox is disabled |
validation_details.no_reply | boolean | Whether it's a no-reply email |
Additional Information
Field | Type | Description |
---|---|---|
selected_mx_record | string | The MX server used for verification |
service_provider | string | The email service provider |
character_stats.alphabetical_characters | integer | Number of alphabetical characters in the email |
character_stats.numerical_characters | integer | Number of numerical characters in the email |
character_stats.unicode_symbols | integer | Number of unicode symbols in the email |
time_taken_to_verify | string | Time taken for verification in seconds |
reason | string | Reason for the verification result |
status | string | Overall status of the email |
score | integer | Quality score (0-100) |
IP Details (when IP address provided)
Field | Type | Description |
---|---|---|
ip_details.ip_address | string | The IP address provided |
ip_details.asn | string | Autonomous System Number |
ip_details.city | string | City location |
ip_details.region | string | Region/State |
ip_details.country | string | Country code |
ip_details.timezone | string | Timezone |
ip_details.currency | string | Local currency |
ip_details.proxy_or_vpn | boolean | Whether the IP is from a proxy/VPN |
Grading System
The Zeruh API provides a comprehensive grading system to help you determine email quality:
Reason | Status | Description |
---|---|---|
deliverable | deliverable | Email is valid and deliverable |
low_deliverability | risky | Email may have delivery issues |
low_quality | risky | Email is of low quality |
invalid_email | undeliverable | Email format is invalid |
invalid_domain | undeliverable | Domain does not exist |
mailbox_not_found | undeliverable | Mailbox does not exist |
mailbox_full_inbox | undeliverable | Mailbox is full |
mailbox_disabled | undeliverable | Mailbox is disabled |
exhausted_credits | unknown | API credits exhausted |
internal_error | unknown | Internal server error |
connection_failed | unknown | Connection to mail server failed |
connection_timed_out | unknown | Connection timed out |
smtp_failure | unknown | SMTP verification failed |
greylisted | unknown | Server is greylisted |
Credit Refund
For failed verifications (status: unknown
), credits are automatically refunded to your account.
Best Practices
For High-Quality Email Lists
To identify emails likely associated with real people:
{
"status": "deliverable",
"catch_all": false,
"disposable": false
}
For Cold Email Campaigns
To maximize reach while maintaining quality:
{
"status": ["deliverable", "risky", "unknown"],
"free": true,
"role": true,
"catch_all": true,
"disposable": false
}
For Spam Prevention
To filter out low-quality signups:
{
"disposable": false
}
IP Address Benefits
When you provide an IP address, you can:
- Identify user location for better targeting
- Detect VPN/proxy usage for fraud prevention
- Improve verification accuracy