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 · Recently published - building its public record.

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.

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

Recently published - building its public record. Live record, failures included: status page.

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