Domain Intelligence: WHOIS, DNS, SPF/DMARC/DKIM & SSL avatar

Domain Intelligence: WHOIS, DNS, SPF/DMARC/DKIM & SSL

Pricing

$2.00 / 1,000 domain checkeds

Go to Apify Store
Domain Intelligence: WHOIS, DNS, SPF/DMARC/DKIM & SSL

Domain Intelligence: WHOIS, DNS, SPF/DMARC/DKIM & SSL

Use this when you need everything about a domain in one call: RDAP WHOIS registration (registrar, created/expiry, status, nameservers), DNS records, email auth (SPF, DMARC, DKIM, MTA-STS) with a grade, and SSL certificate expiry. Bulk input; failed domains are free.

Pricing

$2.00 / 1,000 domain checkeds

Rating

0.0

(0)

Developer

Isaac

Isaac

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Domain Intelligence: WHOIS/RDAP, DNS, SPF/DMARC/DKIM & SSL in One Call

Use this when you or your AI agent need the full picture of a domain in one call: who it's registered with and when it expires, what its DNS points to, whether its email is properly authenticated, and whether its SSL certificate is valid. $0.002 per domain. Invalid, unregistered or failed domains are free.

Use this when you're...

  • vetting a supplier, lead or suspicious site (domain age, registrar, expiry)
  • diagnosing email deliverability (SPF, DMARC policy, DKIM, MTA-STS, with a grade and a list of fixes)
  • monitoring SSL certificates and domain renewals across a portfolio
  • enriching a list of company domains for sales or security research

Input

{"domain": "stripe.com"}

or in bulk: {"domains": ["stripe.com", "https://www.bbc.co.uk/news", "jane@canva.com"]}. URLs and email addresses are reduced to the domain, and duplicates are skipped. You can switch off includeRegistration, includeEmailAuth or includeSsl.

Output (one row per domain)

{
"domain": "stripe.com", "ok": true, "resolves": true,
"registration": {"registrar": "SafeNames Ltd.", "created": "1995-09-12T04:00:00Z", "expires": "2027-09-11T04:00:00Z",
"domainAgeDays": 11363, "daysUntilExpiry": 324, "status": ["client transfer prohibited"], "nameservers": ["ns-1087.awsdns-07.org"], "dnssec": false},
"dns": {"A": ["..."], "AAAA": [], "CNAME": [], "MX": ["10 aspmx.l.google.com."], "NS": ["..."], "TXT": ["v=spf1 ..."]},
"emailAuth": {"spfRecord": "v=spf1 ... ~all", "spfAll": "~all", "dmarcPolicy": "reject", "dkimSelectorsFound": ["google", "s1"],
"mtaSts": false, "tlsRpt": false, "score": 85, "grade": "A", "issues": []},
"ssl": {"valid": true, "issuer": "DigiCert, Inc.", "validTo": "2026-12-10T23:59:59+00:00", "daysLeft": 50, "sans": ["stripe.com", "www.stripe.com"], "tlsVersion": "TLSv1.3"}
}

FAQ

Where does the data come from? Registration comes from official RDAP servers (the modern replacement for WHOIS), listed by IANA. DNS comes from DNS-over-HTTPS (Cloudflare, with Google as fallback). SSL comes from a direct TLS handshake on port 443. No API keys or proxies are needed.

Does it return owner names or emails? No. RDAP redacts personal registrant data and this Actor doesn't collect it.

Why is registration empty for some domains? A few TLDs (for example .edu, .us, .co) don't offer public RDAP. You still get DNS, email and SSL results, and the reason is given in registration.error.

Why does DKIM say none found? DKIM keys sit under a selector name that can't be listed. We check 16 common selectors (Google, Microsoft 365, Mailchimp/Mandrill, Zoho, Fastmail and others). A custom selector may exist even if none is found.

What am I charged for? One domain event ($0.002) for each domain checked successfully. Invalid input, non-existent domains and lookups that fail are not charged. Set a maximum cost per run and the Actor stops cleanly when it is reached.

Calling it from an AI agent or a script (async pattern)

A few domains finish in seconds, and 1,000 domains take a few minutes. The Apify MCP server waits only about 30–45 seconds, so for batches start the run and fetch results afterwards:

  1. POST https://api.apify.com/v2/acts/poised_beardlichen~domain-intelligence/runs with {"domains": [...]}. Keep data.id and data.defaultDatasetId.
  2. Poll GET https://api.apify.com/v2/actor-runs/<runId>?waitForFinish=60 until SUCCEEDED.
  3. GET https://api.apify.com/v2/datasets/<defaultDatasetId>/items?clean=true.

Send Authorization: Bearer <APIFY_TOKEN>. For small jobs use POST /v2/acts/poised_beardlichen~domain-intelligence/run-sync-get-dataset-items.

Use in ChatGPT or Claude

Add this tool to your AI assistant as a custom connector (MCP server) with this URL:

https://mcp.apify.com?tools=poised_beardlichen/domain-intelligence
  • ChatGPT: Settings → Apps & Connectors → Create (needs Developer mode), paste the URL, choose OAuth and sign in to Apify.
  • Claude: Settings → Connectors → Add custom connector, paste the URL, then click Connect.

Runs go on your own Apify account at the same per-event prices, so the free plan's monthly credit applies.

Try it free

Apify's free plan includes $5 of usage every month, no credit card. On this Actor that's about 2,500 domain checks a month, so you can test it on your real data before paying anything.

Other tools by us

Support

Spotted a wrong result? Open an issue on the Issues tab.