Bulk Email DNS Audit Scraper
Pricing
from $9.00 / 1,000 results
Bulk Email DNS Audit Scraper
Scrape domain DNS data to extract SPF, DKIM, DMARC, and BIMI records. Generate structured deliverability readiness reports for client portfolios.
Pricing
from $9.00 / 1,000 results
Rating
0.0
(0)
Developer
太郎 山田
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Email Deliverability Portfolio Audit API
Scrape and analyze email deliverability signals across massive client portfolios to guarantee high inbox placement. For marketing agencies and consultants managing hundreds of client websites, manually checking DNS records to prep for email outreach is virtually impossible. This powerful automation allows you to extract and validate SPF, DKIM, DMARC, MTA-STS, TLS-RPT, and BIMI setups across thousands of URLs without writing complex custom code.
Protecting a client's sender reputation means detecting DNS misconfigurations before they ruin a campaign. By scheduling automated daily or weekly runs, your agency can track domain health changes over time, monitor for unexpected infrastructure drift, and route critical failures directly to your team's tools via webhooks. Whether you are auditing a new prospect's website or preparing a massive contact list for a cold email blast, this scraper delivers results fast by processing queries in parallel.
Operating entirely through public DNS queries instead of using a web browser to crawl pages, this tool extracts vital security details with complete privacy compliance. You can easily integrate the structured data into client reports, utilizing outputs like detailed DMARC syntax validation, explicit pass/fail readiness scores, and clear remediation guidance. Use this data to ensure every email reaches its target and maximize the ROI of your outreach campaigns.
Store Quickstart
- Start with
store-input.example.jsonfor the smallest useful run: 2 domains in, one executive summary + clean remediation rows out. - Then move to
store-input.templates.json:Starter Quickstart (2 Domains -> Executive Summary + Clean Rows)Portfolio Watch (Recurring Dataset Baseline)Webhook Remediation Queue
Key Features
- 🎯 Lead-qualified extraction — Surfaces contact signals from public profiles with validation flags
- ✅ Deliverability scoring — MX/SPF/DMARC checks produce confidence scores on every record
- 🔄 Bulk processing — Audit thousands of domains/emails per run with parallel verification
- 📊 CRM-ready output — Dataset columns map 1:1 to Salesforce/HubSpot import templates
- 🛡️ Privacy-compliant — Reads public DNS/WHOIS only — no scraping of protected data
Use Cases
| Who | Why |
|---|---|
| Developers | Automate recurring data fetches without building custom scrapers |
| Data teams | Pipe structured output into analytics warehouses |
| Ops teams | Monitor changes via webhook alerts |
| Product managers | Track competitor/market signals without engineering time |
Input
| Field | Type | Default | Description |
|---|---|---|---|
| domains | array | prefilled | Start with 2-3 domains for the first deliverability baseline. Expand later into larger recurring portfolios while keepin |
| followRedirects | boolean | true | Follow redirects when checking the main HTTPS endpoint and the MTA-STS policy URL. |
| checkDkim | boolean | true | Probe a small set of common selectors so the first run catches missing DKIM posture quickly. |
| dkimSelectors | array | — | Optional custom DKIM selectors to probe instead of the built-in defaults. |
| checkBimi | boolean | true | Optional branding readiness check. Missing BIMI is treated as an opportunity signal, not a hard failure. |
| delivery | string | "dataset" | Dataset mode keeps the first run lightweight while still writing the full executive summary to OUTPUT. Webhook mode send |
| webhookUrl | string | — | Required when delivery=webhook. |
| snapshotKey | string | "email-deliverability-portfolio-audit" | Reuse the same key when you move from the starter baseline to recurring monitoring so policy changes stay comparable. |
Input Example
{"domains": ["example.com", "github.com"],"followRedirects": true,"checkDkim": true,"checkBimi": true,"delivery": "dataset","snapshotKey": "email-deliverability-quickstart","concurrency": 2}
Input Examples
Example: Single domain audit
{"domains": ["example.com"]}
Example: Portfolio (1000 domains)
{"domains": ["a.com","..."],"emitDeliverabilityScore": true}
Example: Selector-aware DKIM check
{"domains": ["example.com"],"dkimSelectors": ["default","google","selector1"]}
Output
| Field | Type | Description |
|---|---|---|
meta | object | |
alerts | array | |
results | array | |
alerts[].domain | string | |
alerts[].severity | string | |
alerts[].component | string | |
alerts[].type | string | |
alerts[].message | string |
Output Example
{"meta": {"generatedAt": "2026-04-05T04:40:22.011Z","totals": {"total": 3,"initial": 3,"ok": 0,"changed": 0,"partial": 0,"errors": 0,"actionNeeded": 3},"severityCounts": {"critical": 0,"high": 0,"watch": 3,"info": 0},"averageDeliverabilityScore": 69,"alertCount": 12,"executiveSummary": {"overallStatus": "monitor","brief": "3 of 3 domains need action. Highest-risk issue: No MX records found.","recommendedCadence": "weekly","averageDeliverabilityScore": 69,"totals": {"total": 3,"initial": 3,"ok": 0,"changed": 0,"partial": 0,"errors": 0,"actionNeeded": 3},"severityCounts": {"critical": 0,"high": 0,"watch": 3,"info": 0},
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~email-deliverability-portfolio-audit/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{ "domains": ["example.com", "github.com"], "followRedirects": true, "checkDkim": true, "checkBimi": true, "delivery": "dataset", "snapshotKey": "email-deliverability-quickstart", "concurrency": 2 }'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("taroyamada/email-deliverability-portfolio-audit").call(run_input={"domains": ["example.com", "github.com"],"followRedirects": true,"checkDkim": true,"checkBimi": true,"delivery": "dataset","snapshotKey": "email-deliverability-quickstart","concurrency": 2})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/email-deliverability-portfolio-audit').call({"domains": ["example.com", "github.com"],"followRedirects": true,"checkDkim": true,"checkBimi": true,"delivery": "dataset","snapshotKey": "email-deliverability-quickstart","concurrency": 2});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Tips & Limitations
- Combine with
email-deliverability-checkerfor full MX+SMTP validation before outreach. - Use webhook delivery to drop leads into your CRM automation in real-time.
- For ABM campaigns, run weekly against your target list to catch domain changes.
- Low confidence scores (<70) often indicate parked domains — filter before sending outreach.
- This actor is GDPR-safe: no PII is stored, only infrastructure-level signals.
FAQ
Is this GDPR-compliant?
Yes — this actor only processes public infrastructure data (DNS, WHOIS, public website content). No PII is stored.
How accurate is the deliverability score?
Infrastructure-level checks are 95%+ accurate for identifying broken/parked domains. SMTP-level accuracy requires email-deliverability-checker.
Can I use this in a signup form?
The actor is optimized for batch processing, not real-time signup validation. For per-request use, query Apify API directly.
Does this verify if an email actually exists?
This actor checks MX/SPF/DMARC infrastructure. For SMTP-level RCPT TO verification, use email-deliverability-checker.
Can I export to HubSpot/Salesforce?
Yes — use webhook delivery with a Zapier/Make connector, or pull from Dataset API directly.
Related Actors
Lead Generation & B2B cluster — explore related Apify tools:
- 📧 Contact Details Extractor — Extract phone numbers, email field formats, and social media links from any webpage.
- 📩 Email Validator — Validate email addresses in bulk: syntax, DNS MX lookup, disposable domain detection, deliverability score.
- 📞 Phone Number Validator — Validate and format phone numbers for 250+ countries using google-libphonenumber.
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.