Email verification isn't binary. A good verifier returns actionable statuses — not just "good" or "bad." Understanding each label saves credits, protects reputation, and stops you from deleting addresses you should keep.
This guide covers every status Email Validator returns across Single Check, bulk, API, and Company Finder — using the same definitions everywhere.

Quick Reference Table
| Status | Meaning | Billable? | Typical action |
|---|---|---|---|
| valid | Mailbox exists, SMTP confirmed | Yes | ✅ Send |
| invalid | Mailbox does not exist | Yes | ❌ Remove |
| over_quota | Mailbox full — exists but can't receive | Yes | ⏸ Pause sends |
| catch_all | Domain accepts all addresses | No | ⚠️ Don't cold-email |
| risky | Inconclusive SMTP (greylist, policy) | No | 🔄 Re-verify |
| unknown | No definitive answer | No | 🔄 Re-verify |
| disposable | Temp email provider | No | ❌ Block signup |
| spam_trap | Known trap address | No | ❌ Remove immediately |
| error | Technical failure | No | 🔄 Retry |
Valid — The Gold Standard
valid means the mail server accepted our SMTP probe for that specific address and we have high confidence the inbox exists.
Use for:
- Newsletter sends
- Transactional mail
- CRM sync
- Outreach (with consent)
Credits: 1 credit per verification (same as invalid and over_quota).
Invalid — Remove With Confidence
invalid means the server rejected the address (550 user unknown, no MX, domain doesn't exist).
Safe to delete from marketing lists. Keeping invalids above 2% bounce rate damages sender reputation fast.
Credits: 1 credit.
Over Quota — Mailbox Full (Not a Bounce)
over_quota is often confused with "rate limited." It is not.
When SMTP returns 552 mailbox full or similar, the address exists — the recipient's inbox is simply over capacity. This is a definitive result, not a temporary gate failure.
| over_quota | rate_limited (internal) | |
|---|---|---|
| Meaning | Recipient mailbox full | Our SMTP pool busy |
| Client sees | over_quota |
unknown |
| Billable | Yes | No |
| Action | Retry delivery later | Re-verify in a few minutes |
We recently aligned billing and API output so over_quota is visible and billable — because you received a real SMTP answer worth paying for.
Catch-All — Accept All, Confirm Nothing
See our dedicated guide: Catch-All Email Explained.
Short version: the domain accepts any local part. Verification cannot prove the specific mailbox exists. Free status — don't waste credits treating it as valid for outreach.
Risky vs Unknown
Both are non-billable inconclusive states:
- risky — SMTP connected but couldn't confirm (MAIL FROM rejected, policy block, Yahoo/Mail.ru inconclusive)
- unknown — broader inconclusive (timeouts, ambiguous responses)
Bulk jobs may re-try these automatically. For Single Check, wait and verify again.
Disposable & Spam Trap
disposable — temp inbox (mailinator.com, guerrillamail.com, …). Block at signup.
spam_trap — address on known trap lists. Remove immediately; sending harms reputation severely.
Both are free to detect.
Consistent Results Across All Channels
Whether you verify via:
…you get the same status taxonomy. Internal gate outcomes (rate_limited) map to unknown before reaching your dashboard — you never see half-finished infrastructure states.
Recommended List Hygiene by Status
KEEP & MAIL: valid
KEEP & PAUSE: over_quota (retry in 30 days)
SEGMENT APART: catch_all, risky
REMOVE: invalid, disposable, spam_trap
RE-VERIFY: unknown, error
Check any address now — Free Single Check →