Bulk domain WHOIS/RDAP registration-provenance checker avatar

Bulk domain WHOIS/RDAP registration-provenance checker

Pricing

Pay per usage

Go to Apify Store
Bulk domain WHOIS/RDAP registration-provenance checker

Bulk domain WHOIS/RDAP registration-provenance checker

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Valunex

Valunex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Security

Limited permissions

Share

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 includeRejected is 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/actor
python3 -m pytest tests/ # unit tests against captured RDAP responses
python3 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).