Missing a provider? Submit it here.
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);
import requests
response = requests.post(
'https://disify.com/api/email',
data={'email': '[email protected]'}
)
result = response.json()
const response = await fetch('https://disify.com/api/email', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({ email: '[email protected]' }),
});
const result = await response.json();
var client = new HttpClient();
var content = new FormUrlEncodedContent(new[] {
new KeyValuePair<string, string>("email", "[email protected]")
});
var response = await client.PostAsync(
"https://disify.com/api/email", content);
var result = await response.Content.ReadAsStringAsync();
OkHttpClient client = new OkHttpClient();
RequestBody body = new FormBody.Builder()
.add("email", "[email protected]")
.build();
Request request = new Request.Builder()
.url("https://disify.com/api/email")
.post(body)
.build();
Response response = client.newCall(request).execute();
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.