What is an email verification API and how does it work?

You'd use an API instead of a file upload whenever a check has to happen inside your own software. A signup form checks the address before the account is created. A CRM checks a lead when it's imported. A sequencer checks a prospect before the first send. In each case your code asks, the API answers, and nobody downloads a spreadsheet.

Behind one request sit three steps. Syntax comes first, which catches typos but proves nothing about existence. Then a DNS lookup finds the domain's MX record. Finally the service opens an SMTP connection on port 25 and names the address at the RCPT TO step. A 250 reply means accepted and a 550 means no such user. The connection closes before DATA, so no email is ever sent.

Here's what a call to ZapBounce looks like. Your code sends POST /v1/verify to api.zapbounce.com with a JSON body holding the address and a Bearer key in the header. The response carries result, reason, the mx_host we spoke to, the literal smtp_code, flags for role, disposable and free_provider, a did_you_mean typo suggestion and a billed field. The single verification reference shows the full request.

Verification is POST only, never a GET with the address in the query string. An address in a URL ends up in access logs, proxy logs and browser history. Keeping it in the request body keeps it out of all three.

Lists have their own routes. POST /v1/batches takes up to 100,000 addresses as JSON, and POST /v1/files takes a CSV or TXT upload. A signed batch.completed webhook fires when the job ends. Sandbox keys starting zb_test_ never bill, so you can build the integration for free, and live checks cost $5 per 1,000 on the API page.

How does an email verification API work?

Your code sends the address in an HTTP request. The service checks syntax, looks up the domain's MX record and asks the mail server about the mailbox over SMTP, then returns a JSON verdict. The SMTP conversation ends before any message is sent.

Is an email verification API free?

Most APIs include a small free allowance. ZapBounce gives every new account 100 free checks with no card, renewing monthly, and sandbox keys never bill. Paid checks start at $5 for 1,000.

What is the difference between email verification and email validation?

Validation usually means the syntax check alone, while verification goes on to ask the mail server whether the mailbox exists. A full verification API runs both in one call. In a ZapBounce batch, a row that fails that first step comes back invalid with the reason invalid_syntax, and it's never billed.

What happens if I call the API too fast?

The API answers 429 with a Retry-After header telling your code how long to wait. Rate-limited requests are never billed. Wait the stated time, then retry the same request.

Check this against your own list

100 free credits a month, no card. Unknown results come back labeled and are never billed.