Pricing
| Apify plan | Per email | Per 1,000 |
|---|---|---|
| Free plan | $0.0005 | $0.50 |
| Starter | $0.0004 | $0.40 |
| Scale | $0.00035 | $0.35 |
| Business | $0.0003 | $0.30 |
| Enterprise | $0.0003 | $0.30 |
| Enterprise+ | $0.0003 | $0.30 |
Primary event rates from a catalog snapshot; this is not the total price of a run. Additional charge events and Actor Start fees may apply; start fees can scale with memory. Check the Actor's Pricing tab on Apify for all events, conditions and current plan-specific rates, and set a maximum run budget before starting.
Sample output
{
"email": "[email protected]",
"normalizedEmail": "[email protected]",
"isValidSyntax": true,
"localPart": "support",
"domain": "apify.com",
"domainAscii": "apify.com",
"hasMx": true,
"mxRecords": [
"aspmx.l.google.com",
"alt2.aspmx.l.google.com",
"alt1.aspmx.l.google.com"
],
"mxFallback": false,
"mxProvider": "Google Workspace",
"isDisposable": false,
"isFreeProvider": false,
"isRoleAddress": true,
"didYouMean": null,
"deliverability": "risky",
"score": 85,
"reasons": [
"Local part looks like a role account (e.g. info@, support@), not a named person"
],
"error": null,
"scrapedAt": "2026-09-28T10:50:28.149Z"
}Call from code
Use the existing catalog input below as a starting point. Review the tool's input form on Apify before running it.
import json
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("webdatatools/email-validator").call(run_input=json.loads("{\n \"emails\": [\n \"[email protected]\",\n \"[email protected]\",\n \"[email protected]\"\n ],\n \"checkMx\": true,\n \"maxConcurrency\": 10\n}"))
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('webdatatools/email-validator').call({
"emails": [
"[email protected]",
"[email protected]",
"[email protected]"
],
"checkMx": true,
"maxConcurrency": 10
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);curl -X POST "https://api.apify.com/v2/acts/webdatatools~email-validator/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"emails":["[email protected]","[email protected]","[email protected]"],"checkMx":true,"maxConcurrency":10}'