VerifyMails

API Reference

Base URL: https://api.verifymails.dev. Authenticate with Authorization: Bearer vm_live_... or ?key=vm_live_...

Endpoints

GET/api/v1/verify?email={email}Verify one email address
GET/api/v1/domain?domain={domain}Domain-level check (mail server, provider)

Response — /api/v1/verify

{
  "email": "[email protected]",
  "domain": "gmail.com",
  "disposable": false,          // disposable / temporary email
  "block": false,               // recommended to block (disposable or high risk)
  "deliverable_email": true,    // domain can receive mail
  "mx": true,
  "mx_host": ["gmail-smtp-in.l.google.com", "..."],
  "mx_priority": { "gmail-smtp-in.l.google.com": 5 },
  "email_provider": "Gmail",
  "privacy": false,             // alias / privacy relay / forwarding
  "privacy_provider": null,
  "apple_hide_my_email": false,
  "catch_all": null,            // true / false / null (not probed yet)
  "risk_score": 0,              // 0-100
  "source": "trusted_provider",
  "canonical": "[email protected]",   // normalized (dots / +tag removed)
  "is_variant": true,
  "plus_tag": "tag",
  "domain_age_days": 10759,
  "authentication": { "spf": {...}, "dmarc": {...} },
  "signals": [...]
}

Errors

StatusMeaning
400Invalid email / domain
401Missing or invalid API key
402Daily query limit exhausted
429Rate limit exceeded (see Retry-After)

Rate limits & quotas

Paid plans: 2 requests/second for email addresses, 15 requests/second for domain names (free tier: 1/s and 3/s). Quotas are daily: 5,000 / 10,000 / 20,000 queries per day on Basic / Premium / Pro.

Plan-gated fields

The response above shows the Pro plan. Fields are included only when your plan covers the feature — absent field = not in your plan (never null-padded):

PlanFields
Basicemail, domain, disposable, block, risk_score, source
Premium+ privacy, privacy_provider, mx, mx_host, mx_priority, authentication, domain_age_days, signals, related_domains (domain endpoint)
Pro+ email_provider, provider_category, apple_hide_my_email, canonical, is_variant, plus_tag, catch_all, deliverable_email