Skip to content
YAS.SH
Network & DNS🌐 YAS server-sideAPI availableintermediate

RDAP / WHOIS Lookup

Looks up registration data for a domain or IP via RDAP (the modern WHOIS).

Processed by YAS · not stored
Ready to runInstant execution
All tools →
Loading tool…

What does this tool do?

Looks up registration data for a domain or IP via RDAP (the modern WHOIS).

Why would I use it?

  • You want to see who registered a domain and when.
  • You are checking expiry dates for renewal planning.
  • You are investigating a suspicious domain.

Real-life example

Input
example.com
Output
Registrar, registration/expiry dates, nameservers, status codes

RDAP is the structured replacement for WHOIS.

Input → Process → Output → Next

Input
Enter a domain or IP.
Process
YAS queries the authoritative RDAP registry.
Output
Structured registration data.
Next action
Note the expiry date and registrar for renewals.

Common mistakes

  • Expecting full owner details for GDPR-protected registrations.
  • Using RDAP for subdomains (it works on registered domains/IPs).
  • Reading status codes like clientHold without checking their meaning.

What the result means

The data describes the domain's registration, not its content.

Privacy & security

Your input is sent to YAS infrastructure because the tool requires server-side processing or public network queries. Input is not stored.

API

Endpoint
POST https://yas.sh/api/v1/tools/rdap-lookup
Request Header
Content-Type: application/json
cURL
curl -X POST "https://yas.sh/api/v1/tools/rdap-lookup" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com"}'
JavaScript
const res = await fetch("https://yas.sh/api/v1/tools/rdap-lookup", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
  "domain": "example.com"
}),
});
const data = await res.json();
Python
import requests

r = requests.post("https://yas.sh/api/v1/tools/rdap-lookup", json={"domain":"example.com"})
data = r.json()
FieldTypeRequiredDescription
domainstringYesDomain, e.g. example.com
Success response
{ "domain": "example.com", "registrar": "RESERVED-Internet Assigned Numbers Authority", "creationDate": "...", "expiry": "...", "nameservers": [...] }

Registry data for a domain via RDAP (registrar, dates, nameservers).

Error responses
  • 400 VALIDATION_ERROR — invalid input or unsupported option.
  • 413 PAYLOAD_TOO_LARGE — input exceeds the 64 KB limit.
  • 429 RATE_LIMIT_EXCEEDED — rate limit exceeded (60 req/min).
Limits
  • Maximum input: 64 KB per request.
  • Rate limit: 60 requests/min per IP address.
  • Authenticated accounts benefit from higher tier quotas.

RDAP / WHOIS Lookup: technical reference, use cases and FAQ

How RDAP / WHOIS Lookup works

RDAP is the JSON-over-HTTPS successor to WHOIS, standardised in RFC 7480–7484. Instead of an unstructured text blob that every registry formats differently, RDAP returns typed objects with defined members: events (registration, expiry, last changed), status codes, nameservers, entities with roles, and vCard-formatted contact data. Because it runs over HTTPS with normal HTTP semantics, it supports proper redirects, error codes and referrals.

Lookups follow a bootstrap process: the IANA registry maps a TLD or an address block to its authoritative RDAP server, and the client follows referrals from registry to registrar for the detailed record. That structure is what makes RDAP programmatically usable, whereas WHOIS parsing requires per-registry heuristics that break whenever a registry changes its output.

When to use it: real-world scenarios

Checking domain expiry and status codes

Status codes such as clientTransferProhibited and serverHold are machine-readable in RDAP. Reading them directly is how you confirm a registrar lock is actually in place.

Finding the responsible party for an address block

Abuse handling needs the network's abuse contact, which RDAP exposes as a typed entity role rather than buried in free text.

Monitoring a domain portfolio programmatically

Structured expiry events make automated renewal alerting reliable, without regex parsing of registry-specific WHOIS text.

Investigating a suspicious domain

Registration date and status are strong signals: a domain registered days ago and used in email is worth treating differently from one registered a decade ago.

Pro tips

  • Registrant contact details are usually redacted post-GDPR. Absence of a name is normal and not a sign the domain is hidden.
  • Read the eventAction values rather than assuming field order: 'registration', 'expiration' and 'last changed' are defined terms.
  • Status codes come from the EPP set. clientHold means the domain will not resolve, which is a different problem from an expired registration.
  • Not every ccTLD operates an RDAP server yet; some still require WHOIS, and a few publish neither.

Limitations and edge cases

What this tool deliberately does not do, and where it will disagree with other implementations.

  • Contact data is largely redacted for privacy, so RDAP cannot identify a registrant in most cases.
  • TLD coverage is incomplete — several ccTLDs have not deployed RDAP.
  • Rate limits are enforced by registries and can throttle bulk querying.
  • Data accuracy depends on the registrar; stale nameserver and contact entries are common.

Frequently asked questions

What is the difference between RDAP and WHOIS?
RDAP returns structured JSON over HTTPS with defined fields, standard error codes and referrals; WHOIS returns free-form text over an unencrypted port 43 with no consistent format. RDAP is the designated replacement.
Why is the registrant name missing?
Registries redact personal data to comply with GDPR and similar regimes. Abuse and technical contacts are usually still published, and registrars can relay messages.
Can I look up IP addresses as well as domains?
Yes. Regional internet registries operate RDAP servers for address blocks and autonomous system numbers, returning the network allocation and its abuse contact.
Why did my lookup fail for a country-code domain?
That ccTLD registry may not run an RDAP service. Coverage is mandated for gTLDs but remains optional for many country-code registries.
What do the domain status codes mean?
They come from the EPP standard. clientTransferProhibited is a registrar lock preventing transfers, serverHold and clientHold remove the domain from DNS so it stops resolving entirely, and pendingDelete means it is in the deletion cycle. A domain that resolves fine but shows clientHold is usually reading a stale cache.
Ask YAS AI
🍪 Cookies & privacy. Essential cookies keep you signed in and remember language and theme. Google AdSense and reCAPTCHA are Google technologies: AdSense runs only after Accept All; reCAPTCHA loads on sign-in and contact forms. See how Google uses data: https://policies.google.com/technologies/partner-sites cookie policy · privacy policy.
Settings