DMARC & Email Security Checker avatar

DMARC & Email Security Checker

Pricing

from $7.00 / 1,000 results

Go to Apify Store
DMARC & Email Security Checker

DMARC & Email Security Checker

Validate domain infrastructure in bulk to boost email deliverability. Extract DMARC policies, SPF records, and MX configurations to keep outreach out of spam.

Pricing

from $7.00 / 1,000 results

Rating

0.0

(0)

Developer

naoki anzai

naoki anzai

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

1

Monthly active users

18 days ago

Last modified

Share

DNS / SPF / DKIM / DMARC Audit API

Security and IT teams submit domains they own or are authorized to assess. The actor checks public SPF, DKIM, DMARC, MX, and related DNS records without logging in to any service. Each run returns source-linked configuration evidence, issue classifications, and remediation guidance for domain-security review.

Run the next report

Store Quickstart

  • Start with Quickstart (Dataset) to validate the output shape with three known domains.
  • For comprehensive audits, use Security Audit (DKIM Enabled) for fuller grading.
  • For recurring monitoring, use Weekly Portfolio Monitor for automated domain health checks.
  • For instant alerts, use Webhook Alert for automated notifications.

Key Features

  • ๐Ÿ“ง Complete email security audit โ€” SPF, DKIM, DMARC, and MX records
  • ๐Ÿ“Š Security scoring โ€” 0-100 points with A-F grade
  • ๐Ÿ” DKIM multi-selector check โ€” Tests 6 common selectors (Google, Microsoft, etc.)
  • ๐Ÿ’ก Actionable recommendations โ€” Specific fix suggestions for each issue
  • ๐Ÿ“‹ Bulk processing โ€” Check up to 500 domains per run
  • ๐Ÿช Webhook support โ€” Send results to Slack/Discord

Use Cases

WhoWhy
DevelopersAutomate recurring data fetches without building custom scrapers
Data teamsPipe structured output into analytics warehouses
Ops teamsMonitor changes via webhook alerts
Product managersTrack competitor/market signals without engineering time

Input

FieldTypeDefaultDescription
domainsarrayprefilledList of domains to check email security for. Maximum 500 per run.
checkDkimbooleantrueCheck for DKIM records (common selectors: google, default, selector1, selector2).
dkimSelectorsarrayโ€”Custom DKIM selectors to check. Defaults: google, default, selector1, selector2, k1, dkim.
deliverystring"dataset"How to deliver results. 'dataset' saves to Apify Dataset (recommended), 'webhook' sends to a URL.
webhookUrlstringโ€”Webhook URL to send results to (only used when delivery is 'webhook'). Works with Slack, Discord, or any HTTP endpoint.
concurrencyinteger5Maximum number of parallel requests. Higher = faster but may trigger rate limits.
dryRunbooleanfalseIf true, runs without saving results or sending webhooks. Useful for testing.

Input Example

{
"domains": ["google.com", "github.com", "example.com"],
"checkDkim": true,
"concurrency": 5
}

Input Examples

Example: Single domain DMARC audit

{
"domains": [
"example.com"
]
}

Example: Bulk competitor email security

{
"domains": [
"a.com",
"b.com",
"c.com"
],
"includeDkimSelectors": [
"default",
"selector1"
]
}

Example: Audit with custom resolver

{
"domains": [
"example.com"
],
"resolver": "8.8.8.8"
}

Output

FieldTypeDescription
metaobject
resultsarray
results[].domainstring
results[].mxarray
results[].spfobject
results[].dmarcobject
results[].dkimarray
results[].scoreobject
results[].errornull
results[].checkedAttimestamp

Output Example

{
"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" }
]
}

API Usage

Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console โ†’ Settings โ†’ Integrations.

cURL

curl -X POST "https://api.apify.com/v2/acts/taroyamada~dns-dmarc-security-checker/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "domains": ["google.com", "github.com", "example.com"], "checkDkim": true, "concurrency": 5 }'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("taroyamada/dns-dmarc-security-checker").call(run_input={
"domains": ["google.com", "github.com", "example.com"],
"checkDkim": true,
"concurrency": 5
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('taroyamada/dns-dmarc-security-checker').call({
"domains": ["google.com", "github.com", "example.com"],
"checkDkim": true,
"concurrency": 5
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Security cluster โ€” Adjacent actors

Most defensive-security audits cover multiple layers on the same domains. The actors below pair naturally with this one:

  • ssl-certificate-monitor โ€” Complement email-DNS audit with SSL/TLS certificate expiry monitoring on the same domains.
  • dns-propagation-checker โ€” Verify DNS record propagation globally after DMARC / SPF / DKIM changes.
  • security-headers-checker โ€” Audit HTTP security headers (CSP / HSTS / X-Frame-Options) as the next-layer defense on the same hosts.

Tips & Limitations

  • Schedule weekly runs against your production domains to catch config drift.
  • Use webhook delivery to pipe findings into your SIEM (Splunk, Datadog, Elastic).
  • For CI integration, block releases on critical severity findings using exit codes.
  • Combine with ssl-certificate-monitor for layered cert + headers coverage.
  • Findings include links to official remediation docs โ€” share with dev teams via the webhook payload.

FAQ

Is running this against a third-party site legal?

Passive public-header scanning is generally permitted, but follow your own compliance policies. Only scan sites you have authorization for.

How often should I scan?

Weekly for production domains; daily if you have high config-change velocity.

Can I export to a compliance tool?

Use webhook delivery or Dataset API โ€” formats map well to Drata, Vanta, OneTrust import templates.

Is this a penetration test?

No โ€” this actor performs passive compliance scanning only. No exploitation, fuzzing, or auth bypass.

Does this qualify as a SOC2 control?

This actor produces evidence artifacts suitable for SOC2 CC7.1 (continuous monitoring). It is not itself a SOC2 certification.

Complete Your Website Health Audit

Website Health Suite โ€” Build a comprehensive compliance and trust monitoring workflow:

1. Link & URL Health

2. SEO & Metadata Quality

3. Security & Email Deliverability (you are here)

  • This actor audits SPF, DKIM, DMARC, and MX records.

4. Historical Data & Recovery

Recommended workflow: Weekly email security audit โ†’ Fix SPF/DMARC/DKIM issues โ†’ Validate SSL with URL Health Checker โ†’ Monitor domain portfolio โ†’ Integrate with marketing automation.

Complete Security Stack:

Cost

Pay Per Event:

  • actor-start: $0.01 (flat fee per run)
  • dataset-item: $0.003 per output item

Example: 1,000 items = $0.01 + (1,000 ร— $0.003) = $3.01

No subscription required โ€” you only pay for what you use.

โญ Was this helpful?

If this actor saved you time, please leave a โ˜… rating on Apify Store. It takes 10 seconds, helps other developers discover it, and keeps updates free.

Bug report or feature request? Open an issue on the Issues tab of this actor.