Getting Started

Zeruh is a powerful email verification service that helps you verify email addresses in real-time. Our platform is designed to be simple and easy to use, allowing you to integrate email verification into your applications with minimal effort. This platform is an extension of Maileroo and has been built on its own isolated platform, but can be accessed via single-sign-on from your Maileroo dashboard.

What is Zeruh?

Zeruh is an email verification API that validates email addresses to determine if they are valid and deliverable. Our service performs comprehensive checks including:

  • Format Validation - Ensures the email follows proper syntax
  • Domain Verification - Checks if the domain exists and has valid MX records
  • SMTP Verification - Tests if the mailbox actually exists
  • Quality Assessment - Identifies disposable emails, catch-all domains, and role-based addresses
  • IP Intelligence - Provides location and proxy/VPN detection when IP addresses are provided

Base URL

The base URL for the Zeruh API is provided below. All endpoints are relative to this base URL and should be accessed using HTTPS.

https://api.zeruh.com/v1

Authentication

Once you have your API key, you can use it in your requests. Here are the three supported authentication methods:

1. X-Api-Key Header (Recommended)

curl -X GET "https://api.zeruh.com/v1/account" \
  -H "X-Api-Key: YOUR_API_KEY"

2. Query Parameter

curl -X GET "https://api.zeruh.com/v1/account?api_key=YOUR_API_KEY"

3. Form Parameter

curl -X POST "https://api.zeruh.com/v1/account" \
  -d "api_key=YOUR_API_KEY"

Best Practice

We recommend using the X-Api-Key header method for authentication as it's more secure and keeps your API key out of URL logs and browser history.

HTTP Response Codes

The Zeruh API uses standard HTTP status codes to indicate the success or failure of a request. The following table lists the possible HTTP status codes and their meanings.

HTTP Code Reason
200 OK The request was successful. Verification may not necessarily be successful.
403 Forbidden Invalid API key or IP address is not in the allowed list.
429 Too Many Requests Rate limit exceeded. Please try again later.
500 Internal Server Error An unexpected error occurred. Please try again later.

Rate Limiting

By default, the Zeruh API has a rate limit of 30 requests per second. This limit can be increased upon request.

Account Details

The Account Details endpoint allows you to retrieve information about your Zeruh account, including your account balance and the number of email verifications you have remaining.

Endpoint

https://api.zeruh.com/v1/account

Method: GET | POST

Try It!

Test the Account Details endpoint with your API key:

CREDENTIALS QUERY
Parameter:
REQUEST
GET https://api.zeruh.com/v1/account
RESPONSE

Click "Try It!" to start a request and see the response here!

Example Request

Here's a simple example using the query parameter method:

curl -X GET "https://api.zeruh.com/v1/account?api_key=YOUR_API_KEY"

Example Response

When successful, the API returns your account information in the following format:

{
  "success": true,
  "message": "We have fetched your account information.",
  "data": {
    "user_id": 100,
    "full_name": "Arthur Morgan",
    "user_email": "[email protected]",
    "permanent_credits": 50000,
    "recurring_credits": 48540
  }
}

Response Fields

Field Type Description
success boolean Indicates if the request was successful
message string Human-readable message about the response
data.user_id integer Your unique user identifier
data.full_name string Your full name as registered
data.user_email string Your registered email address
data.permanent_credits integer Total permanent credits in your account
data.recurring_credits integer Available recurring credits for verification

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

Try It!

Test the Verify Email endpoint with your API key:

CREDENTIALS QUERY
Parameter:
QUERY PARAMETERS
Parameter:
REQUEST
GET https://api.zeruh.com/v1/verify?email_address=[email protected]
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/[email protected]"

Email Verification with IP Address

curl -X GET "https://api.zeruh.com/v1/[email protected]&ip_address=8.8.8.8"

Email Verification with Custom Timeout

curl -X GET "https://api.zeruh.com/v1/[email protected]&timeout=30"

Timeout Parameter

The timeout parameter specifies the maximum time in seconds to wait for email verification to complete. Default is 20 seconds, with a range of 5-120 seconds. While we aim to complete verification within the specified time, actual time may vary depending on the email server's response.

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

On this page