BATCH EMAIL VALIDATOR - REAL TIME (V2)

This endpoint allows you to send us batches up to 200 emails at a time. It is rate limited to 5 uses per minute, if you exceed the rate limit, you will be blocked for 10 minutes. If you're looking to do single email validations, please use our single email validator endpoint.

If you're looking to upload files with emails greater than 200 at a time without any rate limiting restrictions, please use our Bulk File Management Endpoints which also includes anti-greylisting as an added benefit.

This endpoint can take up to 70 seconds to return the results of the entire batch. We currently don't have an SDK for this endpoint, but SDK's are available for our other endpoints.

- POST /V2/VALIDATEBATCH

API URL: https://bulkapi.zerobounce.net/v2/validatebatch

Below you will find the instructions on how to use our API, it's very easy to use and requires SSL. The API requires that you have an active credit balance and will never consume a credit for any unknown result.

URL Parameters

  • Parameter
    Description
  • api_key
    Your API Key
  • email_batch
    [Array of Objects], Format:{"email_address": "valid@example.com","ip_address": "1.1.1.1"}
  • timeout
    The duration (10 - 120 seconds) allowed for the validation. If met, the API will return unknown / greylisted. (optional parameter)

EXAMPLE POST REQUEST


    {
      "api_key":"Your API Key",
          "email_batch":[
              {"email_address": "valid@example.com","ip_address": "1.1.1.1"},
              {"email_address": "invalid@example.com","ip_address": "1.1.1.1"},
              {"email_address": "disposable@example.com","ip_address": null}
          ]
  }
    

TO USE THIS ENDPOINT, USE THE CODE EXAMPLES BELOW FOR THE DESIRED LANGUAGE:

Successful Response

    {
      "email_batch": [
          {
              "address": "valid@example.com",
              "status": "valid",
              "sub_status": "",
              "free_email": false,
              "did_you_mean": null,
              "account": null,
              "domain": null,
              "domain_age_days": "9692",
              "smtp_provider": "example",
              "mx_found": "true",
              "mx_record": "mx.example.com",
              "firstname": "zero",
              "lastname": "bounce",
              "gender": "male",
              "country": null,
              "region": null,
              "city": null,
              "zipcode": null,
              "processed_at": "2020-09-17 17:43:11.829"
          },
          {
              "address": "invalid@example.com",
              "status": "invalid",
              "sub_status": "mailbox_not_found",
              "free_email": false,
              "did_you_mean": null,
              "account": null,
              "domain": null,
              "domain_age_days": "9692",
              "smtp_provider": "example",
              "mx_found": "true",
              "mx_record": "mx.example.com",
              "firstname": "zero",
              "lastname": "bounce",
              "gender": "male",
              "country": null,
              "region": null,
              "city": null,
              "zipcode": null,
              "processed_at": "2020-09-17 17:43:11.830"
          },
          {
              "address": "disposable@example.com",
              "status": "do_not_mail",
              "sub_status": "disposable",
              "free_email": false,
              "did_you_mean": null,
              "account": null,
              "domain": null,
              "domain_age_days": "9692",
              "smtp_provider": "example",
              "mx_found": "true",
              "mx_record": "mx.example.com",
              "firstname": "zero",
              "lastname": "bounce",
              "gender": "male",
              "country": null,
              "region": null,
              "city": null,
              "zipcode": null,
              "processed_at": "2020-09-17 17:43:11.830"
          }
      ],
      "errors": []
  }
    
Error Response

    {
      "email_batch": [],
      "errors": [
          {
              "error": "Invalid API Key or your account ran out of credits",
              "email_address": "all"
          }
      ]
    }
    

THE API WILL RETURN A JSON OBJECT WITH 2 ARRAY VALUES, "EMAIL_BATCH" AND "ERRORS" USING THE "BATCHVALIDATE" METHOD.

The email_batch property will be an array of validated results and the errors array will be an array of errors encountered during batch vaidation, if any.

JSON Properties

  • Properties
    Description
  • email_batch
    [Array] An Array of validated emails
  • errors
    [Array] An Array of errors encuontered, if any

email_batch Properties

  • Properties
    Description
  • address
    The email address you are validating.
  • status
    [valid, invalid, catch-all, unknown, spamtrap, abuse, do_not_mail]
  • sub_status
    [alternate, antispam_system, greylisted, mail_server_temporary_error, forcible_disconnect, mail_server_did_not_respond, timeout_exceeded, failed_smtp_connection, mailbox_quota_exceeded, exception_occurred, possible_trap, role_based, global_suppression, mailbox_not_found, no_dns_entries, failed_syntax_check, possible_typo, unroutable_ip_address, leading_period_removed, does_not_accept_mail, alias_address, role_based_catch_all, disposable, toxic]
  • account
    The portion of the email address before the "@" symbol.
  • domain
    The portion of the email address after the "@" symbol.
  • did_you_mean
    Suggestive Fix for an email typo
  • domain_age_days
    Age of the email domain in days or [null].
  • free_email
    [true/false] If the email comes from a free provider.
  • mx_found
    [true/false] Does the domain have an MX record.
  • mx_record
    The preferred MX record of the domain
  • smtp_provider
    The SMTP Provider of the email or [null] [BETA].
  • firstname
    The first name of the owner of the email when available or [null].
  • lastname
    The last name of the owner of the email when available or [null].
  • gender
    The gender of the owner of the email when available or [null].
  • city
    The city of the IP passed in or [null]
  • region
    The region/state of the IP passed in or [null]
  • zipcode
    The zipcode of the IP passed in or [null]
  • country
    The country of the IP passed in or [null]
  • processed_at
    The UTC time the email was validated.

BulkAPI and BulkAPI Batch Validate Rate Limits

We allow a maximum of 250 requests in 1 minute for the bulkapi.zerobounce.net/ before temporarily blocking for 1 hour.

We allow a maximum of 20 requests in 1 minute for the bulkapi.zerobounce.net/v2/validatebatch before temporarily blocking for 10 minutes.

Bad requests to bulkapi.zerobounce.net/ 200 times in 1 hour will result in a temporary block for 1 hour.

Batch responses to bulkapi.zerobounce.net/v2/validate that contains over 20 unknown statuses (that are not greylisted or antispam) more than once per hour will temporarily block for 1 hour.