The Registration Data Access Protocol (RDAP) is the successor to WHOIS. Like WHOIS, RDAP provides access to information about Internet resources (domain names, nameservers, entities, autonomous system numbers, and IP addresses). Unlike WHOIS, RDAP provides:
- A machine-readable representation of registration data;
- Differentiated access;
- Structured request and response semantics;
- Internationalization;
- Extensibility.
Register.si operates an RDAP server for looking up registration data of .si domain names. It supports class objects of “Domain”, “Nameserver” and “Entities”. The answer is provided in JSON format. The RDAP server can be accessed via any HTTP client.
Anonymous users are not shown any information about holders or the technical contact for domain names. Authenticated users with an user account receive the full registration data, depending on their authorizations.
How does it work?
- with a REST client (stand-alone or as a browser extension)
- using Terminal (command line)
- using a browser
See examples below.
In addition to GET, you can also use HEAD requests. These are used to ascertain whether a domain name is already registered, without providing further data.
What can be queried?
RDAP can be queried for:
- domains – RDAP returns domain data such as namervers, status, etc. Result varies depending on user being authenticated or not.
URL format for domains ishttps://rdap.register.si/domain/queriedDomain
- nameservers – RDAP returns namerserver data such as status, IP addresses, etc.
URL format for nameservers is
https://rdap.register.si/nameserver/queriedNamerserver
- entities – entities are domain contacts and registrars. RDAP result varies depending on user being authenticated or not
URL format for domain contacts is
https://rdap.register.si/entity/c-queriedContact
URL format for registrars is
https://rdap.register.si/entity/r-queriedRegistrar
Anonymous examples
- With a REST client
Method: GET (or HEAD)
URL: https://rdap.register.si/domain/arnes.si
URL: https://rdap.register.si/nameserver/ns1.arnes.si
URL: https://rdap.register.si/entity/r-0d8eaedc-82a8-11ee-97b4-7cd30ae19050
- Using Terminal (command line)
curl https://rdap.register.si/domain/arnes.si
curl https://rdap.register.si/nameserver/ns1.arnes.si
curl https://rdap.register.si/entity/r-0d8eaedc-82a8-11ee-97b4-7cd30ae19050
HEAD request:
curl -I https://rdap.register.si/domain/arnes.si
curl -I https://rdap.register.si/nameserver/ns1.arnes.si
curl -I https://rdap.register.si/entity/r-0d8eaedc-82a8-11ee-97b4-7cd30ae19050
- Using a browser
Enter into address field:https://rdap.register.si/domain/arnes.si
https://rdap.register.si/nameserver/ns1.arnes.si
https://rdap.register.si/entity/r-0d8eaedc-82a8-11ee-97b4-7cd30ae19050
Examples with authentication
- With a REST client
Method: GET (or HEAD)
URL: https://rdap.register.si/domain/arnes.si
URL: https://rdap.register.si/nameserver/ns1.arnes.si
URL: https://rdap.register.si/entity/r-0d8eaedc-82a8-11ee-97b4-7cd30ae19050
Use “Basic Authentication” and enter the user name and password of your user account.
- Using Terminal (command line)
curl -u username https://rdap.register.si/domain/arnes.si
curl -u username https://rdap.register.si/nameserver/ns1.arnes.si
curl -u username https://rdap.register.si/entity/r-0d8eaedc-82a8-11ee-97b4-7cd30ae19050
HEAD request:
curl -I https://rdap.register.si/domain/arnes.si
curl -I https://rdap.register.si/nameserver/ns1.arnes.si
curl -I https://rdap.register.si/entity/r-0d8eaedc-82a8-11ee-97b4-7cd30ae19050
- Search for authenticated users
Wildcard is supported. Only one asterisk is allowed (*).
Illegal queries get error code 422 (Unprocessable Entity).- Domains
search by name
domains?name=name or wildcard
https://rdap.register.si/domains?name=arnes*.si
search by nameserver
domains?nsLdhName=namerserver or wildcard
https://rdap.register.si/domains?nsLdhName=ns1.arnes*.si
search by IP
domains?nsIp=IP address
https://rdap.register.si/domains?nsIp=192.0.2.0
- Nameservers
search by name
nameservers?name=nameserver or wildcard
https://rdap.register.si/nameservers?name=ns1.arnes*.si
search by IP
nameservers?ip=IP address
https://rdap.register.si/nameservers?ip=192.0.2.0
- Entities
search by name
entities?fn=name or wildcard
https://rdap.register.si/entities?fn=Bobby%20Joe*
search by ID handle
entities?handle=ID handle or wildcard
https://rdap.register.si/entities?handle=CID-40*
- Domains
What do the responses look like?
Meaning of HTTP status codes
404 (Not Found): The domain name as entered was not found. Usually, this means that the domain name isn’t registered. But that doesn’t always mean that the domain name can be registered.
200 (OK): The domain name is registered and/or cannot be registered at this time.
400 (Bad Request): Invalid request, for example, may contain prohibited characters or wrong TLD (change the query before next attempt).
401 (Unauthorized): Username/password incorrect. The domain name is registered, but you only receive the same data as an anonymous user would.
429 (Too Many Requests): Access restricted (wait for a while and try again).
References
- RFC7480: HTTP Usage in the Registration Data Access Protocol (RDAP)
- RFC7481: Security Services for the Registration Data Access Protocol (RDAP)
- RFC9082: Registration Data Access Protocol (RDAP) Query Format
- RFC9083: JSON Responses for the Registration Data Access Protocol (RDAP)
- RFC7484: Finding the Authoritative Registration Data (RDAP) Service
- RFC8056: Registration Data Access Protocol (RDAP) Object Tagging