Grade SPF, DMARC, and MX on up to 500 supplied domains (optional DKIM)
DMARC & Email Security Checker audits public SPF, DKIM, DMARC, MX, and related DNS records on domains you provide. Each run returns source-linked configuration evidence, issue classifications, remediation guidance, and a numerical security score with a letter grade. It does not log in to any mailbox or ESP. It is not multi-resolver A/NS/SOA propagation — that job is DNS Propagation Checker — and it is not phone-string formatting (Bulk Phone Format Validator).
From $7.00 per 1,000 results
Open DMARC & Email Security Checker on Apify
Email-auth DNS on supplied domains, not A/NS/SOA propagation or phone strings
Use this page when the job is email deliverability posture: parse SPF policy, DMARC enforcement, MX topology, and optional DKIM selectors, then grade the domain. Use DNS Propagation Checker when the job is whether A, NS, SOA, or other records agree across eight public resolvers after a change. Use Bulk Phone Format Validator when the job is E.164 normalization of phone strings you already hold.
| DMARC & Email Security Checker | DNS Propagation Checker | Bulk Phone Format Validator | |
|---|---|---|---|
| Intent | Audit SPF, DMARC, MX, and optional DKIM; return a 0–100 / A–F grade | Audit worldwide nameserver and record propagation | Normalize user-supplied phone strings to E.164 with type detection |
| Input | Hostnames in domains (max 500) |
Hostnames in domains (max 200) |
Phone strings in numbers (max 1000) |
| What it reads | Public SPF, DKIM, DMARC, MX, and related DNS for email-auth review | Public DNS via Node.js dns.Resolver across eight resolvers |
The strings you pass; google-libphonenumber runs locally, no network |
| Record / format focus | SPF, DMARC, MX; DKIM when checkDkim is true (default) |
A, AAAA, MX, TXT, CNAME, NS, SOA (consistency and TTL, not policy grade) | E.164 / international / national, country, line type |
| Primary output | Per-domain score, spf, dmarc, dkim, mx |
Resolved values, TTL, resolver identity, consistency flags | Format-validation row: validity, E.164, country, line type |
| Penetration / people discovery | None. Passive public DNS only; no exploitation, fuzzing, or auth bypass | None. Public resolver lookups only | None. Does not acquire numbers or crawl profiles |
The Store description is: validate domain infrastructure in bulk to boost email deliverability; extract DMARC policies, SPF records, and MX configurations to keep outreach out of spam. The README adjacent-actor note sends global resolver checks after a DMARC / SPF / DKIM change to DNS Propagation Checker.
Use cases
- Security and IT teams: audit owned or authorized domains for email-deliverability and authentication posture.
- Developers: automate recurring domain-security checks without building a custom DNS scraper.
- Data teams: ingest structured audit results into analytics warehouses or SIEMs.
- Ops teams: monitor DNS/email-config changes via webhook alerts for drift detection.
Published Key Features: complete email security audit (SPF, DKIM, DMARC, and MX); security scoring 0–100 with an A–F grade; DKIM multi-selector check; actionable recommendations; bulk processing up to 500 domains per run; webhook support to Slack or Discord. The published Use Cases table also lists product managers tracking competitor or market signals; the FAQ still requires authorization for any domain you scan.
Store Quickstart: start with Quickstart (Dataset) on three known domains, then Security Audit (DKIM Enabled), Weekly Portfolio Monitor, or Webhook Alert.
How is DMARC & Email Security Checker different from DNS Propagation Checker and Bulk Phone Format Validator?
This Actor audits public email-authentication DNS on domains you supply: SPF, DMARC, MX, and optional DKIM, then returns a 0–100 score with an A–F grade. Required input is domains (maximum 500). DNS Propagation Checker queries A, AAAA, MX, TXT, CNAME, NS, and SOA across eight public resolvers for hostnames in domains (maximum 200) to flag resolver disagreement and TTL variation; it is multi-resolver propagation, not email-policy parsing or grading. Bulk Phone Format Validator is offline libphonenumber formatting of phone strings in numbers (maximum 1000); it does not query DNS. Use this Actor for DMARC/SPF/MX posture on authorized domains. Use DNS Propagation Checker after a nameserver or record change. Use Bulk Phone Format Validator for E.164 hygiene.
What input is required?
domains is required. The live schema description is “List of domains to check email security for. Maximum 500 per run.” Other live schema fields:
| Field | Type | Default | Notes |
|---|---|---|---|
domains |
string[] | required | Domains to check email security for (max 500). Schema prefill is google.com, github.com, example.com. |
checkDkim |
boolean | true | Check for DKIM records (common selectors: google, default, selector1, selector2). |
dkimSelectors |
string[] | — | Custom DKIM selectors. Schema description defaults: google, default, selector1, selector2, k1, dkim. |
delivery |
string | dataset |
dataset or webhook |
webhookUrl |
string | — | POST target when delivery is webhook (Slack, Discord, or any HTTP endpoint) |
concurrency |
integer | 5 | Maximum parallel requests. Higher may trigger rate limits. |
dryRun |
boolean | false | Run without saving results or sending webhooks (for testing) |
maxChargeUsd |
number | 1 | Safety cap for billable dataset rows in this run |
The schema sets additionalProperties to false. README examples that include includeDkimSelectors or resolver are not live input fields. The README Input markdown table omits maxChargeUsd; the live schema and Actor input object example include it (default 1).
Published README input example:
{
"domains": ["google.com", "github.com", "example.com"],
"checkDkim": true,
"concurrency": 5
}
Published Actor input-object example (includes schema defaults):
{
"domains": [
"google.com",
"github.com",
"example.com"
],
"checkDkim": true,
"delivery": "dataset",
"concurrency": 5,
"dryRun": false,
"maxChargeUsd": 1
}
Start with Quickstart (Dataset) on three known domains. Use Security Audit (DKIM Enabled) for fuller grading. Set checkDkim to false when you only need SPF, DMARC, and MX. Use dryRun: true before larger batches or webhook delivery.
Run a DMARC and email-security check on Apify
What does a result contain?
The published README output table lists meta, results, and per-result domain, mx, spf, dmarc, dkim, score, error, and checkedAt. The published README sample is one domain row with score.total and score.grade, spf.raw / allPolicy / isStrict, dmarc.policy / isEnforced / rua, dkim selector found flags, and mx priority plus exchange. There is no published output JSON schema on the Store page.
Published README sample:
{
"domain": "google.com",
"score": { "total": 95, "grade": "A" },
"spf": {
"raw": "v=spf1 include:_spf.google.com ~all",
"allPolicy": "~all",
"isStrict": false
},
"dmarc": {
"policy": "reject",
"isEnforced": true,
"rua": "mailto:mailauth-reports@google.com"
},
"dkim": [
{ "selector": "google", "found": true }
],
"mx": [
{ "priority": 10, "exchange": "smtp.google.com" }
]
}
That sample is the published README illustration, not a live coverage guarantee. The README also describes source-linked configuration evidence, issue classifications, and remediation guidance. Tips say findings include links to official remediation docs for webhook payloads.
Does it check DKIM records, and which selectors?
DKIM is optional and on by default. checkDkim defaults to true. The schema description for checkDkim is “Check for DKIM records (common selectors: google, default, selector1, selector2).” dkimSelectors is an optional array of custom selectors; the schema description lists defaults google, default, selector1, selector2, k1, dkim. Key Features states a DKIM multi-selector check that tests 6 common selectors (Google, Microsoft, etc.). Set checkDkim to false to skip DKIM. Live schema names do not include includeDkimSelectors.
Is this a penetration test or a SOC2 certification?
No. The published FAQ states this Actor performs passive compliance scanning only, with no exploitation, fuzzing, or auth bypass. It produces evidence artifacts suitable for SOC2 CC7.1 (continuous monitoring) and is not itself a SOC2 certification. The README tells security and IT teams to submit domains they own or are authorized to assess, and to scan only sites they have authorization for.
Published scan cadence from the FAQ: weekly for production domains; daily if you have high config-change velocity. Webhook or Dataset API export is described as mapping well to Drata, Vanta, and OneTrust import templates. CI notes: block releases on critical severity findings using exit codes.
How is DMARC & Email Security Checker priced?
Billing is pay per event. The live Store card is from $7.00 / 1,000 results. Live Store events are Actor Start at $0.001 (charged when the Actor starts; number of events depends on Actor memory, one event per GB, minimum one event) and result at $0.007 (single result in the default dataset). You are not charged for Apify platform usage, only the fixed event price.
The README Cost section still quotes actor-start $0.01 plus dataset-item $0.003 ($3.01 for 1,000 items); live Store billing currently lists Actor Start $0.001 and result $0.007. Check the Store pricing card for the current per-event rates. maxChargeUsd defaults to 1 as a safety cap for billable dataset rows in the run. dryRun true runs without saving results or sending webhooks. delivery defaults to dataset; set delivery to webhook and provide webhookUrl to POST results.
From $7.00 per 1,000 results ($0.001 Actor Start + $0.007 per default-dataset result)
See DMARC & Email Security Checker pricing on Apify
Limits to keep in mind
- Maximum 500 domains per run. Required field is
domains. - Public DNS email-auth records only — SPF, DMARC, MX, and optional DKIM. Not a multi-resolver A/NS/SOA propagation check.
- Not phone-string validation. Not HTML extraction. Not a penetration test.
- README
includeDkimSelectorsandresolverexamples are not live schema fields. - Passive scanning of domains you own or are authorized to assess.
- Keep the first run small. Expand after the output shape is useful.
Open DMARC & Email Security Checker on Apify
Related pages
- SSL/TLS Certificate Scraper — TLS cert expiry and fingerprints, not SPF/DMARC grades
- DNS Propagation Checker — A/NS/SOA (and other records) across eight resolvers, not DMARC policy grades
- Bulk Email Syntax & MX Validator — syntax/MX/disposable checks on email strings, not domain SPF/DMARC grades
- Bulk Phone Format Validator — offline E.164 phone strings, not email-auth DNS
- Bulk URL Status Checker — HTTP status on a known URL list, not SPF/DMARC
- Contact Page Audit & Business Channel Extractor — public business channels from pages
- Website Content Extractor — cleaned docs, product, pricing, policy, and help-center HTML
- Meta Tag & OpenGraph Scraper
- Wayback Machine Bulk Checker
- Short URL Resolver & Scraper
- Chrome Web Store Extension Intelligence
- HHS Healthcare Data Breach Change Scraper — HHS OCR disclosure changes, not email-auth DNS
- Article Content Extractor
- RSS & Atom Feed Extractor
- Google News Scraper
- Content Intelligence pack
- Review Intelligence pack
- Tools