Domain WHOIS & RDAP Lookup avatar

Domain WHOIS & RDAP Lookup

Pricing

Pay per event

Go to Apify Store
Domain WHOIS & RDAP Lookup

Domain WHOIS & RDAP Lookup

Bulk domain WHOIS lookup over the IETF RDAP network — no API key required. Feed a list of domains and get registrar, registration/expiration dates, name servers, and status codes as structured rows. We resolve each domain to the correct registry via the IANA RDAP bootstrap file, paced and retried.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share


🎯 What this scrapes

RDAP (Registration Data Access Protocol, RFC 7482+) is the structured, machine-readable successor to legacy WHOIS text — and every gTLD registry (plus a growing set of ccTLDs) is required to expose it publicly, with no key or login. The catch: there's no single RDAP endpoint. Every TLD points at a different registry server, and you have to resolve that mapping yourself via IANA's bootstrap file before you can ask a single question. This Actor does that resolution for you, walks your domain list at a pace you control, and writes one structured row per domain — registrar, registration and expiration dates, name servers, DNSSEC status, and domain status codes — ready for a portfolio monitor, a lead list, or a brand-protection sweep.

🔥 What we handle for you

  • 🌐 Correct-registry routing — resolves the right RDAP server per TLD via the IANA bootstrap file, so one input list can span domains across dozens of registries.
  • 🔁 Polite pacing + retries — configurable delay between requests, exponential backoff on 429/503, Retry-After honoured.
  • 🌐 Optional proxy rotation via Apify Proxy for higher-volume runs against registries that throttle by source IP.
  • 🧊 Clean, typed dataset rows — Pydantic-validated registrar, dates, name servers, and status codes, ready for CSV/JSON export.
  • 💰 Pay-Per-Event pricing — you only pay for domains that resolve. No data, no charge beyond the warm-up fee.

💡 Use cases

  • Domain portfolio monitoring — schedule daily runs across your portfolio and catch expiration dates before they lapse.
  • Prospecting / lead gen — bulk-check registrar and creation date to spot newly registered domains in a niche.
  • Brand protection — batch-check lookalike domain registrations for enforcement leads.
  • Due diligence — verify domain ownership, age, and registration history for a target company's web assets.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
domainsarrayyes['stripe.com']Domain names to look up via IETF RDAP, e.g. example.com. One RDAP query per domain, each routed to the…
maxDomainsintegerno100Safety cap on how many domains from the list are processed in one run.
requestDelaySecondsnumberno1.0Pause between RDAP requests so we stay polite to registry servers. Raise this if a registry starts rate-limiting.
proxyConfigurationobjectno{'useApifyProxy': True}Apify Proxy configuration. RDAP is a public protocol, but some registries throttle by source IP at higher volumes —…

Example input

{
"domains": [
"stripe.com",
"example.com"
],
"maxDomains": 5,
"requestDelaySeconds": 1.0,
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
domainstringThe domain that was looked up, normalized to lowercase.
statusstringregistered on an RDAP 200, available on an RDAP 404 (a legitimate answer, not a failure), error only when the lookup could not be completed after retries.
registrarstringSponsoring registrar name, if published by the registry.
created_datestringDomain registration date (ISO-8601), when published.
expiration_datestringDomain expiration date (ISO-8601), when published.
last_changed_datestringLast registry change date (ISO-8601), when published.
nameserversarrayAuthoritative name servers on record for the domain.
epp_status_codesarrayRDAP/EPP domain status codes, e.g. client transfer prohibited.
dnssec_enabledbooleanWhether DNSSEC is signed for this domain, per the RDAP secureDNS block.
registrant_countrystringRegistrant country. null when GDPR-redacted or absent — the common case since 2018.
registrant_orgstringRegistrant organization. null when GDPR-redacted or absent — the common case since 2018.
rdap_serverstringResolved authoritative RDAP host after the rdap.org bootstrap redirect.
scraped_atstringWhen this row was recorded (ISO-8601 UTC).

Example output

{
"domain": "stripe.com",
"status": "registered",
"registrar": "SafeNames Ltd.",
"created_date": "1995-09-12T04:00:00Z",
"expiration_date": "2027-09-11T04:00:00Z",
"last_changed_date": "2025-10-01T01:39:51Z",
"nameservers": [
"NS-1087.AWSDNS-07.ORG",
"NS-1882.AWSDNS-43.CO.UK",
"NS-423.AWSDNS-52.COM",
"NS-705.AWSDNS-24.NET"
],
"epp_status_codes": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited",
"server delete prohibited",
"server transfer prohibited",
"server update prohibited"
],
"dnssec_enabled": false,
"registrant_country": null,
"registrant_org": null,
"rdap_server": "rdap.verisign.com",
"scraped_at": "2026-09-01T09:31:19+00:00"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
domain-scraped$0.005Per domain RDAP row written to the dataset

Example: 1 000 results at the rates above ≈ $5.05. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

  • RDAP coverage depends on the registry — most gTLDs (.com, .net, .org, etc.) support it; some ccTLDs still only offer legacy WHOIS, which this Actor does not fall back to.
  • Registrant contact fields (name, email, phone) are frequently redacted by the registrar under GDPR/privacy-proxy policy — this is a registry-side restriction, not a limitation of the lookup.
  • We query only the public RDAP surface each registry exposes — no bulk-zone-file access, no historical/expired WHOIS records.

❓ FAQ

Is this legal?

Yes — RDAP is a public IETF standard (RFC 7482 and successors) that ICANN requires every gTLD registry to expose for public, unauthenticated lookups. We only query the public RDAP endpoint each registry already publishes.

Why are registrant name/email/phone often empty?

Most registrars redact registrant contact fields by default since GDPR (2018) and ICANN's Temporary Specification. Registrar, dates, name servers, and status codes remain public and are populated whenever the registry publishes them.

What happens if a domain isn't registered?

The row comes back with status: "available" and a successful run — a clean not-found from the registry is a real answer, not an error.

Does every TLD support RDAP?

Most gTLDs do; ccTLD coverage is growing but not universal. We resolve the registry via IANA's official bootstrap file, so a TLD without an RDAP server is reported clearly rather than silently skipped.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.