Domain Scraper: WHOIS, DNS, Expiry & Availability
Pricing
from $1.00 / 1,000 domains
Domain Scraper: WHOIS, DNS, Expiry & Availability
Bulk domain lookup: registrar, registration and expiry dates, lock status, DNSSEC, nameservers and live DNS records (A, MX, NS, TXT, CAA). Detects the mail and DNS provider, checks SPF/DMARC, and tells you whether a domain is available. Official RDAP and DNS, no key.
Pricing
from $1.00 / 1,000 domains
Rating
0.0
(0)
Developer
Daniel Meshulam
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Bulk domain lookup that returns something you can act on, not a wall of raw WHOIS text.
For every domain: who registers it, when it expires, whether it's locked, and, from live DNS, which mail provider and DNS provider it actually runs on, plus SPF/DMARC status.
Built on RDAP (the IETF's official WHOIS replacement, RFC 9083) and DNS-over-HTTPS. No key, no login.
What you get
| Field | Example |
|---|---|
domain, isRegistered, isAvailable | stripe.com, true, false |
registrar | SafeNames Ltd. |
registeredAt, expiresAt, updatedAt | |
daysUntilExpiry | 410 |
ageYears | 30.9 |
mailProvider | google · microsoft-365 · zoho · proton … |
dnsProvider | cloudflare · aws-route53 · azure · vercel … |
hasSPF, hasDMARC, dmarcPolicy | true, true, reject |
isLocked, dnssec, statusCodes | true, true |
nameservers, dnsA, dnsMX, dnsNS, dnsTXT, dnsCAA | |
verificationTokens | the *-site-verification TXT records |
Example input
{"domains": ["github.com", "stripe.com", "https://openai.com/about"],"includeDns": true,"recordTypes": ["A", "MX", "NS", "TXT"],"includeEmailSecurity": true}
Full URLs and email addresses are accepted: https://example.com/pricing and sales@example.com both reduce to example.com.
Built-in filters
onlyRegistered: true: drop available domains. Useful when you're feeding in a scraped list.
expiringWithinDays: 60: only domains expiring soon. Point it at a portfolio for renewal alerts, or at a wishlist for drop-catching.
Filtered-out domains are not charged.
Availability check
An unregistered domain returns isAvailable: true. This comes from the registry's own RDAP server returning "no such object", so it is authoritative rather than a reseller's guess.
When no registry can be asked, the answer is null, not true. IANA's bootstrap registry lists RDAP servers for about 1,200 TLDs, and several common ones are missing from it, including .io, .co, .de, .me, .so, .gg and .sh. For those, rdap.org answers 404 for every name, registered or not. Reading that 404 as "available" would report every .io and .co domain as free to register.
So a 404 only means available when the TLD actually has an RDAP server. Otherwise DNS settles it: a name with NS records is delegated by the registry, which cannot happen unless it is registered. If neither source can answer, the row carries availabilityNote explaining why, and onlyRegistered keeps it rather than silently dropping it.
Who this is for
- Agencies & sales teams: qualify leads by tech stack: who's on Google Workspace, who's on Microsoft 365, who has no DMARC
- Domain investors: expiry monitoring across a portfolio, availability checks in bulk
- Security & IT: SPF/DMARC audit across every domain you own
- SEO: domain age and registrar for competitor and backlink analysis
Privacy
This Actor returns no registrant personal data. Post-GDPR, RDAP exposes only the registrar for virtually every TLD, and no attempt is made to recover the individual behind a domain from any other source. What comes back is operational: registrar, dates, status, and where mail and DNS are hosted.
Pricing
Pay per result. One row = one domain. Invalid input and lookup failures come back as error rows and are not charged, and neither are domains removed by your filters.
Bulk WHOIS domain lookup, and why it says RDAP
WHOIS as an API is effectively gone. ICANN's replacement is RDAP, which returns structured JSON instead of the free-text blob every WHOIS parser used to guess at, and it is what this Actor queries. You get the WHOIS answer, in a shape you can actually use.
Paste a list and every domain is looked up in one run, which is the part a single-domain web form cannot do:
| Question | Field |
|---|---|
| Who is the registrar? | registrar |
| When was it registered, when does it expire? | registeredAt, expiresAt, daysUntilExpiry, ageYears |
| Is it locked against transfer? | isLocked, statusCodes |
| Is DNSSEC on? | dnssec |
| Is it available to register? | isAvailable, isRegistered |
| Which nameservers, which mail provider? | nameservers, plus dnsA / dnsMX / dnsNS / dnsTXT / dnsCAA |
| Does it publish SPF and DMARC? | the email-security fields |
DNS record types: A, AAAA, MX, NS, TXT, CNAME, SOA, CAA.
A 404 from RDAP does not mean the domain is free. Some TLDs, .io, .co
and .so among them, are missing from IANA's bootstrap registry, so there is no
RDAP server to ask and a 404 means "nowhere to ask" rather than "available".
This Actor checks the bootstrap list and corroborates with a live NS lookup
before it will call anything available. Getting that wrong is how a tool tells
you github.io is free to buy.
Notes
includeEmailSecuritycosts one extra DNS lookup per domain (DMARC lives at_dmarc.<domain>, not on the apex).- Some ccTLDs run thin RDAP servers and return fewer fields, you'll get whatever the registry publishes rather than an error.
- Set a max charge per run in the run options for a hard spend ceiling. The Actor honors it and stops cleanly.
FAQ
Do I need a WHOIS or DNS API key?
No. This uses RDAP, the IETF's official WHOIS replacement (RFC 9083), plus DNS-over-HTTPS. Both are open and key-free.
Can I check whether a domain is available to register?
Yes. An unregistered domain returns isAvailable: true, and that comes from the
registry's own RDAP server answering "no such object", so it is authoritative
rather than a reseller's guess. Available domains skip DNS lookups entirely, so bulk
availability checks are fast and cheap.
Will this give me the registrant's name and email?
No, and not because of a limitation here. Post-GDPR, RDAP exposes only the registrar for virtually every TLD. No attempt is made to recover the individual behind a domain from any other source. What you get is operational: registrar, dates, status, and where mail and DNS are hosted.
How do I find out which email provider a company uses?
mailProvider is derived from live MX records and resolves to names like
google, microsoft-365, zoho or proton. dnsProvider does the same for
nameservers: cloudflare, aws-route53, azure, vercel. That is the field
sales teams actually want out of a WHOIS tool.
Can I audit SPF and DMARC across all my domains?
Yes. includeEmailSecurity returns hasSPF, hasDMARC and dmarcPolicy (the
p= value, so you can tell none from reject). It costs one extra DNS lookup
per domain because DMARC lives at _dmarc.<domain>, not on the apex.
Can I get renewal alerts for a domain portfolio?
Set expiringWithinDays: 60 and schedule it. Only domains inside that window are
returned, and the ones filtered out are not charged.
Do I have to clean my input list first?
No. Full URLs and email addresses are accepted, so https://example.com/pricing
and sales@example.com both reduce to example.com.
Why do some domains return fewer fields?
Some ccTLDs run thin RDAP servers. You get whatever the registry publishes rather than an error.