Check an Email

Validate against 61,938 disposable providers. Check format, MX records, and disposable status.

Missing a provider? Submit it here.

74,054,544
Total Checks
165,965
Daily Avg
61,938
Blocked Domains
905
Blocked MX Records

API Reference

Docs →

Single Email Validation

Request

Pass an email address after the email endpoint.

GET https://disify.com/api/email/[email protected]

Response

{
    "format": true,
    "domain": "example.com",
    "disposable": false,
    "dns": true
}

Bulk Email & Domain Validation

Request

Pass multiple addresses separated by comma, space, or newline. Append mass to the URL.

GET https://disify.com/api/email/[email protected],[email protected]/mass

Response

{
    "total": 2,
    "invalid_format": 0,
    "invalid_dns": 0,
    "disposable": 0,
    "unique": 2,
    "valid": 1,
    "session": "d117271ce938bf91bc718f6cfb7954de"
}

Retrieve Valid Results

Request

Use the session value from a bulk check. Optional: download, separator.

GET https://disify.com/api/view/d117271ce938bf91bc718f6cfb7954de

Sessions expire after ~1 hour. Each new bulk request overwrites the previous session.

Code Examples

All endpoints accept both GET and POST.

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL            => 'https://disify.com/api/email',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => http_build_query(['email' => '[email protected]']),
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);

Disposable Detection

61,938+ disposable email providers, continuously updated from community lists and user submissions.

DNS & MX Validation

Beyond blacklist checks, we verify DNS records and MX hostnames to catch shared disposable infrastructure.

Free REST API

Simple JSON API with no auth required. Single, bulk, and domain validation via GET or POST.