๐Ÿ“‹ Email DMARC Auditor โ€” SPF/DKIM/DMARC Bulk Check avatar

๐Ÿ“‹ Email DMARC Auditor โ€” SPF/DKIM/DMARC Bulk Check

Pricing

Pay per event

Go to Apify Store
๐Ÿ“‹ Email DMARC Auditor โ€” SPF/DKIM/DMARC Bulk Check

๐Ÿ“‹ Email DMARC Auditor โ€” SPF/DKIM/DMARC Bulk Check

Bulk email authentication audit. Parses SPF, DMARC, and DKIM records, returns deliverability score (0-100), and step-by-step remediation actions per domain.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stephan Corbeil

Stephan Corbeil

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 days ago

Last modified

Share

The email deliverability audit tool email consultants actually use.

Auditing one domain in MXToolbox is free. Auditing 100 domains costs $149/month on Bulk tier. Valimail Monitor starts at $500/mo. This actor audits 100 domains for ~$0.85 โ€” one-shot, no subscription.

What it checks per domain

  • SPF โ€” parses v=spf1 record, counts mechanisms, flags 10-lookup overflow, returns includes/ip mechanisms/all-mode
  • DMARC โ€” parses _dmarc.<domain> TXT record, extracts policy (p=), subdomain policy (sp=), percentage (pct=), reporting addresses (rua/ruf), alignment modes (aspf/adkim)
  • DKIM โ€” probes 25 common selectors (default, google, selector1, selector2, mailgun, sendgrid, mandrill, etc.) and estimates key length
  • MX โ€” confirms domain accepts mail at all
  • Deliverability score (0-100) โ€” weighted composite
  • Remediation actions โ€” specific, ordered fixes (not generic advice)

Example

import requests
r = requests.post(
"https://api.apify.com/v2/acts/nexgendata~email-dmarc-auditor/run-sync-get-dataset-items?token=" + APIFY_TOKEN,
json={"domains": ["google.com", "github.com", "misconfigured-example.com"]}
)
for d in r.json():
print(f"{d['domain']} โ€” score {d['deliverability_score']}")
print(f" SPF: {d['spf'].get('valid')} all-mode={d['spf'].get('all_mode')}")
dmarc = d['dmarc']
print(f" DMARC: {dmarc.get('valid')} policy={dmarc.get('policy')} pct={dmarc.get('pct')}")
print(f" DKIM: {d['dkim']['found_count']} selectors found")
for action in d["remediation_actions"]:
print(f" โ†’ {action}")

Sample output:

google.com โ€” score 95
SPF: True all-mode=~all
DMARC: True policy=reject pct=100
DKIM: 3 selectors found
โ†’ Email authentication looks healthy.
misconfigured-example.com โ€” score 25
SPF: True all-mode=+all
DMARC: False policy=None pct=None
DKIM: 0 selectors found
โ†’ SPF 'all' qualifier is +all โ€” any server can send as this domain. Change to -all or ~all.
โ†’ Publish a DMARC record at _dmarc.misconfigured-example.com.
โ†’ No DKIM selector found. Verify your ESP's DKIM selector and publish the record.

cURL

curl -X POST "https://api.apify.com/v2/acts/nexgendata~email-dmarc-auditor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domains":["example.com"]}'

Common use cases

  • Pre-sales audits (deliverability consultants) โ€” scan prospect's domain list, generate compliance report
  • M&A due diligence โ€” audit email posture of acquisition target's domain portfolio
  • Brand protection โ€” bulk-audit domain variants you own for lookalike spoofing exposure
  • DMARC rollout planning โ€” find all your domains still at p=none before enforcement deadline
  • RFP compliance โ€” SOC 2 / ISO 27001 / HIPAA evidence collection for email authentication controls
  • Google/Yahoo 2024 sender requirements โ€” bulk-verify every domain meets the new requirements before you send

Pricing

  • $0.01 per run (startup)
  • $0.005 per domain audited

100 domains = $0.51. Same job on Valimail Monitor starts at $500/month.

FAQ

Q: Why probe DKIM selectors? Can't the actor just return the "real" DKIM? A: DKIM has no discovery mechanism โ€” the selector is chosen by the sender, not the domain. The 25 selectors probed cover ~90% of real-world configurations (Google, Microsoft 365, Mailgun, SendGrid, Mandrill, Amazon SES, etc.). If yours is unusual, add it via the dkimSelectors input.

Q: How is the deliverability score computed? A: Weighted: MX present (10), SPF published (20), strong SPF all-mode (+10), DMARC published (20), DMARC enforcing (+15), DKIM found (15), DMARC reporting (+5). Penalties: weak DKIM key, SPF over 10 lookups, permissive SPF. Max 100.

Q: Can this detect DMARC report data (DMARC failure reports)? A: No โ€” DMARC reports are sent by mail receivers to rua/ruf mailboxes. This actor tells you if those mailboxes are configured; parsing the reports themselves is out of scope.

Q: Can I plug this into a monitoring schedule? A: Yes. Schedule the actor daily via Apify schedules. Compare each run's deliverability_score to detect configuration regressions.

Try it

๐Ÿ“‹ Email DMARC Auditor on Apify

New to Apify? Get free platform credits.

๐Ÿ’ป Code Example โ€” Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgendata/email-dmarc-auditor").call(run_input={
# Fill in the input shape from the actor's input_schema
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

๐ŸŒ Code Example โ€” cURL

curl -X POST "https://api.apify.com/v2/acts/nexgendata~email-dmarc-auditor/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ /* input schema */ }'

โ“ FAQ

Q: How do I get started? Sign up at apify.com, grab your API token from Settings โ†’ Integrations, and run the actor via the Apify console, API, Python SDK, or any integration (Zapier, Make.com, n8n).

Q: What's the typical cost per run? See the pricing section below. Most runs finish under $0.10 for typical batches.

Q: Is this actor maintained? Yes. NexGenData maintains 165+ Apify actors and ships updates regularly. Bug reports via the Apify console issues tab get responses within 24 hours.

Q: Can I use the output commercially? Yes โ€” you own the output data. Check the target site's Terms of Service for any usage restrictions on the scraped content itself.

Q: How do I handle rate limits? Apify manages concurrency and retries automatically. For very large batches (10K+ items), run multiple smaller jobs in parallel instead of one mega-job for better reliability.

๐Ÿ’ฐ Pricing

Pay-per-event pricing โ€” you only pay for what you actually extract.

  • Actor Start: $0.0001
  • result: $0.0050

๐Ÿš€ Apify Affiliate Program

New to Apify? Sign up with our referral link โ€” you get free platform credits on signup, and you help fund the maintenance of this actor fleet.

๐Ÿ“š More From NexGenData

Explore the full catalog, tutorials, Gumroad data packs, and newsletter at thenextgennexus.com โ€” the brand home for everything we ship.

  • ๐Ÿ“– Tutorials & how-to guides
  • ๐Ÿ—‚๏ธ Full actor catalog with usage examples
  • ๐Ÿ“ฆ Gumroad data packs (one-time purchases)
  • ๐Ÿ“ฌ Newsletter โ€” monthly drops of new actors and revenue experiments

Built and maintained by NexGenData โ€” 165+ actors covering scraping, enrichment, MCP servers, and automation. ๐Ÿ  Home: thenextgennexus.com