Skip to content

Email Validation

Enterprise email validation API to reduce bounce rates and protect sender reputation. Real-time validation with syntax checking, domain verification, comprehensive disposable email detection, and MX record validation. Built-in intelligence to identify role accounts and suggest corrections for common typos.

Validate email address

Request

Validate a single email address for deliverability before sending.

Comprehensive validation checks:

  • Syntax validation (RFC 5322 compliant)
  • Domain existence verification (DNS lookup)
  • MX record validation
  • Advanced disposable email detection with continuously updated database
  • Role account detection (support@, admin@, etc.)
  • SMTP mailbox probe — connects to the receiving mail server and issues an RCPT TO command to confirm the individual mailbox exists (without sending a message)
  • Catch-all domain detection — identifies domains that accept all addresses regardless of whether the specific mailbox exists

Business benefits:

  • Reduce bounce rates by 60-80%
  • Protect your sender reputation score
  • Block temporary and disposable email addresses
  • Detect non-existent mailboxes even when the domain looks valid
  • Identify catch-all domains that can inflate your list with unknown addresses
  • Identify role accounts to improve engagement
  • Real-time validation with instant results

Enterprise reliability with 99.9% uptime SLA and global infrastructure.

Rate Limit: Consumes from your monthly validation quota (check /api/v1/address/validate/quota)

Security
ApiKeyAuth
Bodyapplication/jsonrequired
emailstring, (email)required

Email address to validate

Example:"user@example.com"
curl -i -X POST \
  https://api.mailerlogic.net/api/v1/address/validate \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "email": "user@example.com"
  }'

Responses

Email validated successfully

Bodyapplication/json
emailstring, (email)

Email address that was validated

is_validboolean

Whether the email address is valid and deliverable

validation_checksobject

Detailed validation check results

risk_levelstring

Overall risk assessment

Enum:"low""medium""high"
deliverability_scoreinteger, [ 0 .. 100 ]

Deliverability score (0-100, higher is better). Inverse of risk score with capped overrides for disposable/no-MX cases.

confidence_scoreinteger or null, [ 0 .. 100 ]

Deliverability confidence score (0–100). Distinct from deliverability_score — this reflects how certain we are the email will actually reach an inbox, incorporating:

  • SMTP mailbox probe result
  • Catch-all domain detection
  • MX provider reputation (Google Workspace, Microsoft 365, etc.)
  • Email address pattern (human name vs. random string vs. role)
  • SMTP response latency Higher = more confident the address is genuinely deliverable.
Example:72
confidence_labelstring or null

Human-readable confidence tier derived from confidence_score:

  • very_high (90–100) — mailbox confirmed, reputable provider
  • high (70–89) — strong signals, likely deliverable
  • medium (50–69) — catch-all or mild uncertainty
  • low (30–49) — significant uncertainty (unknown provider, inconclusive SMTP)
  • very_low (0–29) — likely undeliverable
Enum:"very_high""high""medium""low""very_low"
Example:"high"
mx_providerobject or null

Detected MX mail provider for the domain.

email_patternstring or null

Classified pattern of the email local part (before @):

  • human_name — looks like firstname.lastname or similar personal address
  • role — generic role address (info@, admin@, support@, etc.)
  • random — high-entropy / randomly generated string
  • generic — does not clearly match other categories
Enum:"human_name""role""random""generic"
Example:"human_name"
suggestionsArray of strings

Informational notes or suggestions (e.g. catch-all notice, role account notice)

Example:
[ "Catch-all domain detected with a reputable mail provider. Email may be deliverable but cannot be individually verified." ]
reasonstring

Reason if email is invalid or undeliverable

Example:"Disposable email service detected"
usageobject

Validation quota usage information

Response
{ "email": "john.smith@company.com", "is_valid": true, "validation_checks": { "syntax_valid": true, "domain_exists": true, "has_mx_records": true, "is_disposable": false, "is_role_account": false, "mailbox_exists": true, "is_catch_all": false, "smtp_check_performed": true }, "risk_level": "low", "deliverability_score": 95, "confidence_score": 97, "confidence_label": "very_high", "mx_provider": { "name": "google", "tier": "enterprise" }, "email_pattern": "human_name", "suggestions": [], "usage": { "used": 145, "limit": 1000, "remaining": 855 } }