Pricing API Docs Integrations

Block Disposable Emails

Prevent users to sign up with temporary email addresses.

Try or

                        {
    "status": 200,
    "domain": "mailinator.com",
    "mx": true,
    "disposable": true,
    "did_you_mean": null
}
                    

December 2nd 2021

Validator.pizza is now MailCheck.ai. Same features, different name.

If you used Validator.pizza before, please update your endpoints:

https://www.validator.pizza/domain/ is now https://api.mailcheck.ai/domain/

https://www.validator.pizza/email/ is now https://api.mailcheck.ai/email/

Pricing

Free for up to 86,400 requests per month!

Free

$0 /month

Start using it right away, no sign up required.

  • 120 requests per hour (~86,400 per month)
  • Email support
View documentation

Pro

$50 /month

A plan that scales with your rapidly growing business.

  • 5,000 requests per hour (~3,600,000 per month)
  • Email support
Get API Key (Coming soon)

Documentation

Base url

                https://api.mailcheck.ai
            

Email endpoint

                        GET /email/[email protected]
                    

Valid email

                        {
    "status": 200,
    "email": "[email protected]",
    "domain": "example.com",
    "mx": false,
    "disposable": false,
    "alias": false,
    "did_you_mean": false
}
                    

Invalid email

                        {
    "status": 400,
    "error": "The email address is invalid."
}
                    

Requests limit reached

                        {
    "status": 429,
    "error": "Rate limit exceeded."
}
                    

Domain endpoint

                        GET /domain/example.com
                    

Valid domain

                        {
    "status": 200,
    "domain": "example.com",
    "mx": false,
    "disposable": false,
    "did_you_mean": false
}
                        

Invalid domain

                        {
    "status": 400,
    "error": "The domain is invalid."
}
                    

Requests limit reached

                        {
    "status": 429,
    "error": "Rate limit exceeded."
}
                    

Keys and Values

Key Value
status (integer) The status of the request. Possibles values are:
  • 200 The request is successful
  • 400 The request is invalid
  • 429 The rate limit is exceeded
email (string) The email you sent
domain (string) The domain you sent, or the domain from the email you sent
mx (boolean) Whether or not the domain has MX records
disposable (boolean) Whether or not the domain is disposable
alias (boolean) Whether or not the email is an alias
did_you_mean (string) Returns a suggested valid email domain based on a list of the most popular email providers.
Returns NULL if the domain is already a valid domain, or if there's no close result.
error (string) The description of the error, if the status is different from 200

Code samples

<?php

$email = "[email protected]";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.mailcheck.ai/email/' . $email);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

var_dump($response);

curl -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X GET "https://api.mailcheck.ai/email/[email protected]"

var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "https://api.mailcheck.ai/email/[email protected]", false );
xmlHttp.send();
console.log(xmlHttp.responseText);

Integrations

Receive Product Updates

Sign up to receive our (very occasional) product updates. We will send you important updates like API changes or new features.

Notify Me