Deliverable
Accept the address
The mailbox check completed and the address can continue through your normal signup, checkout, or lead flow.
State: "Deliverable"
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.
curl "https://api.ValidEmail.net/?email=user@example.com&token=YOUR_API_KEY"
State: DeliverableRetryAfterSecondsScore 0A safer integration contract
A temporary response is not the same as an invalid mailbox. Route by State, then use RetryAfterSeconds whenever the answer is still being resolved.
Deliverable
The mailbox check completed and the address can continue through your normal signup, checkout, or lead flow.
State: "Deliverable"
Unknown
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"
Not Deliverable
The domain or mailbox produced a permanent negative result. Ask for a correction or keep it out of sending workflows.
State: "Not Deliverable"
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
ValidEmail combines familiar deliverability signals with provider-aware checks and a real temporary-result lifecycle.
Transport failures and inconclusive SMTP responses stay Unknown. They are not cached as permanent negatives.
Delayed re-verification reuses a stable SMTP identity, while the API tells your integration when to query again.
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 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.
Quick start
The public endpoint is versionless. Send an HTTPS request from any language, then branch on the response state.
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
New accounts include free verification credits. Purchased credits do not expire and work across API and bulk verification.
Developer FAQ
Use https://api.ValidEmail.net/ with email and token query parameters. The root endpoint runs the current verification system.
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.
Not as a permanent invalid address. Use a softer product path and retry after RetryAfterSeconds when it is present.
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.
IsValid, Score, Email, State, Reason, Domain, Free, Role, Disposable, AcceptAll, Tag, MXRecord, RetryAfterSeconds, and EmailAdditionalInfo.
No. ValidEmail checks deliverability signals without sending a message to the address.
One request uses one credit. Rate limits are applied per API key, and limited requests return HTTP 429. Contact support for workload-specific limits.
Use the API guide, response guide, or contact support.
Start with free verification credits
Get your API key, make one request, and handle deliverable, temporary, and not-deliverable results correctly from the start.
Get Your API Key