Web and domain tooling

Email Deliverability Report: SPF, DKIM, DMARC, MTA-STS

One deliverability report per domain, up to 500 per run: MX and mail provider, the SPF record with its DNS lookup count against the limit of ten, DKIM selectors that really exist, the DMARC policy and reporting, MTA-STS mode, TLS-RPT, BIMI and DNSSEC, plus ranked issues and a score.

$3.00per 1,000 ยท Domain checked

One complete deliverability report delivered: MX, SPF with lookup count, DKIM selectors, DMARC, MTA-STS, TLS-RPT, BIMI, DNSSEC, issues and score. Input that is not a domain is never charged.

run it
ACTOR=steadydata~email-deliverability-report
URL="https://api.apify.com/v2/acts/$ACTOR/run-sync-get-dataset-items"

curl -X POST "$URL?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domains": ["apify.com", "nu.nl", "bol.com"], "checkMtaStsPolicy": true}'

# rows come straight back as JSON, one object per delivered row

Input

FieldNameWhat it does
domains
required
DomainsDomains or e-mail addresses, one per row, up to 500. An address is reduced to its domain and the address itself is never stored or delivered.
checkMtaStsPolicyRead the MTA-STS policy fileOn, the policy file on mta-sts.<domain> is fetched so the report can say whether MTA-STS is in enforce or testing mode. That is one HTTP request per domain and it obeys that host's robots.txt.
extraDkimSelectorsExtra DKIM selectors to tryDKIM can only be found by name. Thirteen common selectors are tried by default; add your own here if you know the provider uses a different one.

What you get back

FieldType
domainstring, null
scoreinteger, null
gradestring, null
issueCountinteger, null
issuesarray, null
mxRecordsarray, null
mailProviderstring, null
acceptsMailboolean, null
hasSpfboolean, null
spfRecordstring, null
spfQualifierstring, null
spfLookupCountinteger, null
spfIncludesarray, null
hasDkimboolean, null
dkimSelectorsarray, null
hasDmarcboolean, null
dmarcPolicystring, null
dmarcSubdomainPolicystring, null
dmarcPercentinteger, null
dmarcAggregateReportsboolean, null
dmarcForensicReportsboolean, null
dmarcRecordstring, null
hasMtaStsboolean, null
mtaStsModestring, null
hasTlsRptboolean, null
hasBimiboolean, null
hasDnssecboolean, null
statusstring, null
inputstring, null
errorCodestring, null
errorstring, null