MX Record Checker - Verify a Domain Can Receive Email avatar

MX Record Checker - Verify a Domain Can Receive Email

Pricing

from $0.32 / 1,000 mx-checked domains

Go to Apify Store
MX Record Checker - Verify a Domain Can Receive Email

MX Record Checker - Verify a Domain Can Receive Email

Check MX records for up to 200 domains or email addresses per run: priority-sorted exchanges resolved to IPs, RFC 5321 implicit-MX fallback, canReceiveEmail verdict. $0.0004 per domain, no start fee, failures never charged — cheaper than measured incumbents. For list hygiene and lead qualification.

Pricing

from $0.32 / 1,000 mx-checked domains

Rating

0.0

(0)

Developer

Broke to Built

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

MX Record Checker

Verify that a domain can actually receive email — before you send, sell, or onboard. Accepts bare domains, URLs, or full email addresses (the domain is parsed out). Check one or up to 200 per run, online, by API, or as an agent tool via Apify MCP.

This actor resolves a domain's MX records, sorts them by priority, resolves every mail exchange to its IPv4/IPv6 addresses, and applies the RFC 5321 implicit-MX fallback (a domain with no MX but an A/AAAA record still accepts mail). Useful for email list hygiene, lead qualification, signup-form validation pipelines, and deliverability audits.

What you get

  • canReceiveEmail — the bottom-line verdict per domain
  • mxRecords — every mail exchange, sorted by priority, each resolved to its IPs
  • implicitMx — true when the verdict rests on the RFC 5321 A/AAAA fallback rather than real MX records
  • checkedAt — ISO timestamp of the check
  • Fail-soft: an invalid domain or a DNS failure never fails the run — it returns {ok: false, error} and is never charged.

Input

{ "domains": ["github.com", "user@company.com"], "maxDomains": 50 }

Or a single value: { "domain": "google.com" } — emails like user@google.com work too.

Output (real run)

{
"domain": "google.com",
"ok": true,
"canReceiveEmail": true,
"implicitMx": false,
"mxRecords": [
{
"exchange": "smtp.google.com",
"priority": 10,
"ips": ["172.253.63.27", "172.253.62.27", "2607:f8b0:4004:c25::1b"]
}
],
"checkedAt": "2026-08-07T21:11:48.501Z"
}

Pricing

$0.0004 per domain checked. No start fee. Invalid inputs and DNS failures are never charged.

Measured against store incumbents (2026-08-07): pink_comic/email-validation-checker charges $0.0005 per item, ryanclinton/dns-record-lookup $0.00005 start + $0.003 per lookup, taroyamada/email-deliverability-checker $0.01 start + $0.003 per item. A 1,000-domain hygiene pass here costs $0.40.

Honest limits

  • DNS-level verdict only: canReceiveEmail: true means the domain's mail infrastructure exists, not that a specific mailbox exists. Pair with a mailbox-level verifier for address-level validation.
  • No SMTP connections are made — this is fast and safe for bulk, but it cannot detect a mail server that resolves yet refuses connections.
  • Results reflect DNS at run time from Apify's infrastructure.

FAQ

Is this the same as email verification? It is the domain half of it — the fastest, cheapest filter. Domains that cannot receive mail at all (dead startups, typo domains, parked domains) are eliminated for $0.0004 each before you pay for per-mailbox checks.

What is implicit MX? RFC 5321: when a domain publishes no MX record but has an A/AAAA record, mail is delivered to that address. Many real domains rely on it; naive MX-only checkers wrongly mark them undeliverable.

Can I pass a full email address? Yes — user@company.com is parsed to company.com automatically. URLs and hostnames with ports are cleaned too.

Why are the MX hosts resolved to IPs? An MX record pointing at a hostname that resolves to nothing is a broken configuration. Seeing empty ips on an exchange tells you the domain looks configured but is not actually reachable.

Why did some rows come back ok: false? Those inputs were not valid domains/emails or their DNS query failed transiently. They are recorded for completeness and never charged.

Use from code or AI agents

curl -s "https://api.apify.com/v2/acts/EliAI~mx-record-checker/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-X POST -H 'Content-Type: application/json' \
-d '{"domains": ["lead1@startup.com", "lead2@bigco.com"]}'

Agents: connect Apify MCP and call the EliAI/mx-record-checker tool.

  • Capability: verify mail-receiving capability of one or many domains/emails, returned as JSON
  • Required input: domain (string) or domains (array) — domains or email addresses
  • Returns: one JSON record per domain; canReceiveEmail is the verdict
  • Bounded: maxDomains caps the run; failures isolate per domain
  • Side effects: none (DNS queries only, no SMTP)