Limited-time August offer: Save 80% on email verification credits. View pricing
Built for production signup and lead workflows

Verify emails without turning 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.

Free verification credits included with new accounts. 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 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();

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

Go 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);

Straightforward 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 $1.90 $0.00038 per verification
100,000 credits $21.00 $0.00021 per verification

Developer FAQ

Know what to ship before you integrate.

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 do credits and rate limits work?

One request uses one credit. Rate limits are applied per API key, and limited requests return HTTP 429. Contact support for workload-specific limits.

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