Bulk SPF, DKIM & DMARC Checker - Email Domain Health avatar

Bulk SPF, DKIM & DMARC Checker - Email Domain Health

Pricing

from $3.90 / 1,000 domain checkeds

Go to Apify Store
Bulk SPF, DKIM & DMARC Checker - Email Domain Health

Bulk SPF, DKIM & DMARC Checker - Email Domain Health

Check any domain's email setup in seconds: MX, SPF (with lookup count), DKIM, DMARC policy, BIMI, MTA-STS and spam blocklists. Get a 0-100 score and plain-English fixes. Bulk, DNS only.

Pricing

from $3.90 / 1,000 domain checkeds

Rating

0.0

(0)

Developer

Hasan U.

Hasan U.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Categories

Share

Bulk SPF, DKIM & DMARC Checker — Email Domain Health

A bulk SPF, DKIM and DMARC checker that also looks at MX and blocklists: check how any list of domains is set up for email, in a few seconds per domain. You get a 0-100 score, a letter grade and plain-English fixes for every problem found.

Since February 2024, Gmail and Yahoo require SPF, DKIM and DMARC from bulk senders. A domain that misses them lands in spam, or cannot receive replies at all.

Try it on 10 domains for $0.04 (the free credit on Apify's free plan covers it).

How to run it

  1. Paste domains, email addresses or URLs into domains (they are cleaned and de-duplicated).
  2. Optional: set onlyBelowScore to keep only domains with problems.
  3. Press Start and download the results as Excel, CSV or JSON.

What it checks

CheckWhat you get
MXMail servers, detected email provider (Google Workspace, Microsoft 365, Zoho, Proofpoint, Mimecast, Cloudflare Email Routing and more), null-MX detection
SPFThe record, number of DNS lookups (the limit is 10), duplicate records, +all / missing ~all
DKIMKeys found on ~50 common selectors (Google, Microsoft, Klaviyo, Mailchimp, SendGrid, Amazon SES, Zoho...), wildcard detection, plus any selectors you add
DMARCPolicy (none / quarantine / reject), whether reports (rua) are set
ExtrasBIMI, MTA-STS, TLS-RPT
BlocklistsDomain lists (Spamhaus DBL, SURBL, URIBL) and the IPs of the mail servers (Spamhaus ZEN, Barracuda, SpamCop)

Everything uses public DNS. No email is sent and nothing touches the domain's mail server.

Real numbers: new Shopify stores

We ran it on 60 randomly picked US Shopify stores launched in September–October 2026:

  • 62% had no MX record: the store's own domain cannot receive email.
  • 65% had no SPF record.
  • 83% had no DKIM key on common selectors.
  • Average score 51/100; 26 of 60 graded F. No domain was blocklisted.

Agencies and freelancers use this as a ready-made reason to reach out: "your domain can't receive email at hello@" is a concrete, checkable finding.

Input

{
"domains": ["shopify.com", "info@example-store.com", "https://www.another-store.com/"],
"dkimSelectors": ["mycustomselector"],
"onlyBelowScore": 75
}
  • domains: domains, email addresses or URLs. Cleaned and de-duplicated automatically.
  • dkimSelectors (optional): extra selector names to probe.
  • onlyBelowScore (optional): return only domains with a score below this number. Domains filtered out are not charged.

Output (one row per domain)

{
"domain": "allbirds.com",
"score": 100,
"grade": "A",
"mailProvider": "Microsoft 365",
"mxHosts": ["allbirds-com.mail.protection.outlook.com"],
"spfRecord": "v=spf1 include:... ~all",
"spfLookups": 5,
"dmarcRecord": "v=DMARC1; p=quarantine; rua=mailto:...",
"dmarcPolicy": "quarantine",
"dmarcReports": true,
"dkimSelectorsFound": ["google", "selector1", "selector2", "k1", "s1", "s2", "mandrill", "krs"],
"bimi": true,
"mtaSts": false,
"tlsRpt": false,
"blocklisted": [],
"issues": [],
"fixes": [],
"status": "ok"
}

A domain with problems lists them in issues, each with a matching step in fixes, for example "No DMARC record" → "Add TXT _dmarc.yourdomain.com: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com".

Scoring

Starts at 100. Deductions: no MX −30, no SPF −20, no DMARC −20, blocklisted −20, multiple SPF −15, +all −15, SPF over 10 lookups −10, no DKIM found −10, DMARC p=none −5, missing ~all −5, no DMARC reports −3. Grades: A ≥ 90, B ≥ 75, C ≥ 60, D ≥ 40, F below.

Pricing

$3.90 per 1,000 domains checked (pay per event domain-checked). Invalid and non-existent domains are free.

Notes

  • DKIM keys can't be listed through DNS, so a missing key on common selectors is a strong hint, not proof. Add your selector in dkimSelectors to be sure.
  • Some blocklists don't answer queries from large public resolvers; the actor ignores those "refused" answers instead of reporting a false listing.

FAQ

Does it send any email? No. Everything is read from public DNS; nothing touches the domain's mail server.

Why does it say "no DKIM" when I have DKIM? DKIM keys can't be listed through DNS, so the actor probes ~50 common selectors. Add your own selector name in dkimSelectors to be sure.

Can I check email addresses instead of domains? Yes. Addresses and URLs are reduced to their domain automatically. It checks the domain's setup, not whether a mailbox exists.

What does a low score mean? Each problem lowers the score by a fixed amount (see Scoring) and comes with a plain-English fix. A low score points to setup gaps; it does not by itself predict inbox placement.