Email Finding Webhook

When a finding batch completes, we POST the whole batch — every record, with its input and its result — to the URL you supplied as webhook.

Delivery is retried. If your endpoint does not answer 200 within 30 seconds we retry roughly every 2 minutes, up to 30 times — about an hour in total. Retries are not de-duplicated, so the same batch can arrive more than once and your handler must be idempotent.

Treat the webhook as the fast path and not the only path. If you miss the whole retry window, read the batch from the Email Finding Inquiry endpoint using the batch id. A robust integration acknowledges immediately, queues the payload, and processes it outside the request.

There is no authentication on this call. We send no signature, no shared secret and no token. If you need to authenticate deliveries, put a secret in the webhook URL — the query string is preserved end to end — and treat the payload as a notification, calling Email Finding Inquiry with the id to fetch authoritative data over an authenticated channel.

Any query string on your webhook URL is preserved, so you can tag deliveries with your own parameters.

We send the header Content-Type: application/json.

Body Params

The payload we POST to your endpoint.

In the example neither address was found, so neither result has an address key: Email Finding returns an address only for a VALID result. The second record was submitted without a refId, so it carries the UUID we generated.

string

The batch id, the same value the submit call returned. Use it to look the batch up again via Email Finding Inquiry.

string
enum

Which operation produced this batch. Always FIND here.

Show Details
FINDProduced by Email Finding — discovering an address from a name and domain.
VERIFYProduced by Email Verification — checking an address you already have.
Allowed:
string
enum

The state of the batch as a whole.

Show Details
PENDINGAccepted and queued. This is what a successful submit returns.
PROCESSINGWork in flight.
DONEFinished. Refunds are settled and the webhook has been sent.
FAILEDThe batch did not complete. Read `description` for the reason. Every record is refunded.
Allowed:
string | null

Null unless the batch failed.

data
array of objects
data
Response
200

Answer 200 within 30 seconds. The body is ignored. Any other status, or a timeout, is treated as a failed delivery and retried — roughly every 2 minutes, up to 30 times.

Language
LoadingLoading…