---
title: "Single email verification (Clay, N8N, and other waterfall services)"
method: GET
path: "/v1/verify/single (for waterfall)"
tags: ["Single verification"]
---

# Single email verification (Clay, N8N, and other waterfall services)

`GET /v1/verify/single (for waterfall)`

## Request

- Base URL: `https://api-waterfall.bounceban.com`
- URL: `https://api-waterfall.bounceban.com/v1/verify/single (for waterfall)`
- Auth: API key in header `Authorization`

This API is recommended for Clay, N8N, and any other services that use one single HTTP request for email verification). **Note: This endpoint uses a different base URL than other BounceBan APIs.** The full URL for this API is `https://api-waterfall.bounceban.com/v1/verify/single`.<br><br>

With this API, you don't need to send a seperate api ([/v1/verify/single/status](#tag/Single-verification/paths/~1v1~1verify~1single~1status/get)) call to poll for verification result. Instead you just send the same request again if it times out. The API times out with status code `408` if verification is not completed within the specified timeout period (default 80 seconds, configurable via the `timeout` parameter). In this case, you should send the same request again - retries within 30 mins of the initial verification request for the same email won't deduct credits.<br><br>
The `408` response always includes the verification `id`, and verification continues in the background - so alternatively you can fetch the finished result later at no charge via [/v1/verify/single/status](#tag/Single-verification/paths/~1v1~1verify~1single~1status/get), which is available on this waterfall base URL as well. Note that `/v1/verify/single` and `/v1/verify/single/status` are the only endpoints served on `api-waterfall.bounceban.com`. `?email=` always (re)submits the email for verification - it never looks up a past result: within **30 minutes** of the initial request, resending the same request is **free** and returns the same verification; after that window, it starts a **new, billed** verification. To look up an existing result without any risk of a new charge (at any time within 90 days), use `?id=` with the status endpoint instead.<br><br>
**Tutorials for popular automation services**: <br>
Clay （native integration): <br>
[https://support.bounceban.com/article/how-to-use-bounceban-with-clay](https://support.bounceban.com/article/how-to-use-bounceban-with-clay)<br>
n8n (native integration): <br>
[https://support.bounceban.com/article/how-to-use-the-n8n-node](https://support.bounceban.com/article/how-to-use-the-n8n-node)<br>

## Query parameters

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

## Response `200`

ok

- WaterfallVerifyResult: Verification result for waterfall API (Clay and other waterfall services).
  - `id` string: Unique ID for this waterfall verification task.
  - `status` 'success': Verification status for this task. > `success` Indicates the task is finished and the final verification result can be returned.<br>
  - `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.
- `408`: Verification timeout.
- `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)
