Skip to main content

Email Validation API Reference

Validate email addresses and get comprehensive deliverability information including validity status, catch-all detection, MX records, and optional company data enrichment.

Validate Email

curl -X POST "https://api.mdb.tools/v1/email/validate" \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "john.doe@example.com",
    "include_company_data": true
  }'

Request Body

email
string
required
The email address to validate. Must be a properly formatted email address.
include_company_data
boolean
default:"false"
Whether to include company enrichment data in the response. When set to true, additional company information will be returned if available.

Response

{
  "email": "john.doe@example.com",
  "is_valid": true,
  "is_deliverable": true,
  "is_disposable": false,
  "is_role_based": false,
  "confidence_score": 0.95,
  "is_catch_all": false,
  "mx_records": [
    {
      "hostname": "mail.example.com",
      "priority": 10
    },
    {
      "hostname": "mail2.example.com",
      "priority": 20
    }
  ],
  "domain_info": {
    "domain": "example.com",
    "creation_date": "2010-03-15T00:00:00Z",
    "has_spf": true,
    "has_dmarc": true,
    "has_dkim": true
  },
  "company": {
    "name": "Midbound",
    "overview": "Outbound tactics have become intrusive noise, while inbound strategies often leave us passively waiting for engagement. It's time to bridge the gap and connect with buyers where they are. \n\nMidbound identifies anonymous website visitors at the person and company level, enabling marketing and sales teams to uncover the dark funnel, optimize ad spend, and discover untapped markets.\n\nGet started for free at midbound.ai",
    "linkedin_id": "midbound",
    "picture_url": "https://cdn.mdb.tools/midbound.jpg",
    "website_url": "https://www.midbound.ai/",
    "industry": "Marketing and Advertising",
    "type": "Privately Held",
    "address_street": "123 Main Street",
    "address_city": "Dover",
    "address_state": "Delaware",
    "address_postal_code": "19901",
    "address_country": "United States",
    "address_country_code": "US",
    "revenue_range": "5M-10M",
    "employee_count": 3
  },
  "processing_time_ms": 245,
  "request_id": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
}

Response Fields

Email Validation Fields

email
string
The email address that was validated.
is_valid
boolean
Whether the email address format is valid according to RFC standards.
is_deliverable
boolean
Whether the email can likely receive messages. Considers mailbox existence, domain validity, and MX records.
is_disposable
boolean
Whether the email address is from a known disposable/temporary email service.
is_role_based
boolean
Whether the email appears to be a role-based address (e.g., support@, admin@, noreply@).
confidence_score
number
Confidence score between 0 and 1 indicating how certain we are about the deliverability assessment.
is_catch_all
boolean
Whether the domain is configured to accept emails sent to any address (catch-all).

MX Records Array

mx_records
array
Array of MX (Mail Exchange) records for the domain.
mx_records[].hostname
string
The mail server hostname from the MX record.
mx_records[].priority
number
MX record priority (lower numbers have higher priority).

Domain Info Object

domain_info.domain
string
The domain portion of the email address.
domain_info.creation_date
string
Domain registration date in ISO 8601 format, or null if unavailable.
domain_info.has_spf
boolean
Whether the domain has an SPF record configured.
domain_info.has_dmarc
boolean
Whether the domain has a DMARC policy configured.
domain_info.has_dkim
boolean
Whether the domain has DKIM records configured.

Company Object

Company data is only included when include_company_data is set to true in the request and company information is available for the domain.
company.name
string
Company name associated with the email domain.
company.overview
string
Company description and overview.
company.linkedin_id
string
LinkedIn company identifier/slug.
company.picture_url
string
URL to the company logo/picture.
company.website_url
string
Primary company website URL.
company.industry
string
Primary industry classification.
company.type
string
Company type (e.g., “Privately Held”, “Public Company”).
company.address_street
string
Company street address.
company.address_city
string
Company city.
company.address_state
string
Company state/province.
company.address_postal_code
string
Company postal/ZIP code.
company.address_country
string
Company country name.
company.address_country_code
string
Two-letter country code (ISO 3166-1 alpha-2).
company.revenue_range
string
Company revenue range (e.g., “5M-10M”).
company.employee_count
number
Number of employees at the company.

Metadata Fields

processing_time_ms
number
Time taken to process the request in milliseconds.
request_id
string
Unique identifier for this request (ULID format).

Error Responses

For detailed error information, see Common Error Codes.

Validation Errors

{
  "error": "validation_error",
  "message": "Email address format is invalid",
  "code": "EMAIL_001",
  "request_id": "01ARZ3NDEKTSV4RRFFQ69G5FB8",
  "details": {
    "email": "invalid@email@domain.com",
    "suggestion": "Check for multiple @ symbols or invalid characters"
  }
}

Rate Limits

This endpoint is subject to rate limits. See Rate Limits for detailed information about usage limits and best practices.