Email Validation API

Email Validation API: verify emails in real time

Submit checks from your forms, CRM imports or background jobs. Keep records pending until verification completes, then use the final status to decide what happens next.

Plan your integration. No account needed to read the docs.
EmailAwesome API

What you get back,
and what to do with it

Route the record only after the check is complete. Pending requests, timeouts and errors belong in a separate review queue—not in the four final results below.

Status

What it means

Typical handling

Valid

The address passed the checks available at the time of verification.

Continue under your data policy. Verification does not establish consent or guarantee delivery.

Invalid

Address doesn't exist or the domain can't receive.

Suppress or flag the address once the check is complete.

Catch all

Domain accepts anything, so the mailbox can't be confirmed.

Keep separate for review; the individual mailbox is not confirmed.

Unknown

No definitive answer, usually greylisting or rate limiting.

Keep for review or a controlled retry. Unknown results are not charged.

Bad emails spread fastest in automated systems.

Manual cleanup works when the problem is a list. It fails when email data is moving through forms, products, CRMs, enrichment jobs and reports before anyone has time to inspect it.

Clean after the damage

Bad emails enter through forms, sync into CRMs, trigger automations, reach enrichment jobs and distort reporting. By the time someone notices, the address has touched several systems that now need correction, suppression or manual investigation.

Verify at the point of entry

Products, forms, CRM imports and background jobs check the address before it spreads, then use returned statuses to accept, block, flag, segment or review while the data is still close to the source.

One async workflow, two places to use it

The creation response can be pending. Design your form or background process to wait for a completed check before using the email result.

Zapier

When validation belongs in your product

Where it fits

Signup, checkout or any field where a person is waiting for an answer.

Who sets it up

A developer, working against the API reference.

How it runs

In your own code, fast enough to block a form submit.

API

When validation belongs in your product

Where it fits

Signup, checkout or any field where a person is waiting for an answer.

Who sets it up

A developer, working against the API reference.

How it runs

In your own code, fast enough to block a form submit.

Forms and product flows

Capture now, verify before the next action.

Submit the check from your server and show a clear pending state. Set a waiting limit and a fallback; do not promise a completed result in the initial response.

Imports and background jobs

Submit and move on

Store the verification ID and process the callback, or retrieve the check by ID. Release the record to downstream automation only after completion and your policy checks.

Where teams actually
‍put the call

Signup and lead forms

Start verification when an address is submitted. Keep pending checks separate and use the completed result before triggering outreach or other downstream actions.

CRM imports

Check incoming addresses before activating CRM automations. Match each completed result to its source record and keep unresolved checks in a review queue.

Background jobs

Re-verify ageing records on a schedule, so the database doesn't decay quietly between campaigns.

From your form
‍to your CRM

01

Submit the address

When a lead submits your form, start the check on your server. Link the verification ID to the source record and keep your API key private.

02

Wait for a completed check

Process the callback or retrieve the check by ID. Set a waiting limit and bounded retries; send failed or unresolved checks to review.

03

Update your CRM once

Match the final result to the lead, then apply your routing rules before outreach. Prevent repeated callbacks from creating duplicate records or actions.

Code Examples

Create a validation, keep the record pending, then use the completed result in your workflow.

01 / REQUEST

Create a validation

Send the address and your callback URL from your server. Keep your API key private.

POST /api/validations/email_validation
x-api-key: YOUR_API_KEY
Content-Type: application/json

{
  "email": "user@example.com",
  "results_callback": {
    "url": "https://example.com/webhooks/email-validation",
    "method": "POST"
  }
}

INITIAL RESPONSE / 201 CREATED

{
  "id": "validation_id",
  "status": "PENDING"
}

02 / CALLBACK

Receive the result

When verification completes, match the callback to the record using its validation ID.

{
  "id": "validation_id",
  "status": "COMPLETE",
  "email_address": "user@example.com",
  "email_address_status": "VALID"
}

Read the email result only after processing is COMPLETE. A pending response is not a final verification result.

This example shows VALID. Handle INVALID, CATCH_ALL and UNKNOWN according to your workflow policy.

Rate Limits

Rate limits depend on your plan and apply per API key within a rolling time window. If you receive a 429 response, pause and retry with backoff.

Volume Pricing

Start with 1,000 free validations each month. Paid plans with async API access start at $7/month for 2,000 validations, with custom plans available above 500,000 per month.

FAQs

Questions about the API

Is the API only for developers?

What statuses should my app expect?

Why use async verification?

Where should developers use the API?

What is an email validation API?

USE CASE

Verified B2B Lead Lists for Agencies

Turn your authorized B2B records into a client delivery your team can explain. Verify addresses with EmailAwesome, then document sources, duplicates, coverage, and records that still need review.

01

Agree on the delivery rules

02

Verify and reconcile the list

03

Prepare the client handoff

Best for:

B2B lead list delivery

Stop bad data at the door

Get an API key and 1,000 free verifications. Unknown results never cost a credit.

Email check image