Bulk domain WHOIS/RDAP registration-provenance checker
Pricing
Pay per usage
Bulk domain WHOIS/RDAP registration-provenance checker
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Valunex
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Security
Limited permissionsShare
Apify Actor: apex-nexus~domain-whois-provenance
Kind: A — lookup/convert tool on public data (bring your own domain list).
Pricing: FREE Store listing — no pay-per-event pricing, no payment required.
Public listing/direct link only; zero paid ads, zero cold outreach.
What it does
Give the Actor a list of domains and it queries the public RDAP registry for each one, returning a normalized registration-provenance table — one row per domain — plus a reject report:
{ "domain", "registrarName", "registrarIanaId", "registrationDate", "expiryDate","domainAgeDays", "status", "nameServers", "rdapUrl", "source" }
Domain investors, flippers, SEO & link-building agencies, website buyers doing marketplace due diligence, and brand-protection teams use it to check per-domain registration provenance (registrar, IANA ID, dates, age, status, nameservers) without paying per-domain WHOIS lookups.
Input
{ "domains": ["google.com","apple.com","microsoft.com","example.com","github.com"],"includeRejected": true }
domains(required, textarea): a JSON array of domain strings or CSV/plain text with one domain per line. Defaults to a mixed list of well-known .com domains.includeRejected(boolean, default true): embed the reject-report item (_type=reject_report) as the last dataset item.
Output — one clean row per resolved domain, e.g.
{ "domain": "google.com", "registrarName": null, "registrarIanaId": null,"registrationDate": "1997-09-15T04:00:00Z", "expiryDate": "2028-09-14T04:00:00Z","domainAgeDays": 10611, "status": ["client delete prohibited", ...],"nameServers": ["NS1.GOOGLE.COM", ...],"rdapUrl": "https://rdap.verisign.com/com/v1/domain/google.com","source": "https://rdap.verisign.com/com/v1/domain/google.com" }
followed by exactly one reject-report item:
{ "_type": "reject_report", "inputRows": 5, "resolvedRows": 5, "rejectedRows": 0,"reasons": {}, "rejected": [] }
(registrarName/registrarIanaId are null for .com/.net because Verisign's
public RDAP is a thin registry that does not expose registrar details.)
Sources (read-only, public, no API key)
- .com/.net:
https://rdap.verisign.com/com/v1/domain/{domain} - other TLDs:
https://rdap.org/domain/{domain}(best-effort; any failure => reject row, the run never crashes)
No credentials, no proxies, no LLMs, no commercial inference, no scraping of non-public content.
Search terms
"bulk WHOIS lookup", "domain age checker", "domain registration date lookup", "RDAP domain lookup", "domain provenance checker bulk"
Limits & behavior
- Default input = five well-known .com domains; a typical default run completes in seconds, well under 5 minutes.
- Rate-limited (bounded concurrency + small delay) and short per-domain timeout; transient RDAP failures produce a reject row instead of crashing the run.
- Free when nothing to return (no resolvable domains → empty clean dataset plus
reject report when
includeRejectedis true). - Stateless: no watchlist state, no delta alerts, no state between runs. Explicitly NOT a change tracker / not a near-duplicate publication.
Build & test
cd products/domain-whois-provenance/actorpython3 -m pytest tests/ # unit tests against captured RDAP responsespython3 tools/smoke_test.py # live smoke test against real RDAP (build gate)
Flip-ready metadata
Store listing metadata is staged with isPublic: false. The publication flip
(isPublic=true) is owned by the director and scheduled at the next Apify
5-publications/24h cap reset (~2026-11-05 ~12:50 CET), after reviewer
acceptance. Do not set pay-per-event pricing (FREE to gather users first).