Built for production signup and lead workflows

An email verification API that doesn’t turn temporary replies into false negatives.

Check mailbox deliverability in real time, detect risky email patterns, retry greylisted results safely, and get more useful answers for supported catch-all business domains.

10 free verification credits with every new account. One request uses one credit.

No email sent Real-time response Retry-aware results Any HTTPS stack
First request
curl "https://api.ValidEmail.net/?email=user@example.com&token=YOUR_API_KEY"
DeliverableContinue or apply your score-based risk policy.
State: Deliverable
UnknownWait, then query again using the retry hint.
RetryAfterSeconds
Not DeliverableBlock, suppress, or request another address.
Score 0

A safer integration contract

Three email verification outcomes. One clear decision path.

A temporary response is not the same as an invalid mailbox. Route by State, then use RetryAfterSeconds whenever the answer is still being resolved.

01

Deliverable

Accept the address

The mailbox check completed and the address can continue through your normal signup, checkout, or lead flow.

State: "Deliverable"
02

Unknown

Defer the decision

The mail server gave a temporary answer. Keep the user moving with a softer path, then retry after the returned interval.

Reason: "PENDING" or "GREYLISTED"
03

Not Deliverable

Stop or suppress

The domain or mailbox produced a permanent negative result. Ask for a correction or keep it out of sending workflows.

State: "Not Deliverable"
Recommended routing

Do not block every IsValid: false response.

An Unknown result is intentionally non-final. Checking the state prevents temporary SMTP behavior from becoming a false rejection in your product.

if (result.State === "Deliverable") allow();
else if (result.State === "Unknown" && result.RetryAfterSeconds) retryLater();
else blockOrReview();

One request, one response

The same call, whether you need an email verification, validation or checker API.

Developers search for different names but need the same answer at signup or import time. Here is where each question is answered in the JSON response.

Email verification API

“Does this mailbox exist?”

The address is checked against its domain and mail server without sending a message. Temporary replies come back as Unknown with a retry hint instead of a guess.

StateReasonRetryAfterSeconds
Email validation API

“Is this a real person’s address?”

Disposable inboxes, role addresses such as info@ and free webmail providers are flagged on every response, so your form can decide how to treat them.

DisposableRoleFreeAcceptAll
Email checker API

“Should I accept this signup?”

A 0–100 score and a single validity flag turn the checks into a decision you can apply in one line of code.

ScoreIsValid

Checking a whole list instead of one address at a time? Upload it for bulk email verification

Why the answer is more useful

Designed to preserve uncertainty instead of hiding it.

ValidEmail combines familiar deliverability signals with provider-aware checks and a real temporary-result lifecycle.

Temporary-aware

Transport failures and inconclusive SMTP responses stay Unknown. They are not cached as permanent negatives.

Greylist-aware

Delayed re-verification reuses a stable SMTP identity, while the API tells your integration when to query again.

Catch-all aware

Supported Google Workspace and Microsoft 365 domains can receive a mailbox-level existence check beyond the domain's accept-all behavior.

Catch-all business email

Catch-all email verification that goes beyond “this domain accepts everything.”

Catch-all SMTP behavior can hide whether a specific mailbox exists. For supported Google Workspace and Microsoft 365 domains, ValidEmail asks for a mailbox-level answer and uses it only when it is definitive.

Google Workspace Microsoft 365
Catch-all detectedThe domain accepts a made-up recipient.
Mailbox existsReturn the confirmed mailbox verdict without a catch-all score penalty.
Mailbox does not existReturn a definitive not-deliverable result.
No definitive answerKeep the honest, conservative catch-all result.

Quick start

From API key to first decision in a few lines.

The public endpoint is versionless. Send an HTTPS request from any language, then branch on the response state.

JavaScript
const params = new URLSearchParams({
  email: "user@example.com",
  token: process.env.VALIDEMAIL_API_KEY
});

const response = await fetch(`https://api.ValidEmail.net/?${params}`);
if (response.status === 429) throw new Error("Rate limited");

const result = await response.json();
if (result.State === "Deliverable") return allow();
if (result.State === "Unknown" && result.RetryAfterSeconds) {
  return retryAfter(result.RetryAfterSeconds);
}
return blockOrReview(result.Reason);

Your data

What happens to the addresses you send to the API.

Before you send your users’ email addresses to any API, you should know where they go. The short version: an address is used to verify that address, and nothing else.

Used only for verification

Each address is processed to produce its result. Addresses are not sold, rented or shared for marketing.

No email is ever sent

Verification checks the domain and the mail server without delivering a message, so your users are never contacted.

No stored list of your checks

The API does not keep your checked addresses as a list in your account. An address is held only temporarily: minutes for a cached result, up to a week for a greylisted check that is being retried. Request logs are kept for operations and security.

Keep your key on the server

Call the HTTPS endpoint from your backend so the API key stays out of browsers and client code. Each key is tied to your account and its credits.

Payments through PayPal or USDT

Card details are entered with PayPal, never on this site. Purchased credits do not expire.

Straightforward pricing

Email verification API pricing: buy the checks you need, keep the credits you do not use.

New accounts include free verification credits. Purchased credits do not expire and work across API and bulk verification.

5,000 credits $9.50 $0.0019 per verification
100,000 credits $100.00 $0.001 per verification

Developer FAQ

Know what to ship before you integrate.

Is this an email validation API or an email verification API?

Both. An email validation API, an email verification API and an email checker API answer the same question: can this address receive mail, and should you accept it? One request returns the deliverability verdict (State, Reason), a 0–100 Score, and Disposable, Role, Free and AcceptAll flags.

Which endpoint should I use?

Use https://api.ValidEmail.net/ with email and token query parameters. The root endpoint runs the current verification system.

What is the difference between PENDING and GREYLISTED?

GREYLISTED means the mail server explicitly delayed the mailbox check. PENDING covers other temporary or still-running outcomes. Both remain Unknown and may include a retry hint.

Should I block an Unknown result?

Not as a permanent invalid address. Use a softer product path and retry after RetryAfterSeconds when it is present.

How does catch-all verification work?

ValidEmail detects accept-all behavior first. Supported Google Workspace and Microsoft 365 domains may then receive a mailbox-level check. If that check is inconclusive, the API keeps a conservative catch-all result.

Which fields are returned?

IsValid, Score, Email, State, Reason, Domain, Free, Role, Disposable, AcceptAll, Tag, MXRecord, RetryAfterSeconds, and EmailAdditionalInfo.

Does verification send an email?

No. ValidEmail checks deliverability signals without sending a message to the address.

How many free credits do I get?

Every new account gets 10 free verification credits to test your integration. One request uses one credit; purchased credits do not expire and work for both the API and bulk verification.

How do credits and rate limits work?

One request uses one credit. Each API key has a per-second request limit; a request over it returns HTTP 429 with the limit in the error message, so wait a moment and retry. If your workload needs a higher limit, contact support.

Do you keep the addresses I check?

Addresses sent to the API are used only to verify them. They are not sold, rented or shared for marketing, and no email is sent to them. The API does not build a list of your checks in your account; an address is held only temporarily (minutes for a cached result, up to a week for a greylisted check that is being retried), and request logs are kept for operations and security as described in the privacy policy.

Where can I get implementation help?

Use the API guide, response guide, or contact support.

Start with free verification credits

Ship a better email decision today.

Get your API key, make one request, and handle deliverable, temporary, and not-deliverable results correctly from the start.

Get Your API Key
Read the API documentation