Precision over volume: every check is a real conversation with the receiving mail server, not a lookup in a stale database.
Every address is checked live against its mail server, covering syntax, MX records and mailbox existence, in about two seconds.
{
"email": "sara@acmecorp.com",
"status": "valid",
"sub_status": "mailbox_exists",
"provider": "google",
"mx_host": "aspmx.l.google.com",
"risk_score": 4
}Spot catch-all domains, role accounts and risky addresses with a per-email risk score, so you decide what makes the cut.
hello@agency-mail.net catch-all risk 58 support@acmecorp.com role risk 41 sara@acmecorp.com clean risk 4
Temporary and throwaway inboxes are flagged automatically before they ever pollute your list or skew your metrics.
if (result.is_disposable) {
return reject("Use a permanent address");
}Upload CSV, Excel or JSON files with up to 50,000 contacts per job, watch live progress and pay only for what runs: unused credits are refunded.
job_8f21c4 running 38,204 / 50,000 valid 29,881 invalid 5,402 catch-all 2,117 unknown 804
One click grades a domain across 8 checks: MX, SPF, DKIM, DMARC, PTR, blocklists, MTA-STS and BIMI, plus a Gmail/Yahoo/Microsoft bulk-sender verdict.
acmecorp.com grade B+ MX pass SPF pass DKIM pass DMARC p=none PTR pass blocklist clean MTA-STS none BIMI none
Verify at signup, in your CRM or anywhere else with simple API keys, a REST API with rich structured results, and live job progress over SSE.
curl https://api.inboxvalid.com/v1/verify \
-H "Authorization: Bearer $IV_KEY" \
-d '{"email":"sara@acmecorp.com"}'A verifier that never says “I don’t know” is guessing. Here is every verdict InboxValid returns and what each one means for your next send.
The mailbox answered. We opened a real SMTP conversation with the receiving server and it accepted the recipient, so this address can be mailed today.
The server rejected the recipient outright. Sending here is a guaranteed hard bounce, and hard bounces are what mailbox providers count against your reputation.
The domain accepts everything, so acceptance proves nothing. We say so instead of scoring it valid, and give you a risk score to decide with.
A throwaway inbox from a known temporary provider. It will stop existing shortly and it never belonged in a nurture sequence.
A shared functional mailbox rather than a person. Deliverable, but it draws complaints in cold outreach, so it is flagged separately from invalid.
The server would not give a straight answer within the retry window. We return unknown rather than guessing, and you are not charged for it: re-run those rows later and you pay only for the ones that finally resolve.
Verify your first 1,000 emails free. It takes about a minute to start.
Get Started Free