Scoring

Verify and score an email address

Checks syntax, MX records and mailbox deliverability, and flags disposable, role-based, free-provider and homograph (lookalike) addresses.

get/v1/verify/email

Request

  • Base URL: https://www.layercall.com
  • URL: https://www.layercall.com/v1/verify/email
  • Auth: one of:
    • API key in header x-api-key
    • HTTP bearer

Query parameters

emailstring email required
strictness'lenient' | 'balanced' | 'strict'

Shifts the allow/review/block thresholds. Signals and risk_score are unchanged.

Response

Result

emailstring required
normalized_emailstring
risk_scoreinteger required

0 = clean, 100 = certain fraud.

verdict'allow' | 'review' | 'block' required

Recommended action. Thresholds move with strictness.

statusstring

e.g. valid, invalid, do_not_mail, unknown.

sub_statusstring nullable

e.g. disposable, role_based, mailbox_not_found.

deliverability_scoreinteger
did_you_meanstring nullable

Suggested correction for a likely typo.

cachedboolean
request_idstring
signals_unavailablestring[]

Signals that could not be measured on this request — e.g. ["tor", "vpn_providers"]. Absent entirely when every feed answered, so the happy-path shape is unchanged. Present means the score was built on incomplete data: a "clean" answer and a "we could not check" answer are otherwise identical.

domainstring
domain_age_daysunknown
mx_providerstring
mx_recordsstring[]
first_seenunknown
times_seeninteger
abuse_reportsinteger
processing_time_secnumber
billable_lookupsinteger

Example response

{
  "domain": "gmail.com",
  "mx_provider": "Google Workspace",
  "mx_records": [
    "gmail-smtp-in.l.google.com."
  ],
  "times_seen": 1,
  "processing_time_sec": 0.097,
  "billable_lookups": 1
}

Changes

No recorded changes to this operation across all 1 revision of this API.