Skip to content
LookupOwl

RDAP lookup

Ask a registry for any domain's RDAP record and see the raw JSON, the server that answered and the exact request.

With or without https://, we'll tidy it up.

More options

Also ask the registrar's own RDAP server when the registry points to it. Adds registrar-side contacts and expiry date; costs one more upstream request.

What an RDAP lookup gives you

An RDAP lookup returns a domain's registration record as structured JSON, straight from the registry that runs the domain's extension (the part after the last dot, such as .com). RDAP stands for Registration Data Access Protocol. It does the same job as WHOIS, but over ordinary HTTPS, with fixed field names, real HTTP status codes and a standard way to mark data as redacted.

This page runs the query and shows its working. Besides the readable summary, you get the server that answered, the exact request URL, the time each step took and the raw JSON. That helps when you are scripting against RDAP, debugging a registry, or checking that what another site told you matches the registry. If you only want the finished record in plain English, the WHOIS lookup is the shorter route.

How to run a query

  1. Enter a domainAny registered domain works. Names with accents or non-Latin letters are converted to their xn-- form (called Punycode) before the query goes out.
  2. Open the Raw tabThe Raw tab holds the registry's JSON exactly as it arrived. When the registry points to the registrar's own RDAP server, a second block shows the registrar's JSON too.
  3. Check how we got itThe How we got this tab lists each step with its status code and timing, plus the request URL and the server list entry that matched. To see the registry's answer alone, switch off the registrar option under More options.
  4. Repeat it yourselfCopy the request URL into curl to get the same JSON. An AI assistant can do the same through the MCP server: ask it to call the whois_lookup tool with includeRaw turned on.
Shell
# Through the public bootstrap redirector
curl -sL https://rdap.org/domain/example.com | jq .

# Straight from a registry (Verisign handles .com)
curl -s https://rdap.verisign.com/com/v1/domain/example.com | jq '.entities[].roles'

How to read the JSON

An RDAP response is one JSON object. Most of what you need sits in a handful of members.

JSON memberMeaning
ldhName / unicodeNameThe domain in ASCII (letters, digits and hyphens) and in its display form.
statusEPP status flags in lowercase with spaces, such as client transfer prohibited. The EPP status code guide explains each one.
eventsDated actions such as registration, expiration and last changed. The entry last update of RDAP database describes the server's data, not the domain.
nameserversThe delegated name servers, sometimes with the IP addresses a parent zone needs to find them (called glue).
secureDNSdelegationSigned and the DS data when the domain uses DNSSEC, the signing that protects DNS answers from tampering.
entitiesThe registrar, the abuse contact and, if public, the registrant. Each has roles and a contact card in jCard format, which is a JSON array.
linksself points to this object. related often points to the registrar's own RDAP record.
notices and remarksTerms of use, redaction notes and other free text. Treat it as untrusted text.
rdapConformanceThe RDAP extensions the server says it supports.

Errors and what they mean

The HTTP status code usually tells you most of the story.

  • HTTP 404. The registry has no such domain. For most extensions that means it is unregistered, and the domain availability checker can confirm it.
  • HTTP 429. The registry's rate limit was hit, because registries limit how often one client may ask. The Retry-After header, when there is one, says how long to wait.
  • HTTP 403 or 501. The server refuses automated queries, or does not support that kind of lookup.
  • No RDAP server for the extension. Many country-code registries (the two-letter ones) have not set up RDAP yet. LookupOwl falls back to WHOIS on port 43 where it can, and labels the result as WHOIS.
  • A thin answer. Some registries, such as Verisign for .com, hold only basic data. Contact details live at the registrar, which is why the second request matters.
  • Odd JSON. Some servers send the wrong content type, leave out the conformance list or return an HTML error page. We show the problem and don't hide it.

How the right server is found

There is no single RDAP server, so a client has to find the right one. IANA, the body that coordinates the internet's names and numbers, publishes a bootstrap file at data.iana.org/rdap/dns.json. It maps each domain extension to one or more RDAP base URLs. The client takes the entry for the domain's last label, adds domain/<name> and sends the request over HTTPS. Separate bootstrap files cover IPv4, IPv6 and AS numbers.

LookupOwl keeps a fresh copy of those files, adds a small checked list for registries that run RDAP without being listed, and follows redirects only to servers it expects, never to private or reserved addresses.

Standards and specifications

  • RFC 7480: how RDAP uses HTTP, including status codes and CORS.
  • RFC 7481: security services for RDAP.
  • RFC 9082: query URL formats. RFC 9083: JSON response objects.
  • RFC 9224: the IANA bootstrap registry (replaces RFC 7484).
  • RFC 7095: jCard, the JSON form of vCard used for contacts.
  • RFC 9537: redacted fields. RFC 8605: ICANN vCard extensions for RDAP.

Questions people ask

Is RDAP replacing WHOIS?

For generic top-level domains such as .com and .org, yes. ICANN removed the requirement for registries and registrars to run a port-43 WHOIS service on 28 January 2025, which made RDAP the required service. Country-code registries make their own choices, so both protocols are still in use. LookupOwl tries RDAP first and falls back to WHOIS only when a registry has no RDAP server. The full comparison goes deeper.

Why does the same domain look different on other sites?

Because sites ask different sources and refresh at different times. Some read the registry, some read the registrar and some show a cached copy. They also treat redacted fields in their own ways. LookupOwl shows the server it asked and how long the answer took, so you can judge how fresh it is. When two sources disagree, the registry's record is the one to trust.

Can I call RDAP from my own code?

Yes, and it takes one HTTPS request. Send a GET to https://rdap.org/domain/<name>, which redirects you to the right registry, or read the IANA bootstrap file and call the registry directly. Servers differ in small ways, such as event names and error pages. If you would rather not handle those quirks, LookupOwl's REST API and MCP server return one cleaned, consistent shape.

Does RDAP expose personal data?

Only what the registry or registrar chooses to publish, and today that is usually very little. RDAP adds a standard way to say that a field was redacted and why (RFC 9537), so you often see a labelled blank instead of silence. To contact an owner whose details are hidden, use the registrar's abuse contact or contact form.

What does the related link do?

It points to the registrar's own RDAP record for the same domain. A thin registry answers with the basics and adds a link marked rel=related. LookupOwl follows it once, merges in extras such as the abuse contact, and flags fields where the registry and registrar disagree. You can switch this off under More options to see the registry's answer alone.

Do you support RDAP for IP addresses and AS numbers too?

Yes, on separate pages. Use the IP WHOIS lookup for addresses and networks and the ASN lookup for AS numbers. Both ask the regional internet registries (ARIN, RIPE NCC, APNIC, LACNIC and AFRINIC) through their RDAP servers, found with the IANA bootstrap files for IPv4, IPv6 and AS numbers.

Use it from AI, the API or the command line

Every LookupOwl tool is also a free API and an MCP tool, with no key and no account. This one is whois_lookup. Please be kind to the rate limits.

curl
curl "https://lookupowl.com/api/v1/tools/whois-lookup?q=wikipedia.org&followRegistrar=false"
MCP
claude mcp add --transport http lookupowl https://lookupowl.com/mcp