Developer tool · no network call
Disposable Email Checker
Check an email address or domain locally, return the matched evidence record, and keep the server-side policy deterministic.
Answer: call
isDisposableEmail(email) on the server. It returns true only for an active disposable record with medium or high confidence; malformed input is reported separately as invalid_input.CLI
node cli/dist/bin.js check user@vtmpj.com
# BLOCKED vtmpj.com (disposable, confidence=high, match=exact)
node cli/dist/bin.js check user@gmail.com --json
TypeScript
import { isDisposableEmail, classifyEmail } from '@internal/disposable-email-core'
if (isDisposableEmail(email)) {
throw new Error('SIGNUP_EMAIL_NOT_ALLOWED')
}
const result = classifyEmail(email)
// result.record.source_urls explains why a listed domain matched
Stable JSON fields
| Field | Meaning |
|---|---|
blocked | Policy decision; a blocked decision still exits 0. |
classification | disposable, alias, role, free_provider, unknown, or unlisted. |
matched_domain | The exact or most-specific suffix record that matched. |
reason | Short human-readable explanation safe for diagnostics. |
Do not confuse validation with verification
The checker does not probe SMTP, prove mailbox ownership, or score fraud. Keep rate limits, CAPTCHA, email verification, and provider controls as separate layers.