Bulk Domain WHOIS & DNS Lookup: Age, Expiry, MX, SPF, DMARC
Pricing
from $2.00 / 1,000 domain checkeds
Bulk Domain WHOIS & DNS Lookup: Age, Expiry, MX, SPF, DMARC
Bulk-check domains via official RDAP plus live DNS: registered/available, registrar, created/expiry dates, age, nameservers, MX/TXT, email provider (Google/Microsoft/Proofpoint), SPF and DMARC.
Pricing
from $2.00 / 1,000 domain checkeds
Rating
0.0
(0)
Developer
Halos AI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Check hundreds of domains at once: registered or available, registrar, creation and expiry date, domain age, status, nameservers, plus live DNS (A/AAAA/MX/NS/TXT), email provider detection, SPF and DMARC checks, and DNS host detection.
- ✅ Official sources. Registration data comes from the RDAP servers of each TLD's registry (the ICANN-mandated successor to WHOIS, discovered through the IANA bootstrap). DNS uses DNS-over-HTTPS (Cloudflare, with Google fallback).
- ⚡ Fast. 100 domains in about 33 seconds at 512 MB (measured), with per-registry rate limiting built in.
- 💵 Fair billing. You pay only for domains that were checked successfully. Invalid inputs and registry lookup errors are still returned (with an
errormessage andbillable: false) but aren't charged. - 🔐 Privacy-first. It never outputs personal registrant names, emails, phones or street addresses. Registrant organization and country are added only when the registrar publishes them (
followRegistrarRdap). - 🧹 Accepts messy input: URLs,
www.hosts, uppercase, IDNs. Everything is normalized and deduplicated.
Use cases
- Lead qualification and enrichment: domain age, email provider (Google Workspace, Microsoft 365, Proofpoint…), DNS host (Cloudflare, AWS, Vercel…)
- Email deliverability audits: SPF present, DMARC policy (
none,quarantine,reject) - Portfolio and brand monitoring: expiry dates,
daysUntilExpiry, registrar lock statuses - Name hunting:
registered: falsepluslikelyAvailablefor quick availability screens
How to use it
- Click Try for free and paste your domains or URLs, one per line (or send a list through the API).
- Keep Registration data (RDAP) and DNS records on for the full picture.
- Click Start and export from the Output tab as CSV, Excel or JSON.
Lead enrichment recipe
Run your prospect list's website domains and use three columns: emailProvider (Google Workspace vs. Microsoft 365 vs. Proofpoint tells you the company's stack and size), ageYears (new vs. established business) and dmarcPolicy (none means a deliverability or security pitch opportunity).
Input example
{"domains": ["stripe.com", "https://www.shopify.com/pricing", "example.org"],"includeRdap": true,"includeDns": true,"followRegistrarRdap": false,"dnsRecordTypes": ["A", "AAAA", "MX", "NS", "TXT"]}
Output example (one item)
{"domain": "stripe.com","tld": "com","rdapSupported": true,"dns": {"A": ["198.137.150.161","198.202.176.161"],"AAAA": [],"MX": ["10 aspmx.l.google.com","20 alt1.aspmx.l.google.com","20 alt2.aspmx.l.google.com","30 aspmx2.googlemail.com","30 aspmx3.googlemail.com"],"NS": ["ns-1087.awsdns-07.org","ns-1882.awsdns-43.co.uk","ns-423.awsdns-52.com","ns-705.awsdns-24.net"],"TXT": ["00D50000000JV6w=1TBTQ0000000CIv;00DDn000000HWol=1TBVY00000002Hx;00D4x000003vxGL=1TBPQ00000008Tp;00Dfn00000BUlWD=1TBan0000000LPR","MS=ms80697640","VISA=38A3D7A1AA5D71E43525144DD886F6B8"]},"hasMx": true,"emailProvider": "Google Workspace","dnsHost": "AWS Route 53","hasSpf": true,"spf": "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","hasDmarc": true,"dmarc": "v=DMARC1; p=reject; pct=100; fo=1; rua=mailto:dmarc-reports@stripe.com; ruf=mailto:dmarc-forensics@stripe.com;","dmarcPolicy": "reject","resolves": true,"registered": true,"createdAt": "1995-09-12T04:00:00+00:00","expiresAt": "2027-09-11T04:00:00+00:00","updatedAt": "2025-10-01T01:39:51+00:00","ageDays": 11359,"ageYears": 31.1,"daysUntilExpiry": 327,"statuses": ["client delete prohibited","client transfer prohibited","client update prohibited","server delete prohibited","server transfer prohibited","server update prohibited"],"nameservers": ["ns-1087.awsdns-07.org","ns-1882.awsdns-43.co.uk","ns-423.awsdns-52.com","ns-705.awsdns-24.net"],"dnssec": false,"registrar": "SafeNames Ltd.","registrarIanaId": "447","registrarAbuseEmail": "abuse@safenames.net","checkedAt": "2026-10-18T13:06:42.996312+00:00","billable": true}
Invalid inputs and lookup failures come back like this and are not charged:
{ "domain": "not a domain!!", "error": "invalid domain", "billable": false }
How much does it cost?
$2.00 per 1,000 domains successfully checked, plus a $0.005 start fee per run. Platform compute is included. Rows with billable: false (invalid input or lookup error) are free.
Worked example: enriching a 5,000-domain prospect list costs 5,000 × $0.002 + $0.005 = $10.005. A weekly expiry check of a 200-domain portfolio costs $0.405 per run, about $1.75/month.
Scheduled monitoring
- Save your domain list as a Task.
- In Schedules, run it weekly (or daily for drop-catching).
- Add an Integration (Email, Slack, Google Sheets or webhook) and filter on
daysUntilExpiry < 30,registered: falseor a changeddmarcPolicy.
Use it via API
curl -X POST "https://api.apify.com/v2/acts/halos_ai_main~domain-whois-rdap-dns-lookup/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"domains":["stripe.com","shopify.com","example.org"]}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("halos_ai_main/domain-whois-rdap-dns-lookup").call(run_input={"domains": ["stripe.com", "shopify.com", "example.org"]})for d in client.dataset(run["defaultDatasetId"]).iterate_items():print(d["domain"], d.get("registrar"), d.get("ageYears"), d.get("emailProvider"), d.get("dmarcPolicy"))
Notes and limitations
- A few ccTLDs (for example
.de,.io,.so) don't offer RDAP. For those,rdapSupported: falseand you still get the full DNS data. likelyAvailableis a screen, not a guarantee. Premium, reserved or blocked names can show as unregistered. Confirm at a registrar before you buy.- Registries rate-limit RDAP. The Actor throttles per registry and retries with backoff. Very large batches run slower by design.
- Acceptable use: don't use this Actor for spam or for any purpose prohibited by the registries' RDAP/WHOIS terms of use.
FAQ
Is this the same as WHOIS? RDAP is the ICANN-mandated, structured successor to WHOIS, served by the same registries, so the data is the same with cleaner formats.
Am I charged for typos or failed lookups? No. Those rows come back with billable: false and an error message.
Something broke or a field is missing? Open an issue on the Actor's Issues tab. We monitor runs daily.