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
| Action | What it does |
|---|---|
| Get a bulk check | See how far a bulk check has got, and get every address's verdict once it has finished. |
| List bulk checks | List this account's bulk checks, newest first, with how far each has got. |
| Verify a list of emails | Check a whole list of email addresses at once and get a verdict for each, in the order given. |
| Verify an email | Check 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 check
check_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 many
limitnumber - 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 addresses
emailslistRequired - 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 address
emailtextRequired - 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"
}