Company Email Security Checker

Check SPF, DMARC, DKIM, MX and BIMI for a list of domains in bulk and get an A-to-F email-security grade plus the mail provider.

Check SPF, DMARC, DKIM, MX and BIMI for a list of domains in bulk and get an A-to-F email-security grade plus the mail provider. Pure DNS - no scraping, no blocks. GDPR-clean. Free on a domain that doesn't resolve.

$4.00 / 1,000 · 100.0% success over 29 public runs in the last 30 days.

Run it on Apify → Free to try - runs bill per result on your own account.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
domains array The domains to check email security for, one per line. A bare domain (stripe.com), a URL or a www host all work. Only have company names? Run the Company Domain Finder first. ["stripe.com", "github.com", "example.com"]
maxItems integer Stop after this many domains. Default 1000; free-plan runs are capped at 5. 1000

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

A real result row from a recent run:

{
  "bimi": false,
  "checkedAt": "2026-11-04T12:50:06.468Z",
  "dkim": {
    "present": true,
    "selectors": [
      "google",
      "s1",
      "s2",
      "mandrill"
    ]
  },
  "dmarc": {
    "aggregateReports": true,
    "pct": 100,
    "policy": "reject",
    "present": true,
    "record": "v=DMARC1; p=reject; pct=100; fo=1; rua=mailto:dmarc-reports@stripe.com; ruf=mailto:dmarc-forensics@stripe.com;"
  },
  "domain": "stripe.com",
  "grade": "A",
  "hasMx": true,
  "input": "stripe.com",
  "mailProvider": "Google Workspace",
  "mtaSts": false,
  "mxHosts": [
    "aspmx.l.google.com",
    "alt1.aspmx.l.google.com",
    "alt2.aspmx.l.google.com",
    "aspmx2.googlemail.com",
    "aspmx3.googlemail.com"
  ],
  "spf": {
    "present": true,
    "qualifier": "~all",
    "record": "v=spf1 ip4:198.2.180.60/32 ip4:13.111.2.227/32 include:spf1.stripe.com include:greenhouse-outbound-mail.stripe.com include:_spf.qualtrics.com ~all"
  },
  "status": "checked"
}
FieldTypeMeaning
input string The domain from the input.
domain ['string', 'null'] The normalized domain, or null if invalid.
grade ['string', 'null'] A (DMARC reject + SPF) down to F (no SPF, no DMARC). The domain's defence against email spoofing, from the records a receiver enforces.
hasMx boolean Whether the domain receives email (has MX records).
mxHosts array MX hostnames, by priority.
mailProvider ['string', 'null'] The mailbox provider inferred from the MX hosts.
spf object SPF record: present, the record, and the all-qualifier (-all strict, ~all soft, ?all/+all open).
dmarc object DMARC policy: present, p= (none/quarantine/reject), pct, and whether aggregate reports (rua) are collected.
dkim object DKIM found by probing common selectors (best effort - a miss does not disprove DKIM).
bimi boolean Whether a BIMI record (inbox brand logo) is published.
mtaSts boolean Whether MTA-STS (enforced TLS for inbound mail) is published.
status string checked, unreachable (domain does not resolve), or invalid.
checkedAt string When the check ran (ISO timestamp).

Health

100.0% success over 29 public runs in the last 30 days. Live record, failures included: status page.

Full documentation, examples and the AI-assistant prompt live on the store page.