Mailcheck

App · Email · 4 actions

Check whether email addresses are real before you send to them. Mailcheck scores each address from 0 to 100 and calls it valid, risky or invalid, and says whether its mailbox exists and whether it is disposable or a catch-all. Check one address, or a whole list at once.

Actions

ActionWhat it does
Get a bulk checkSee how far a bulk check has got, and get every address's verdict once it has finished.
List bulk checksList this account's bulk checks, newest first, with how far each has got.
Verify a list of emailsCheck a whole list of email addresses at once and get a verdict for each, in the order given.
Verify an emailCheck whether an email address is real and safe to send to.

Get a bulk check

See how far a bulk check has got, and get every address's verdict once it has finished. Works for lists uploaded on the Mailcheck website too.

Inputs

Bulk checkcheck_idtextRequired
Pick a bulk check, or use the check id a 'Verify a list of emails' step gave back.

Outputs

check_idtext
The bulk check's id. Hand it to 'Get a bulk check'.
checked_countnumber
How many Mailcheck has checked so far.
created_attext
When it was started (ISO 8601, UTC).
deliverable_emailslist
The addresses that are safe to send to.
email_countnumber
How many addresses are in the check.
errortext
Why it failed, when it did.
free_limit_reachedtrue/false
Whether the account ran out of checks partway, leaving some addresses unchecked.
invalid_countnumber
How many are invalid.
is_donetrue/false
Whether Mailcheck has stopped working on it.
progress_percentnumber
How far along it is, 0 to 100.
result_countnumber
How many results there are.
resultslist
One result per address.
results_urltext
A link to Mailcheck's results file, once finished.
risky_countnumber
How many are risky.
statustext
processing, finished or failed.
undeliverable_emailslist
The addresses that are not.
valid_countnumber
How many are valid.
Example output
{
  "check_id": "7093f46f-54c5-44b4-96ec-f891ca076082",
  "checked_count": 2,
  "created_at": "2026-09-21T10:00:00Z",
  "deliverable_emails": [
    "ada@example.com"
  ],
  "email_count": 2,
  "error": null,
  "free_limit_reached": false,
  "invalid_count": 1,
  "is_done": true,
  "progress_percent": 100,
  "result_count": 2,
  "results": [
    {
      "email": "ada@example.com",
      "facebook_name": null,
      "github_username": "adalovelace",
      "gravatar_url": "https://gravatar.com/adalovelace",
      "has_mail_server": true,
      "is_catch_all": false,
      "is_deliverable": true,
      "is_disposable": false,
      "mailbox_exists": true,
      "social_profiles": [
        {
          "site": "github",
          "url": "https://github.com/adalovelace",
          "username": "adalovelace"
        }
      ],
      "trust_rate": 92,
      "verdict": "valid"
    },
    {
      "email": "nobody@example.org",
      "facebook_name": null,
      "github_username": null,
      "gravatar_url": null,
      "has_mail_server": true,
      "is_catch_all": false,
      "is_deliverable": false,
      "is_disposable": false,
      "mailbox_exists": false,
      "social_profiles": [],
      "trust_rate": 12,
      "verdict": "invalid"
    }
  ],
  "results_url": "https://storage.googleapis.com/mailcheck-results/7093f46f.csv",
  "risky_count": 0,
  "status": "finished",
  "undeliverable_emails": [
    "nobody@example.org"
  ],
  "valid_count": 1
}

List bulk checks

List this account's bulk checks, newest first, with how far each has got. Includes lists uploaded on the Mailcheck website.

Inputs

How manylimitnumber
The most bulk checks to return, up to 100.From 1 to 100. Default: 20.

Outputs

checkslist
The bulk checks.
countnumber
How many are listed.
Example output
{
  "checks": [
    {
      "check_id": "7093f46f-54c5-44b4-96ec-f891ca076082",
      "checked_count": 2,
      "created_at": "2026-09-21T10:00:00Z",
      "email_count": 2,
      "error": null,
      "free_limit_reached": false,
      "is_done": true,
      "progress_percent": 100,
      "results_url": "https://storage.googleapis.com/mailcheck-results/7093f46f.csv",
      "status": "finished"
    }
  ],
  "count": 1
}

Verify a list of emails

Check a whole list of email addresses at once and get a verdict for each, in the order given. Repeats and entries that are not email addresses are left out. The step waits up to 10 minutes for Mailcheck to finish; a longer check carries on in the background, and 'Get a bulk check' collects it. Uses one Mailcheck check per address.

Inputs

Email addressesemailslistRequired
The addresses to check, up to 10,000. A list from an earlier step works, and so does text with one address per line or separated by commas.

Outputs

check_idtext
The bulk check's id. Hand it to 'Get a bulk check'.
checked_countnumber
How many Mailcheck has checked so far.
created_attext
When it was started (ISO 8601, UTC).
deliverable_emailslist
The addresses that are safe to send to.
email_countnumber
How many addresses are in the check.
errortext
Why it failed, when it did.
free_limit_reachedtrue/false
Whether the account ran out of checks partway, leaving some addresses unchecked.
invalid_countnumber
How many are invalid.
is_donetrue/false
Whether Mailcheck has stopped working on it.
progress_percentnumber
How far along it is, 0 to 100.
result_countnumber
How many results there are.
resultslist
One result per address.
results_urltext
A link to Mailcheck's results file, once finished.
risky_countnumber
How many are risky.
skipped_entrieslist
Entries left out because they are not email addresses.
statustext
processing, finished or failed.
unchecked_emailslist
Addresses Mailcheck did not check, such as when the account ran out of checks.
undeliverable_emailslist
The addresses that are not.
valid_countnumber
How many are valid.
Example output
{
  "check_id": "7093f46f-54c5-44b4-96ec-f891ca076082",
  "checked_count": 2,
  "created_at": "2026-09-21T10:00:00Z",
  "deliverable_emails": [
    "ada@example.com"
  ],
  "email_count": 2,
  "error": null,
  "free_limit_reached": false,
  "invalid_count": 1,
  "is_done": true,
  "progress_percent": 100,
  "result_count": 2,
  "results": [
    {
      "email": "ada@example.com",
      "facebook_name": null,
      "github_username": "adalovelace",
      "gravatar_url": "https://gravatar.com/adalovelace",
      "has_mail_server": true,
      "is_catch_all": false,
      "is_deliverable": true,
      "is_disposable": false,
      "mailbox_exists": true,
      "social_profiles": [
        {
          "site": "github",
          "url": "https://github.com/adalovelace",
          "username": "adalovelace"
        }
      ],
      "trust_rate": 92,
      "verdict": "valid"
    },
    {
      "email": "nobody@example.org",
      "facebook_name": null,
      "github_username": null,
      "gravatar_url": null,
      "has_mail_server": true,
      "is_catch_all": false,
      "is_deliverable": false,
      "is_disposable": false,
      "mailbox_exists": false,
      "social_profiles": [],
      "trust_rate": 12,
      "verdict": "invalid"
    }
  ],
  "results_url": "https://storage.googleapis.com/mailcheck-results/7093f46f.csv",
  "risky_count": 0,
  "skipped_entries": [],
  "status": "finished",
  "unchecked_emails": [],
  "undeliverable_emails": [
    "nobody@example.org"
  ],
  "valid_count": 1
}

Verify an email

Check whether an email address is real and safe to send to. Mailcheck gives it a trust rate from 0 to 100 and a verdict: valid (80 and up), risky but deliverable (50 to 79) or invalid (below 50). It also says whether the mailbox exists and whether the address is disposable or a catch-all. Uses one Mailcheck check.

Inputs

Email addressemailtextRequired
The address to check. A name and address, like 'Ada Lovelace <ada@example.com>', works too.

Outputs

emailtext
The address that was checked.
facebook_nametext
The owner's name on Facebook, when found.
github_usernametext
The owner's GitHub username, when found.
gravatar_urltext
The owner's Gravatar profile, when there is one.
has_mail_servertrue/false
Whether the domain accepts email (has MX records).
is_catch_alltrue/false
Whether the domain accepts mail for any address, so the mailbox cannot be confirmed.
is_deliverabletrue/false
Whether it is safe to send to: true for valid and risky addresses.
is_disposabletrue/false
Whether it is a throwaway address.
mailbox_existstrue/false
Whether the mail server confirmed the mailbox.
social_profileslist
Public profiles linked to the address.
trust_ratenumber
Mailcheck's confidence the address is real, 0 to 100.
verdicttext
valid (trust rate 80-100), risky (50-79: risky but deliverable) or invalid (0-49).
Example output
{
  "email": "ada@example.com",
  "facebook_name": null,
  "github_username": "adalovelace",
  "gravatar_url": "https://gravatar.com/adalovelace",
  "has_mail_server": true,
  "is_catch_all": false,
  "is_deliverable": true,
  "is_disposable": false,
  "mailbox_exists": true,
  "social_profiles": [
    {
      "site": "github",
      "url": "https://github.com/adalovelace",
      "username": "adalovelace"
    }
  ],
  "trust_rate": 92,
  "verdict": "valid"
}

On this page