Bulk WHOIS & Domain Lookup: DNS Lookup and Domain Availability
Pricing
from $1.40 / 1,000 domains
Bulk WHOIS & Domain Lookup: DNS Lookup and Domain Availability
Bulk WHOIS and domain lookup: check domain availability, domain age, registrar and expiration dates, status and nameservers from the registries' RDAP (WHOIS where a TLD has none), plus DNS records with MX, SPF and DMARC. A domain checker at $0.002 per domain.
Pricing
from $1.40 / 1,000 domains
Rating
0.0
(0)
Developer
Nebula Colors LLC
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Bulk WHOIS & Domain Lookup: WHOIS via RDAP, DNS Records and Availability
Give it a list of domains and get back, for each one, who it's registered with, when it was created and when it expires, its status and nameservers, and whether it's available to register. The data comes from each registry's official RDAP server, the modern replacement for WHOIS, and from WHOIS for the TLDs whose registry has no RDAP yet (like .jp, .cn, .it and .se). It also reads the DNS records, with the SPF and DMARC policies. $0.002 per domain, and domains where nothing answered are free. It works for people and for AI agents through Apify's MCP server.
What it's for
- Check a list of name ideas for which ones are available. Available means the registry has no record of the name. A registrar can still hold it as reserved or sell it at a premium price, so check the price there before you plan on it.
- Some registries give less: .de shows no creation or expiry date, and .es answers only approved addresses, so .es rows have DNS records only, free.
- Research companies and leads: how old a domain is, who hosts its DNS, whether it receives email.
- Watch expiry dates: run it on an Apify schedule and sort by
expiresInDays. - Check email setup in bulk: MX, SPF and DMARC.
Input
| Field | What to put |
|---|---|
| Domains | One per line, like example.com. Required. Website and email addresses work too: https://www.example.co.uk/page is looked up as example.co.uk. Subdomains are looked up as the domain they belong to: blog.example.com as example.com, and user.github.io as github.io. |
| Registration data | On by default: registrar, dates, status, nameservers, and whether the domain is registered. |
| DNS records | On by default: A, AAAA, MX, NS, TXT, CNAME, CAA and SOA, plus SPF and DMARC. |
With Registration data off, registered and available are null. With DNS records off, the DNS fields are left out. Both off is an error.
Example:
{"domains": ["apify.com", "github.io", "bbc.co.uk"]}
Output
One row per domain. This one came from a test run on October 16, 2026 (DNS records cut short here):
{"input": "github.io","domain": "github.io","tld": "io","registered": true,"available": false,"source": "rdap","rdapServer": "https://rdap.identitydigital.services/rdap/","registrar": "MarkMonitor Inc.","registrarIanaId": "292","registrarUrl": "https://www.markmonitor.com/about-us/","createdAt": "2013-03-08T19:12:48.000Z","updatedAt": "2026-08-12T09:08:04.273Z","expiresAt": "2027-03-08T19:12:48.000Z","status": ["client delete prohibited","client transfer prohibited","client update prohibited"],"nameservers": ["ns-692.awsdns-22.net","ns-1622.awsdns-10.co.uk","dns1.p05.nsone.net","dns2.p05.nsone.net","dns3.p05.nsone.net"],"dnssec": false,"registrantOrganization": "GitHub, Inc.","registrantCountry": "US","abuseEmail": "abusecomplaints@markmonitor.com","ageDays": 4969,"expiresInDays": 143,"dns": {"a": ["185.199.109.153","185.199.110.153"],"aaaa": [],"mx": [],"ns": ["dns1.p05.nsone.net","dns2.p05.nsone.net"],"txt": ["v=spf1 a -all"],"cname": [],"caa": ["0 issue \"sectigo.com\""],"soa": {"primaryNs": "ns-1622.awsdns-10.co.uk","hostmaster": "awsdns-hostmaster.amazon.com","serial": 1}},"spf": "v=spf1 a -all","dmarc": null,"hasEmail": false,"resolves": true,"nxdomain": false,"checkedAt": "2026-10-16T08:34:03.342Z"}
registeredis true or false from the registry, or null if it couldn't say.availableis its opposite. A name the registry doesn't have can still be reserved or premium-priced at the registrar.- Dates are ISO 8601 in UTC.
ageDaysandexpiresInDayscount from the time of the lookup. registrantOrganizationandregistrantCountryare filled only when public. Behind a privacy service, both are null.sourceisrdaporwhois. With WHOIS,whoisServernames the server asked andwhoisTexthas its answer.hasEmailis true when the domain has MX records,resolveswhen it has an A or AAAA record, andnxdomainwhen the name doesn't exist in DNS at all.warningsays which part didn't answer, like registration data from a registry that refused.- A domain where nothing answered has an
errorinstead, and isn't charged.
The run's SUMMARY record says how many domains were looked up, registered, not registered and unknown, how many came from RDAP and from WHOIS, and how many failed.
Price
- $0.002 per domain looked up, so $2 per 1,000.
- That's the price on Apify's free plan. On a paid Apify plan it's less: $1.80 per 1,000 domains on Starter, $1.60 on Scale and $1.40 on Business, the "from" price at the top of this page.
- Registration data asked for but missing (like most .es): the row keeps its DNS records and isn't charged (
chargedis false). With Registration data off, a DNS result is charged. - Free: entries that aren't domains, duplicates (the same domain twice, or two addresses on one domain, get one row), and domains where nothing answered.
- You can set a maximum charge for a run. It stops when it's reached and keeps what it already looked up.
Good to know
- Official sources. RDAP servers are the ones IANA lists for each TLD, and WHOIS servers the ones IANA names. Thin registries like .com point to the registrar's own RDAP, which it also reads for the owner's details.
- Polite. Requests to the same registry wait their turn, and a rate-limited server is asked again after a pause.
- Some registries say little. DENIC (.de) gives only the status, nameservers and last change.
- Some registries can't be read. .es answers only approved addresses, and .cn's WHOIS sometimes times out. Those domains still get their DNS records, free, with a
warning. - Speed. Each registry is asked about twice a second, so a list that mixes TLDs goes faster. In test runs, 1,000 .com domains took 8.5 minutes and a mixed list of 60 took 41 seconds.
Use it from an AI agent
The Actor works through Apify's MCP server like any Store Actor. An agent can find it, read its input and call it. The MCP call waits 30 seconds by default (45 at most), and a few domains finish in that time. A bigger list takes longer, so the call returns the run's status and dataset ID, and the agent reads the rows with get-dataset-items.
Questions or problems
Open an issue on this Actor's Issues tab. I read them. If it saves you time, a short review helps others find it.