Create Email Verification
/v2/email-verificationsCreate a bulk email verification job from a list of up to 10,000 addresses (data.emails). Costs 1 email verification credit per unique valid-syntax address (counts.billable), charged when the job starts; the unverified remainder is refunded on cancel or failure. The job counts the list and then starts on its own, usually within a minute; when the balance is short of counts.billable it stays awaiting_confirmation and starts once the credits are there (or with email_verifications_start). Answers 202 with the job and Location: /v2/jobs/{id}; poll it, or subscribe once to job.finished with POST /v2/webhooks, then read GET /v2/email-verifications/{id}/results (one item per address in request order). data.file_key (an uploaded file) is for the App: that job parks at awaiting_confirmation for email_verifications_start. With an Idempotency-Key, a retry of the same request answers the job it created instead of creating another. 1 jobs rate-limit unit.
How are credits spent?
1 email verification credit per unique valid-syntax address, charged when the job starts; the unverified remainder is refunded on cancel or failure. Duplicates and addresses with invalid syntax are free.
How the job works
Send up to 10,000 addresses in data.emails. The answer is 202 with the
job and Location: /v2/jobs/{id}. The job first counts the list, then starts
on its own, usually within a minute. If the balance is short of the billable
count, it waits in awaiting_confirmation and starts once the credits are
there.
When it is done, page Get Email Verification Results:
one item per address in request order (a duplicate appears at each of its
positions) with status, provider, domain and free_email. Addresses with
invalid syntax come back invalid without being checked.
Poll the job or subscribe to job.finished as described in
Bulk jobs: poll or webhook. data.file_key is for files
uploaded in the app; use data.emails from the API.
Body parameters
dataobjectrequiredWhat to verify: a list of addresses (
emails), or in the App an uploaded file (file_key).Field Type Description emailsstring[] The addresses to verify, 1-10,000, each at most 320 characters. Exactly one of emails/file_key. The job starts on its own once counted; repeated addresses are charged once and answered at each position inGET /v2/email-verifications/{id}/results.Example:
["emily.carter.sample@intercom.com","liam.novak.sample@getprospect.com"]file_keystring App only: the S3 key on the imports bucket, as returned by the /aws/pre-signed upload flow. Exactly one of emails/file_key. The job parks atawaiting_confirmationforemail_verifications_start. max length: 512.namestring Display name; defaults to the uploaded file's name, or to the date for emails. max length: 128.email_columninteger With file_keyonly. Zero-based index of the email column (from inspect), range-checked against the file. Optional: without it the one column that holds addresses is used; a file with none or several answers 400missing_fieldwithemail_column_candidatesinpayload. min: 0.sourceenum With file_keyonly: how the emails arrived - a paste still uploads a generated CSV. Defaults tofile; a job fromemailsreadssource: api.Allowed values:
filepaste
Responses
For error handling see Errors.
