Logo

ZeroBounce

Authentication Type: API Key Description: Validate email addresses individually or in bulk using the ZeroBounce API. Returns deliverability status, sub-status, and contact metadata including name, location, and SMTP provider.


Authentication

To authenticate, you'll need a ZeroBounce API key. Sign up at zerobounce.net and find your API key in the ZeroBounce dashboard.


Validate Email

Validate a single email address. Returns the full deliverability status along with contact metadata such as name, gender, location, and SMTP provider.

Operation Type: Query (Read)

Parameters:

  • email string (required): The email address to validate
  • ipAddress string (nullable): Optional IP address of the user who submitted the email, used to improve validation accuracy. Default: null
  • timeout number (nullable): Timeout in seconds (3-60). Uses your account's default when null. Default: null

Returns:

  • address string: The validated email address
  • status string: Validation result. Values: "valid", "invalid", "catch-all", "unknown", "spamtrap", "abuse", "do_not_mail"
  • subStatus string: Detailed sub-status code (e.g., "mailbox_not_found", "no_dns_entries", "disposable")
  • freeEmail boolean: Whether the email is from a free email provider (Gmail, Yahoo, etc.)
  • catchallDomain string (nullable): The catch-all domain if status is "catch-all"
  • didYouMean string (nullable): A suggested corrected email if a typo was detected
  • account string (nullable): The local part of the email address (before @)
  • domain string (nullable): The domain part of the email address
  • domainAgeDays string (nullable): Age of the domain in days
  • activeInDays number (nullable): Days since the mailbox was last active
  • activeFirstSeen string (nullable): Date the mailbox was first seen active
  • smtpProvider string (nullable): The email service provider detected for the domain
  • mxFound string: Whether a valid MX record was found ("true" or "false")
  • mxRecord string (nullable): The primary MX record hostname
  • firstname string (nullable): First name associated with the email if found
  • lastname string (nullable): Last name associated with the email if found
  • gender string (nullable): Predicted gender based on the first name
  • country string (nullable): Country associated with the email
  • region string (nullable): Region/state associated with the email
  • city string (nullable): City associated with the email
  • zipcode string (nullable): ZIP/postal code associated with the email
  • processedAt string: Timestamp when the validation was processed

Example Usage:

{
  "email": "john.doe@example.com",
  "ipAddress": "99.110.204.1"
}

Validate Email Batch

Validate a batch of up to 200 email addresses in a single request. Each address is validated with the same depth as the single validation endpoint.

Operation Type: Query (Read)

Parameters:

  • emailBatch array of objects (required): Array of email addresses to validate (up to 200)
    • emailAddress string (required): The email address to validate
    • ipAddress string (nullable): Optional IP address of the user who submitted this email. Default: null
  • timeout number (nullable): Timeout in seconds for the entire batch (10-120). Uses your account's default when null. Default: null

Returns:

  • emailBatch array of objects: Validation results for each email (same shape as single validate)
    • address string: The validated email address
    • status string: Validation result ("valid", "invalid", "catch-all", "unknown", "spamtrap", "abuse", "do_not_mail")
    • subStatus string: Detailed sub-status code
    • freeEmail boolean: Whether the domain is a free email provider
    • catchallDomain string (nullable): Catch-all domain if applicable
    • didYouMean string (nullable): Suggested corrected email if a typo was detected
    • account string (nullable): Local part of the email
    • domain string (nullable): Domain part of the email
    • domainAgeDays string (nullable): Domain age in days
    • activeInDays number (nullable): Days since last active
    • activeFirstSeen string (nullable): Date first seen active
    • smtpProvider string (nullable): Email service provider
    • mxFound string: Whether MX record was found
    • mxRecord string (nullable): Primary MX record hostname
    • firstname string (nullable): First name if available
    • lastname string (nullable): Last name if available
    • gender string (nullable): Predicted gender
    • country string (nullable): Country associated
    • region string (nullable): Region/state associated
    • city string (nullable): City associated
    • zipcode string (nullable): ZIP code associated
    • processedAt string: Timestamp when processed
  • errors array of objects: Addresses that could not be processed
    • error string: Error description
    • emailAddress string: The email address that failed

Example Usage:

{
  "emailBatch": [
    { "emailAddress": "alice@example.com" },
    { "emailAddress": "bob@company.org", "ipAddress": "192.0.2.1" },
    { "emailAddress": "invalid.email@nonexistent-domain.xyz" }
  ]
}

Common Use Cases

List Hygiene:

  • Clean email lists before sending campaigns to reduce bounce rates and protect sender reputation
  • Filter out spamtraps, abuse addresses, and do-not-mail entries from prospect lists
  • Identify and remove invalid emails from CRM contact records

Lead Qualification:

  • Validate emails from form submissions before storing them in your database
  • Use the status field to prioritize outreach — focus on "valid" addresses first
  • Use catch-all status to flag addresses that need manual verification

Contact Enrichment:

  • Retrieve contact metadata (name, gender, location) to fill gaps in CRM records
  • Identify the email service provider using smtpProvider for deliverability strategy
  • Use activeInDays to gauge how recently a mailbox was active

Bulk Processing:

  • Validate large lists in batches of up to 200 addresses per request
  • Process errors separately using the errors array to retry or flag failures
  • Combine with list segmentation to route emails by validation status