Single verification

Single email verification

Overview: This endpoint is designed for advanced users requiring granular control over BounceBan server connections.

Timeout & Async Handling: This request has a 15-second timeout. If verification completes within this window, the result is returned immediately. If verification exceeds 15 seconds, the API returns a 200 OK response containing a transaction id and the status verifying. You can retrieve the final result in two ways:

  • Polling: Use the returned id to query the v1/verify/single/status endpoint.
  • Webhook: specific a url parameter in your initial request to receive the result via webhook.

Alternative for Long Connections: If your infrastructure supports long-held GET connections (e.g., Clay, n8n), we recommend using the Waterfall API instead to receive results in a single synchronous request: https://api-waterfall.bounceban.com/v1/verify/single

Pricing:

  • Standard: 1 credit per request.
  • Note: Credits are deducted for every request, even if the same email is verified multiple times.
  • Custom: Custom rates apply for users on custom plans.
get/v1/verify/single

Request

  • Base URL: https://api.bounceban.com
  • URL: https://api.bounceban.com/v1/verify/single
  • Auth: API key in header Authorization

Query parameters

emailstring required

The email that needs to get verified.

mode'regular' | 'deepverify'

(Optional) Setting the verification mode for the verification job. Default mode is regular.<br>

regular: The default option for email verification. It does not assume that the domain of the email owner's current company website matches the domain of the email being verified.<br>

deepverify: DeepVerify operates on the assumption that the domain of the email owner's current company website matches the domain of the email being verified. This assumption can improve the success rate of verifying accept-all emails. However, it is crucial to obtain the domain for the email owner's current company website from a reliable source, such as the email owner's LinkedIn profile or another trustworthy sales prospecting database. Learn more: https://support.bounceban.com/article/what-is-deepverify

urlstring

(Optional) A webhook target URL specified to receive verification result event in real-time through an HTTP POST request. In case of a failed webhook event delivery, the system will attempt to resend the event up to two additional times within a short interval. For those verifying a substantial volume of emails, it's crucial to ensure that your webhook server is equipped to manage the incoming traffic. Services such as ngrok have been known to encounter issues when dealing with a significant number of events due to inherent limitations. We suggest exploring alternative testing services like TypedWebhook Tools https://typedwebhook.tools/ for a more robust solution. Please note that we are not affiliated with this service.

The webhook event will also include the event-type: single.email_verification_finished header so you can differentiate between different events.<br><br> Please note that the webhook event payload will be in JSON format.

{
  "id": "502abcde",
  "status": "success",
  "email": "dev@bounceban.com",
  "result": "deliverable",
  "score": 99,
  "is_disposable": false,
  "is_accept_all": false,
  "is_role": true,
  "is_free": false,
  "mx_records": [
    "alt1.aspmx.l.google.com",
    "alt2.aspmx.l.google.com",
    "alt3.aspmx.l.google.com",
    "alt4.aspmx.l.google.com",
    "aspmx.l.google.com"
  ],
  "smtp_provider": "Google",
  "verify_at": "2022-11-16T07:21:24.943Z",
  "credits_consumed": 1.000,
  "credits_remaining": 375214.000
}
disable_catchall_verify'0' | '1'

(Optional) Defaults to 0. When set to 1, BounceBan performs only basic SMTP verification. This may leave catch-all emails or those protected by ESGs (Email Security Gateways) unverified. For these addresses, the API will return result: 'unknown', score: -1, and the credit cost is 0.

Response

ok

idstring

Unique ID for this single verification task. This parameter is returned for all status values. If verification result is not available for a request in 15 seconds, the response for this endpoint will not include other verification information (e.g. score, deliverable or not deliverable, etc.) and you should use this ID to poll for the verification result via the /single/status endpoint, if you don’t want to receive it through webhook events by setting a target URL with the url parameter. The ID is valid for 90 days, however, exercise caution when relying on verification results after an extended period, for example, 2 weeks.

status'success' | 'verifying' | 'queue'

Verification status for this task.

success Indicates the task is finished and the final verification result can be returned.<br><br> verifying Indicates that the email is still undergoing verification. A small percentage of emails, particularly those using greylisting technologies, may not return verification results in real time. In such cases, please poll for the verification results using the /single/status API with the provided id. Alternatively, you can receive the results via a webhook by specifying a target URL with the url parameter. <span style="color:red;font-weight:bold">Please DO NOT send the same requests repeatedly as each request will cost 1 credit</span>.<br><br> queue Indicates that the rate limit for your account is reached and the email is queued for verification. In such cases, please poll for the verification results using the /single/status API with the provided id. Alternatively, you can receive the results via a webhook by specifying a target URL with the url parameter. <span style="color:red;font-weight:bold">Please DO NOT send the same requests repeatedly as each request will cost 1 credit</span>.

try_again_atinteger

The recommended Unix timestamp to poll the /single/status endpoint for an updated verification result. This value is only returned when the verification status is verifying.

emailstring

The email address submitted for verification.

result'deliverable' | 'risky' | 'undeliverable' | 'unknown'

The state (verification result) for the email.

scoreinteger

The score (0 ~ 100) represents the deliverability of an email - the higher, the better.

is_disposableboolean

Whether the email is disposable.

is_accept_allboolean

Whether the email is accept-all.

is_roleboolean

Whether the email is role based.

is_freeboolean

Whether the email is a free email.

mx_recordsstring[]

All MX records for the email.

smtp_providerstring

SMTP provider based on the main MX record, e.g. if the MX record for an email is alt1.aspmx.l.google.com, then the smtp provider will be Google. Currently a value is only returned if the MX records are notable.

modestring

Verification mode.

verify_atunknown
credits_consumednumber float

Credits consumed for this task.

credits_remainingnumber float

Credits remaining in your account after the current task. -1 means unlimited. Only returned for some custom plans.

Changes

No recorded changes to this operation across all 1 revision of this API.