---
title: "Single email verification"
method: GET
path: "/v1/verify/single"
tags: ["Single verification"]
---

# Single email verification

`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`

**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`](#tag/Single-verification/paths/~1v1~1verify~1single~1status/get) 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`](#tag/Single-verification/paths/~1v1~1verify~1single%20(for%20waterfall)/get)

**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.

## Query parameters

- `email` string, required
- `mode` 'regular' | 'deepverify'
- `url` string
- `disable_catchall_verify` '0' | '1'

## Response `200`

ok

- SingleVerifyResult: Verification result for this task.
  - `id` string: 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](#tag/Single-verification/paths/~1v1~1verify~1single~1status/get) 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](#tag/Single-verification/paths/~1v1~1verify~1single~1status/get) 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](#tag/Single-verification/paths/~1v1~1verify~1single~1status/get) 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_at` integer: The recommended Unix timestamp to poll the [/single/status](#tag/Single-verification/paths/~1v1~1verify~1single~1status/get) endpoint for an updated verification result. This value is only returned when the verification status is `verifying`.
  - `email` string: The email address submitted for verification.
  - `result` 'deliverable' | 'risky' | 'undeliverable' | 'unknown': The state (verification result) for the email.
  - `score` integer: The score (0 ~ 100) represents the deliverability of an email - the higher, the better.
  - `is_disposable` boolean: Whether the email is disposable.
  - `is_accept_all` boolean: Whether the email is accept-all.
  - `is_role` boolean: Whether the email is role based.
  - `is_free` boolean: Whether the email is a free email.
  - `mx_records` string[]: All MX records for the email.
  - `smtp_provider` string: 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.
  - `mode` string: Verification mode.
  - `verify_at` unknown
  - `credits_consumed` number, float: Credits consumed for this task.
  - `credits_remaining` number, float: Credits remaining in your account after the current task. `-1` means unlimited. Only returned for some custom plans.

## Other responses

- `400`: Invalid parameter.
- `401`: Authorization information is missing or invalid.
- `403`: Insufficient credits.
- `405`: The account is blocked.
- `429`: Rate limited.
- `500`: Unexpected error.

---

[API](https://skmtc.dev/bounceban/apis/bounceban-apis-reference.md) - [All operations](https://skmtc.dev/bounceban/apis/bounceban-apis-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/bounceban/apis/bounceban-apis-reference/revisions/0f9b503568c3?raw)
