The NanoScrape Email Verifier Scraper is an Apify actor that extracts structured web data from Email Verifier. It returns 12 fields per result including email, status, syntax_ok, mx_ok, mx_provider, priced at $2/1k email, with no API key or monthly subscription required.
Check email lists in bulk for bad syntax, missing MX records, disposable domains and role addresses (info@, sales@). Adds a catch-all heuristic and a 0-100 score per address. No mailbox-level check: it does not confirm an address exists. Pay per email.
| Field | Type | Example | Group | Fill % |
|---|---|---|---|---|
company_id | string | (populated when data available) | Core | — |
score | integer | 95 | Reviews / rating | 100% |
email | string | (populated when data available) | Other | 100% |
status | string | ok | Other | 100% |
syntax_ok | boolean | true | Other | 100% |
mx_ok | boolean | true | Other | 100% |
mx_provider | string | google_workspace | Other | 71% |
disposable | boolean | false | Other | 100% |
role_account | boolean | false | Other | 100% |
catch_all | string | unknown | Other | 100% |
catch_all_method | string | heuristic | Other | 100% |
checked_at | string | 2026-10-26T08:24:12Z | Other | 100% |
{
"emails": [
"[email protected]",
"[email protected]",
"[email protected]",
"not-a-real-email",
"[email protected]"
]
}{
"email": null,
"status": "ok",
"syntax_ok": true,
"mx_ok": true,
"mx_provider": "google_workspace",
"disposable": false,
"role_account": false,
"catch_all": "unknown",
"catch_all_method": "heuristic",
"score": 95,
"checked_at": "2026-10-26T08:24:12Z"
}Priced at $0.002 per email verified ($2.00 per 1,000). 10,000 emails ≈ $20.00. The first runs land inside Apify's $5/mo free-tier credit — pay only for what you extract, no monthly subscription.
Each address is checked for syntax, the domain's MX records, a disposable-mail domain and a role local part (info@, support@ and similar). A catch-all guess is derived from the MX host name. There is no mailbox-level SMTP check: the actor never contacts the recipient's mail server, so it cannot tell you whether a mailbox exists or whether a message will be delivered.
invalid: bad syntax, no MX records, or a disposable domainrisky: a role address, or a likely catch-allok: none of the checks flagged the address. This does not mean the mailbox exists.| Field | Type | Example | Meaning |
|---|---|---|---|
company_id | string | acme-42 | Echoed from companies; left out for addresses from emails |
email | string | [email protected] | The address as checked (trimmed) |
status | string | risky | ok, risky or invalid |
syntax_ok | boolean | true | Passes the syntax check |
mx_ok | boolean | true | Domain has at least one MX record |
mx_provider | string | google_workspace | Provider derived from the MX host; left out when mx_ok is false |
disposable | boolean | false | Domain is on the disposable-mail list |
role_account | boolean | true | Local part is a role name such as info or sales |
catch_all | string | unknown | likely or unknown, a heuristic from the MX host name |
catch_all_method | string | heuristic | Always heuristic: the mail server is not contacted |
score | integer | 55 | 0-100 for sorting a list, not a probability of delivery |
checked_at | string | 2026-10-26T10:30:00Z | ISO 8601 timestamp of the check |
{
"company_id": "acme-42",
"email": "[email protected]",
"status": "risky",
"syntax_ok": true,
"mx_ok": true,
"mx_provider": "google_workspace",
"disposable": false,
"role_account": true,
"catch_all": "unknown",
"catch_all_method": "heuristic",
"score": 55,
"checked_at": "2026-10-26T10:30:00Z"
}company_id and match every row to your own recordsClick Open on Apify above to run email-verifier in your browser - no code, no install. In the Apify console you get:
To run this actor from your own code you need an Apify API token. Get one in about a minute:
Free tier: Apify credits your account with $5 of platform usage every month, no credit card required. Enough to test any actor meaningfully. How many results that covers depends on the actor's price per result.
Run this actor from any language via the Apify REST API. Replace YOUR_TOKEN with your API token and adapt the input JSON to your needs.
curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~email-verifier/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'// npm install apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('santamaria-automations/email-verifier').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);# pip install apify-client
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('santamaria-automations/email-verifier').call(run_input={})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(items)// dotnet add package Apify.Client
using Apify.Client;
var client = new ApifyClient("YOUR_TOKEN");
var run = await client.Actor("santamaria-automations/email-verifier").CallAsync(new { });
var items = await client.Dataset(run.DefaultDatasetId).ListItemsAsync();// Maven: com.apify:apify-client
import com.apify.client.ApifyClient;
ApifyClient client = new ApifyClient("YOUR_TOKEN");
ActorRun run = client.actor("santamaria-automations/email-verifier").call(Map.of());
List<Map<String,Object>> items = client.dataset(run.getDefaultDatasetId()).listItems();This actor is available on the Apify MCP server, so you can drive it from any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or a custom agent - without writing any code.
https://mcp.apify.com?tools=santamaria-automations/email-verifierExample prompt once connected:
"Use <code>email-verifier</code> to run a scrape on my target list and give me the results as a table."
Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.
Trigger this actor from your favorite automation tool. Every platform below can call the Apify API in a few clicks - no code required.
@apify/n8n-nodes-apify).santamaria-automations/email-verifier.https://api.apify.com/v2/acts/santamaria-automations~email-verifier/run-sync-get-dataset-items?token=YOUR_TOKEN.application/json.https://api.apify.com/v2/acts/santamaria-automations~email-verifier/run-sync-get-dataset-items?token=YOUR_TOKEN, method POST, body raw JSON.https://api.apify.com/v2/acts/santamaria-automations~email-verifier/run-sync-get-dataset-items?token=YOUR_TOKEN.steps.http.$return_value in subsequent steps.https://api.apify.com/v2/acts/santamaria-automations~email-verifier/run-sync-get-dataset-items?token=YOUR_TOKEN, body type JSON.Priced at $0.002 per email verified ($2.00 per 1,000). 10,000 emails ≈ $20.00. Apify's $5/month free tier covers the first runs. No monthly subscription — you only pay for what you extract.
12 fields per result. Full field catalog is listed in the 'What you can scrape' table above — includes core identifiers, descriptive text, dates, and any category-specific data.
Scraping publicly available data is generally permitted in most jurisdictions, but GDPR applies to any personal data you collect. Review your local rules and consult a lawyer for commercial use.
Every run pulls live data at execution time. Set up a schedule (daily/hourly/weekly cron) in the Apify console to keep your dataset current automatically.