WHOIS Domain Lookup (RDAP): Bulk Domain Age, Expiry & Registrar
Pricing
from $0.80 / 1,000 domain looked ups
WHOIS Domain Lookup (RDAP): Bulk Domain Age, Expiry & Registrar
WHOIS lookup, domain age and expiry date check for any list of domains: registrar, creation and expiry dates, nameservers, DNS provider, EPP status, DNSSEC and availability from official registry RDAP. No personal data. Callable by AI agents via MCP. $1 per 1,000 domains.
Pricing
from $0.80 / 1,000 domain looked ups
Rating
0.0
(0)
Developer
Datawright Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
For AI agents: Use when asked for a WHOIS lookup, domain age, domain expiry date, registrar, nameservers or whether a domain is available. Call with domains (domains, emails or URLs; required), optional outputFilter (all, problems, available, registered) and warnDays. Returns one row per domain: status (registered/available/no-rdap/error), registrar, createdAt, expiresAt, daysUntilExpiry, domainAgeYears, nameservers, dnsProvider, statuses (EPP), transferLocked, dnssec, problems. Cost: $0.001 per domain ($1 per 1,000); failed lookups and TLDs without RDAP free.
For people: Tell your AI agent "look up the registrar, age and expiry date of these 200 domains and tell me which expire this year" and it hands the list to this tool, then reads back a clean table. No WHOIS parsing, no CAPTCHAs, and 1,000 domains cost $1.
Bulk WHOIS lookup for hundreds or thousands of domains in one run, from the official source. Paste a list of domains, email addresses or website URLs and this domain lookup asks each domain's registry over RDAP (the standardized JSON successor of WHOIS, run by the registries themselves) for its registrar, creation date and domain age, expiry date and days left, nameservers and DNS provider, EPP status codes (transfer lock, hold, redemption, pending delete), DNSSEC and whether the domain is registered or available. Every domain gets a plain-English problems list: expiring, expired, on hold, about to be deleted, no transfer lock or parked.
No proxies, no API keys, no WHOIS text scraping and no personal data: registries are found through the official IANA RDAP bootstrap (1,200+ TLDs incl. .com, .net, .org, .uk, .ai, .app, .dev, .fr, .nl, .ca, .au, .xyz plus .io, .co, .me, .us, .de and .ch), registrant contact fields are never saved, and results export to CSV, Excel, JSON or Google Sheets or run on a schedule as a domain expiry monitor.
What does this WHOIS domain lookup do?
- 🏢 Registrar name, IANA ID, website and abuse contact (email and phone), straight from the registry.
- 📅 Creation date, last update and expiry date, plus domain age in days and years and days until expiry (negative = already expired).
- 🌐 Nameservers and the DNS provider detected from them (Cloudflare, Amazon Route 53, Google Cloud DNS, Azure, GoDaddy, Namecheap, NS1, Vercel, Wix, Squarespace, Shopify and 50+ more, incl. multi-provider setups and parking / for-sale services like Sedo, Dan.com, Afternic, HugeDomains).
- 🔒 EPP status codes in camelCase (
clientTransferProhibited,serverHold,redemptionPeriod,pendingDelete...), atransferLockedflag and DNSSEC (delegation signed or not). - ✅ Availability: domains the registry doesn't know come back as
status: "available",registered: false, so the same run works as a bulk domain availability checker. - 🚦 Problems list per domain and an
expiryStatusofok,expiring(within your warning window, default 30 days) orexpired. - 🧹 Bulk-friendly input: domains, emails (
jane@acme.com->acme.com) and URLs are reduced to the registrable domain with the Public Suffix List (blog.example.co.uk->example.co.uk) and de-duplicated; up to 50 lookups in parallel, at most 4 per registry, with retries on rate limits.
Use cases
- Domain expiry monitoring: schedule a weekly run over your company's or clients' domains with Only problems on and get alerted before a domain expires or loses its transfer lock.
- Lead qualification and enrichment: add domain age, registrar and DNS provider (Cloudflare vs GoDaddy vs Shopify) to a list of company websites; very young domains are a classic fraud and spam signal.
- Fraud, phishing and brand protection: check lookalike domains for creation date, registrar abuse contact and whether they're parked.
- Domain investing and naming: check which names in a list are available and when registered ones expire or enter redemption.
- IT and security audits: verify transfer locks, DNSSEC and nameserver delegation across a whole domain portfolio.
How to use it
- Paste domains, emails or URLs into Domains, emails or URLs, one per line.
- Optionally pick Which domains to save (all, only problems, only available, only registered) and the Expiry warning window in days.
- Click Start, then open the Overview table or export the results. For monitoring, add a Schedule plus an email, Slack or webhook integration in Apify Console.
Input example
{"domains": ["apify.com", "jane@github.com", "https://www.bbc.co.uk/news", "my-new-startup-name.com"],"outputFilter": "all","warnDays": 30}
Output example
{"domain": "github.com","status": "registered","registered": true,"registrar": "MarkMonitor Inc.","registrarIanaId": "292","registrarAbuseEmail": "abusecomplaints@markmonitor.com","createdAt": "2007-10-09T18:20:50.000Z","updatedAt": "2026-09-07T09:22:52.000Z","expiresAt": "2028-10-09T18:20:50.000Z","domainAgeDays": 6954,"domainAgeYears": 19,"daysUntilExpiry": 716,"expiryStatus": "ok","statuses": ["clientDeleteProhibited", "clientTransferProhibited", "clientUpdateProhibited"],"transferLocked": true,"nameservers": ["dns1.p08.nsone.net", "dns2.p08.nsone.net", "ns-1283.awsdns-32.org", "ns-421.awsdns-52.com"],"dnsProvider": "NS1","dnsProviders": ["NS1", "Amazon Route 53"],"dnssec": false,"rdapServer": "rdap.verisign.com","problems": [],"checkedAt": "2026-10-24T14:16:46.407Z"}
Unregistered domains come back as status: "available". TLDs whose registry has no public RDAP service (for example .jp, .eu, .it, .es) come back as status: "no-rdap" and are free. A SUMMARY record in the key-value store has counts per status.
How much does a bulk WHOIS lookup cost?
You pay $0.001 per domain looked up ($1 per 1,000 domains), registered or available. Failed lookups, TLDs without RDAP and invalid inputs are free, and domains skipped by Which domains to save are free too. No start fee.
| Job | Domains | Cost |
|---|---|---|
| Your 20 domains, expiry check every week | ~80/month | ~$0.08/month |
| Agency: 500 client domains, monthly | 500/month | $0.50/month |
| Enrich a lead list of 25,000 company domains with age and registrar | 25,000 | $25 |
- Apify's free plan includes $5 of monthly credit, enough for about 5,000 domains a month.
- Paid Apify plans get automatic discounts: Silver -10%, Gold and above -20%.
- Set Maximum cost per run to cap spend; the Actor stops cleanly at the limit.
RDAP domain lookup vs. the alternatives
| This Actor | Free online WHOIS sites | Port-43 WHOIS scrapers | WHOIS API subscriptions | |
|---|---|---|---|---|
| Bulk lists (thousands of domains) | ✅ | ❌ one at a time, CAPTCHAs | ✅ but rate-limited text | ✅ |
| Source | official registry RDAP (JSON) | mixed | free-text WHOIS, format differs per TLD | resold WHOIS / RDAP |
| Registrar, dates, age, nameservers, EPP status, DNSSEC in one row | ✅ | ✅ | needs parsing | ✅ |
| DNS provider and parking detection | ✅ | ❌ | ❌ | sometimes |
| Availability check in the same run | ✅ | separate tool | sometimes | separate endpoint |
| Personal data | never saved | shown when not redacted | often stored | often stored |
| Cost model | $1 per 1,000 domains, no subscription | free, manual | per result | monthly plan |
Use it as an API (Python, JavaScript, cURL)
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("datawright-labs/whois-rdap-domain-lookup").call(run_input={"domains": ["example.com", "jane@acme.com"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["domain"], item["status"], item.get("registrar"), item.get("expiresAt"), item.get("domainAgeYears"))
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('datawright-labs/whois-rdap-domain-lookup').call({ domains: ['example.com'] });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
cURL
curl -X POST "https://api.apify.com/v2/acts/datawright-labs~whois-rdap-domain-lookup/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" -d '{"domains":["example.com"],"outputFilter":"all"}'
Use it from your AI agent (MCP)
Your AI assistant or agent can run this Actor as a tool through Apify's MCP server, so it can do WHOIS / RDAP domain lookups on its own while you chat. Add this server to any MCP client that supports remote (Streamable HTTP) servers:
{"mcpServers": {"datawright-whois-rdap-domain-lookup": {"url": "https://mcp.apify.com?tools=datawright-labs/whois-rdap-domain-lookup"}}}
On first use your browser opens to sign in to Apify (OAuth). If your client can't do OAuth, add "headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" } instead. The tool shows up as datawright-labs--whois-rdap-domain-lookup, with the same input fields as above, and the agent reads the results with get-dataset-items. Then just ask, for example:
Look up the registrar, age and expiry date of these 30 domains and list the ones that expire in the next 90 days.
Want several Datawright tools at once? Comma-separate them: https://mcp.apify.com?tools=datawright-labs/whois-rdap-domain-lookup,datawright-labs/ssl-certificate-checker. Runs are billed per result, exactly like normal runs.
FAQ
What is RDAP and how is it different from WHOIS?
RDAP (Registration Data Access Protocol) is the IETF standard that replaced port-43 WHOIS for gTLDs in 2025. It returns the same registration data (registrar, dates, nameservers, status) as structured JSON over HTTPS, straight from the registry, so there is no per-TLD text parsing and no scraping.
How do I check a domain's age or creation date?
Run the domain and read createdAt, domainAgeDays and domainAgeYears. Note that the creation date is the current registration: a domain that was dropped and re-registered shows the new date.
How do I check when a domain expires?
expiresAt is the registry expiry date and daysUntilExpiry the days left. Set Expiry warning to your window (e.g. 60) and Which domains to save to "Only problems" for an alert-only run. A few registries (for example .de and .ch) don't publish expiry dates; those rows have expiresAt: null.
Can I check if a domain is available?
Yes. Domains the registry has no record of return status: "available" and registered: false. Choose "Only available" to keep just those. Reserved or premium names can also be unregistered, so confirm at a registrar before you count on one.
Why do I get "no-rdap" for some domains?
A few country-code registries (for example .jp, .eu, .it, .es, .ru, .cn) still only run legacy WHOIS and no public RDAP service. This Actor deliberately doesn't scrape WHOIS text, so those rows are flagged no-rdap and are free.
Does it return the registrant's name, email or address?
No. Registrant, admin and tech contact fields are never saved, even when a registry publishes them. You get registry and registrar data only (registrar abuse contacts are business contacts published for abuse reports).
More tools from Datawright Labs
- SSL Certificate Checker: bulk SSL certificate and domain expiry checks with alerts for expiring, invalid or outdated TLS.
- Security Headers Checker: bulk HTTP security headers audit (HSTS, CSP, X-Frame-Options, cookies, HTTPS redirect) with an A-F grade per URL.
- SPF, DMARC & DKIM Checker: bulk email domain audit of SPF (10-lookup limit), DMARC, DKIM, MX provider, BIMI and MTA-STS.
- Broken Link Checker: find broken links, images and redirects across a whole site.
- Sitemap URL Extractor: get every URL of a site from its sitemaps.
- Bulk PageSpeed & Core Web Vitals Checker: audit PageSpeed / Lighthouse scores for many URLs.
- Website Screenshot API: bulk full-page screenshots and PDFs.
- Google Autocomplete Keyword Scraper: long-tail keyword ideas from Google, YouTube and Bing.
- Greenhouse, Lever & Ashby Jobs Scraper: normalized job feeds from 5 ATS platforms.
- App Store Top Charts & Rank Tracker: daily top free/paid/grossing app rankings with rank changes.
Tip: pair it with the SSL Certificate Checker to monitor certificate and domain expiry together.
Made by Datawright Labs: reliable, fairly priced web data tools. Questions or a missing feature? Open an issue on the Issues tab; we usually reply within a day.