---
title: "Validate email address"
method: GET
path: "/email/{email}"
tags: ["Email"]
---

# Validate email address

`GET /email/{email}`

Check if an email address is from a disposable provider. Also validates format, DNS/MX records,
and detects role accounts and free providers.

## Path parameters

- `email` string, email, required

## Response `200`

Validation result

- EmailValidationResult
  - `format` boolean, required — Whether the email/domain has valid format
  - `domain` string — The domain part of the email
  - `disposable` boolean — Whether the domain is a known disposable email provider
  - `dns` boolean — Whether the domain has valid DNS/MX records
  - `whitelist` boolean — Whether the domain is whitelisted (trusted provider)
  - `confidence` integer — Confidence score (0-100) that the email is disposable. 50+ = disposable.
  - `signals` string[] — Detection signals that contributed to the confidence score
  - `role` boolean — Whether the local part is a role address (info@, admin@, etc.)
  - `free` boolean — Whether the domain is a free email provider (Gmail, Yahoo, etc.)
  - `typo_suggestion` string, nullable — Suggested correction if a likely typo was detected (e.g. gmial.com &rarr; gmail.com). Omitted when no suggestion is available.
  - `email_auth` object — Email authentication records (Pro tier)
    - `spf` object
      - `exists` boolean
      - `record` string, nullable
    - `dkim` object
      - `exists` boolean
    - `dmarc` object
      - `exists` boolean
      - `record` string, nullable
      - `policy` string, nullable
  - `domain_age` object — Domain age information (Pro tier)
    - `days` integer, nullable
    - `created` string, date, nullable
    - `fresh` boolean
  - `inbox_provider` object — Detected inbox provider (Pro tier)
    - `name` string, nullable
    - `type` 'personal' | 'business' | 'hosting' | 'unknown', nullable
  - `deliverability` object — Deliverability assessment (Pro tier)
    - `score` integer
    - `verdict` 'deliverable' | 'risky' | 'undeliverable' | 'unknown'
  - `requires_upgrade` string[] — Features that require a higher tier (only present when denied features were requested)

## Other responses

- `429` — Rate limit or quota exceeded

---

[API](https://skmtc.dev/disify/apis/disify-api.md) · [All operations](https://skmtc.dev/disify/apis/disify-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/disify/disify-api/revisions/8158ed3d5efd/schema)
