The base URLs used to construct RDAP queries are maintained in an IANA registry (the "bootstrap registry") described in [
RFC 7484]. Queries are formed by retrieving an appropriate base URL from the registry and appending a path segment specified in either Sections [
3.1] or [
3.2]. Generally, a registry or other service provider will provide a base URL that identifies the protocol, host, and port, and this will be used as a base URL that the complete URL is resolved against, as per Section
5 of
RFC 3986 [
RFC 3986]. For example, if the base URL is "https://example.com/rdap/", all RDAP query URLs will begin with "https://example.com/rdap/".
The bootstrap registry does not contain information for query objects that are not part of a global namespace, including entities and help. A base URL for an associated object is required to construct a complete query. This limitation can be overcome for entities by using the practice described in
RFC 8521 [
RFC 8521].
For entities, a base URL is retrieved for the service (domain, address, etc.) associated with a given entity. The query URL is constructed by concatenating the base URL with the entity path segment specified in either Sections [
3.1.5] or [
3.2.3].
For help, a base URL is retrieved for any service (domain, address, etc.) for which additional information is required. The query URL is constructed by concatenating the base URL with the help path segment specified in
Section 3.1.6.
A simple lookup to determine if an object exists (or not) without returning RDAP-encoded results can be performed using the HTTP HEAD method as described in
Section 4.1 of
RFC 7480.
The resource type path segments for exact match lookup are:
-
'ip':
-
Used to identify IP networks and associated data referenced using either an IPv4 or IPv6 address.
-
'autnum':
-
Used to identify Autonomous System number registrations and associated data referenced using an asplain Autonomous System number.
-
'domain':
-
Used to identify reverse DNS (RIR) or domain name (DNR) information and associated data referenced using a fully qualified domain name.
-
'nameserver':
-
Used to identify a nameserver information query using a host name.
-
'entity':
-
Used to identify an entity information query using a string identifier.
-
Syntax:
-
ip/<IP address> or ip/<CIDR prefix>/<CIDR length>
Queries for information about IP networks are of the form /ip/XXX or /ip/XXX/YY where the path segment following 'ip' is either an IPv4 dotted decimal or IPv6 [
RFC 5952] address (i.e., XXX) or an IPv4 or IPv6 Classless Inter-domain Routing (CIDR) [
RFC 4632] notation address block (i.e., XXX/YY). Semantically, the simpler form using the address can be thought of as a CIDR block with a prefix length of 32 for IPv4 and a prefix length of 128 for IPv6. A given specific address or CIDR may fall within multiple IP networks in a hierarchy of networks; therefore, this query targets the "most-specific" or smallest IP network that completely encompasses it in a hierarchy of IP networks.
The IPv4 and IPv6 address formats supported in this query are described in Section
3.2.2 of
RFC 3986 [
RFC 3986] as IPv4address and IPv6address ABNF definitions. Any valid IPv6 text address format [
RFC 4291] can be used. This includes IPv6 addresses written using with or without compressed zeros and IPv6 addresses containing embedded IPv4 addresses. The rules to write a text representation of an IPv6 address [
RFC 5952] are
RECOMMENDED. However, the zone_id [
RFC 4007] is not appropriate in this context; therefore, the corresponding syntax extension in
RFC 6874 [
RFC 6874]
MUST NOT be used, and servers
SHOULD ignore it.
For example, the following URL would be used to find information for the most specific network containing 192.0.2.0:
https://example.com/rdap/ip/192.0.2.0
The following URL would be used to find information for the most specific network containing 192.0.2.0/24:
https://example.com/rdap/ip/192.0.2.0/24
The following URL would be used to find information for the most specific network containing 2001:db8::
https://example.com/rdap/ip/2001:db8::
-
Syntax:
-
autnum/<autonomous system number>
Queries for information regarding Autonomous System number registrations are of the form /autnum/XXX where XXX is an asplain Autonomous System number [
RFC 5396]. In some registries, registration of Autonomous System numbers is done on an individual number basis, while other registries may register blocks of Autonomous System numbers. The semantics of this query are such that if a number falls within a range of registered blocks, the target of the query is the block registration and that individual number registrations are considered a block of numbers with a size of 1.
For example, the following URL would be used to find information describing Autonomous System number 12 (a number within a range of registered blocks):
https://example.com/rdap/autnum/12
The following URL would be used to find information describing 4-byte Autonomous System number 65538:
https://example.com/rdap/autnum/65538
-
Syntax:
-
domain/<domain name>
Queries for domain information are of the form /domain/XXXX, where XXXX is a fully qualified (relative to the root) domain name (as specified in [
RFC 0952] and [
RFC 1123]) in either the in-addr.arpa or ip6.arpa zones (for RIRs) or a fully qualified domain name in a zone administered by the server operator (for DNRs). Internationalized Domain Names (IDNs) represented in either A-label or U-label format [
RFC 5890] are also valid domain names. See
Section 6.1 for information on character encoding for the U-label format.
IDNs
SHOULD NOT be represented as a mixture of A-labels and U-labels; that is, internationalized labels in an IDN
SHOULD be either all A-labels or all U-labels. It is possible for an RDAP client to assemble a query string from multiple independent data sources. Such a client might not be able to perform conversions between A-labels and U-labels. An RDAP server that receives a query string with a mixture of A-labels and U-labels
MAY convert all the U-labels to A-labels, perform IDNA processing, and proceed with exact-match lookup. In such cases, the response to be returned to the query source may not match the input from the query source. Alternatively, the server
MAY refuse to process the query.
The server
MAY perform the match using either the A-label or U-label form. Using one consistent form for matching every label is likely to be more reliable.
The following URL would be used to find information describing the zone serving the network 192.0.2/24:
https://example.com/rdap/domain/2.0.192.in-addr.arpa
The following URL would be used to find information describing the zone serving the network 2001:db8:1::/48:
https://example.com/rdap/domain/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa
The following URL would be used to find information for the blah.example.com domain name:
https://example.com/rdap/domain/blah.example.com
The following URL would be used to find information for the xn--fo-5ja.example IDN:
https://example.com/rdap/domain/xn--fo-5ja.example
-
Syntax:
-
nameserver/<nameserver name>
The <nameserver name> parameter represents a fully qualified host name as specified in [
RFC 0952] and [
RFC 1123]. Internationalized names represented in either A-label or U-label format [
RFC 5890] are also valid nameserver names. IDN processing for nameserver names uses the domain name processing instructions specified in
Section 3.1.3. See
Section 6.1 for information on character encoding for the U-label format.
The following URL would be used to find information for the ns1.example.com nameserver:
https://example.com/rdap/nameserver/ns1.example.com
The following URL would be used to find information for the ns1.xn--fo-5ja.example nameserver:
https://example.com/rdap/nameserver/ns1.xn--fo-5ja.example
The <handle> parameter represents an entity (such as a contact, registrant, or registrar) identifier whose syntax is specific to the registration provider. For example, for some DNRs, contact identifiers are specified in [
RFC 5730] and [
RFC 5733].
The following URL would be used to find information for the entity associated with handle XXXX:
https://example.com/rdap/entity/XXXX
The help path segment can be used to request helpful information (command syntax, terms of service, privacy policy, rate-limiting policy, supported authentication methods, supported extensions, technical support contact, etc.) from an RDAP server. The response to "help" should provide basic information that a client needs to successfully use the service. The following URL would be used to return "help" information:
https://example.com/rdap/help
Pattern matching semantics are described in
Section 4.1. The resource type path segments for search are:
-
'domains':
-
Used to identify a domain name information search using a pattern to match a fully qualified domain name.
-
'nameservers':
-
Used to identify a nameserver information search using a pattern to match a host name.
-
'entities':
-
Used to identify an entity information search using a pattern to match a string identifier.
RDAP search path segments are formed using a concatenation of the plural form of the object being searched for and an HTTP query string. The HTTP query string is formed using a concatenation of the question mark character ('?', US-ASCII value 0x003F), a noun representing the JSON object property associated with the object being searched for, the equal sign character ('=', US-ASCII value 0x003D), and the search pattern (this is in contrast to the more generic HTTP query string that allows multiple simultaneous parameters). Search pattern query processing is described more fully in
Section 4. For the domain, nameserver, and entity objects described in this document, the plural object forms are "domains", "nameservers", and "entities".
Detailed results can be retrieved using the HTTP GET method and the path segments specified here.
-
Syntax:
-
domains?name=<domain search pattern>
-
Syntax:
-
domains?nsLdhName=<nameserver search pattern>
-
Syntax:
-
domains?nsIp=<nameserver IP address>
Searches for domain information by name are specified using this form:
domains?name=XXXX
XXXX is a search pattern representing a domain name in "letters, digits, hyphen" (LDH) format [
RFC 5890]. The following URL would be used to find DNR information for domain names matching the "example*.com" pattern:
https://example.com/rdap/domains?name=example*.com
IDNs in U-label format [
RFC 5890] can also be used as search patterns (see
Section 4). Searches for these names are of the form /domains?name=XXXX, where XXXX is a search pattern representing a domain name in U-label format [
RFC 5890]. See
Section 6.1 for information on character encoding for the U-label format.
Searches for domain information by nameserver name are specified using this form:
domains?nsLdhName=YYYY
YYYY is a search pattern representing a host name in "letters, digits, hyphen" format [
RFC 5890]. The following URL would be used to search for domains delegated to nameservers matching the "ns1.example*.com" pattern:
https://example.com/rdap/domains?nsLdhName=ns1.example*.com
Searches for domain information by nameserver IP address are specified using this form:
domains?nsIp=ZZZZ
ZZZZ is an IPv4 [
RFC 1166] or IPv6 [
RFC 5952] address. The following URL would be used to search for domains that have been delegated to nameservers that resolve to the "192.0.2.0" address:
https://example.com/rdap/domains?nsIp=192.0.2.0
-
Syntax:
-
nameservers?name=<nameserver search pattern>
-
Syntax:
-
nameservers?ip=<nameserver IP address>
Searches for nameserver information by nameserver name are specified using this form:
nameservers?name=XXXX
XXXX is a search pattern representing a host name in "letters, digits, hyphen" format [
RFC 5890]. The following URL would be used to find information for nameserver names matching the "ns1.example*.com" pattern:
https://example.com/rdap/nameservers?name=ns1.example*.com
Internationalized nameserver names in U-label format [
RFC 5890] can also be used as search patterns (see
Section 4). Searches for these names are of the form /nameservers?name=XXXX, where XXXX is a search pattern representing a nameserver name in U-label format [
RFC 5890]. See
Section 6.1 for information on character encoding for the U-label format.
Searches for nameserver information by nameserver IP address are specified using this form:
nameservers?ip=YYYY
YYYY is an IPv4 [
RFC 1166] or IPv6 [
RFC 5952] address. The following URL would be used to search for nameserver names that resolve to the "192.0.2.0" address:
https://example.com/rdap/nameservers?ip=192.0.2.0
-
Syntax:
-
entities?fn=<entity name search pattern>
-
Syntax:
-
entities?handle=<entity handle search pattern>
Searches for entity information by name are specified using this form:
entities?fn=XXXX
XXXX is a search pattern representing the "fn" property of an entity (such as a contact, registrant, or registrar) name as described in
Section 5.1 of
RFC 9083. The following URL would be used to find information for entity names matching the "Bobby Joe*" pattern:
https://example.com/rdap/entities?fn=Bobby%20Joe*
Searches for entity information by handle are specified using this form:
entities?handle=XXXX
XXXX is a search pattern representing an entity (such as a contact, registrant, or registrar) identifier whose syntax is specific to the registration provider. The following URL would be used to find information for entity handles matching the "CID-40*" pattern:
https://example.com/rdap/entities?handle=CID-40*
URLs
MUST be properly encoded according to the rules of [
RFC 3986]. In the example above, "Bobby Joe*" is encoded to "Bobby%20Joe*".