Validate a batch of email addresses
Check up to 50 addresses for whether they can receive mail, and for the signals that make one worth mailing. Billed per address.
The response publishes a verdict alongside the flags it was drawn from. Branch on the verdict: the two obvious readings of the flags are both wrong — a free-provider address (is_personal) and a role mailbox (is_role_address) are ordinary, deliverable addresses that real customers use, and refusing them would shrink a list for no reason. is_disposable is the only flag that lowers a verdict.
unknown means DNS did not answer in time, so that address was NOT checked. It is a separate value from undeliverable on purpose — acting on the two together deletes live contacts over a network hiccup.
The 50-address ceiling is a latency bound, not a payload one: every distinct DOMAIN in the batch costs a DNS round trip. To validate a whole list, use POST /api/v1/lists/{id}/validation-runs, which runs as a background job.
Requires the validation:write scope — Check whether email addresses can receive mail — this is billed per address.
Request
- Base URL: https://api.sendly.now
- URL: https://api.sendly.now/api/v1/email-validations
- Auth: one of:
- HTTP bearer
- API key in cookie better-auth.session_token
- OAuth 2 (authorization code, authorization URL https://app.sendly.now/api/auth/oauth2/authorize, token URL https://app.sendly.now/api/auth/oauth2/token, scopes: validation:write)
Request body
Response
One verdict per address, in the order they were given
Changes
No recorded changes to this operation across all 1 revision of this API.