Domain Lookup
/domain/{domain}
Registration data for a domain, over RDAP or, where a TLD has none, WHOIS.
Parameters
domainstringRequiredThe domain name to look up
followbooleanAlso fetch contacts from the registrar. Needed for
.comand.net(thin registries); elsewhere it only fills gaps. Slower when uncached.whoisbooleanSet
falseto refuse the WHOIS fallback, so a TLD with no RDAP server returns404 not_supported. See WHOIS fallback.
Status codes
- 200
Successful lookup
- 400
Invalid domain name format
- 404
No data for this domain. Only
not_foundmeans it may be free;not_registrable,domain_reservedandnot_supportednever do. See Errors.- 502
The registry failed to answer (
lookup_failed), or we did (bad_gateway). See Errors.- 503
Upstream RDAP server temporarily rate-limited
Plus the common errors.
Response fields (44)
domainstringgoogle.comQueried domain name (lowercase)
unicode_namestring | nullUnicode form as the registry sends it; some send the ASCII name
handlestring | null2138514_DOMAIN_COM-VRSNRegistry-assigned handle
statusstring[]["client delete prohibited","client transfer prohibited","server delete prohibited"]Always lowercase and space-separated — a registry sending
clientDeleteProhibitedarrives asclient delete prohibited. Values we do not recognise pass through unchanged. See Terminology → Status values.namestring | nullMarkMonitor Inc.iana_idstring | null292abuse_emailstring | null[email protected]abuse_phonestring | null+12086851750Voice telephone number in E.164, with a
;ext=42suffix when the registry supplies an extension.urlstring | nullhttp://www.markmonitor.com
registeredstring | null1997-09-15T04:00:00Zexpiresstring | null2028-09-14T04:00:00Zupdatedstring | null2019-09-09T15:39:04Z
nameserversstring[]["ns1.google.com","ns2.google.com","ns3.google.com","ns4.google.com"]List of nameserver hostnames
dnssecboolean | nullfalseWhether the delegation is signed.
nullwhere the registry publishes no DNSSEC status, as.tr,.ggand.ncdo not.Contact entities keyed by role (registrant, administrative, technical, billing, abuse). Keys depend on what the registry/registrar provides. See Terminology → Entity roles for what each role means.
One contact. Any field may be null or withheld.
handlestring | nullORG-ARAD1-APRegistry handle for this entity
namestring | nullorganizationstring | nullGoogle LLCemailstring | nullphonestring | nullVoice telephone number in E.164, with a
;ext=42suffix when the registry supplies an extension.addressstring | nullcontact_urlstring | nullhttps://domaincontact.registrar.cloudflare.com/example.comWhere a server withholds
emailand publishes a web form instead, this carries it.country_codestring | nullUSISO 3166-1 alpha-2 country code from the address. Unlike the text fields, a redaction placeholder here is dropped to
nullrather than passed through — it is not a country code.
administrativeContact may be absentOne contact. Any field may be null or withheld.
technicalContact may be absentOne contact. Any field may be null or withheld.
billingContact may be absentOne contact. Any field may be null or withheld.
abuseContact may be absentOne contact. Any field may be null or withheld.
Fields the server declared withheld, at the same path as in the record. See Redaction.
handlestringremovalmay be absentremoval,emptyValue,partialValueorreplacementValue; see Redaction.registrarobject may be absentClaims about the top-level
registrarobject. Domain lookups only.entitiesobject may be absentClaims keyed by contact role, then by field within that contact.
Where the answer came from, and how it was served.
serverstring | nullrdap.verisign.comHost that answered, as
/tldsreports it (usable as?server=). May be null on old cached records.sourcestringrdapWhich protocol answered. Always
rdapexcept on domain lookups, where a TLD with no RDAP server is answered over WHOIS.rdap_serverstringhttps://rdap.verisign.com/com/v1/may be absentBase URL of the RDAP server, present only when
sourceisrdap. Useserverfor the host that answered, orraw_rdap_urlfor the exact endpoint queried.raw_rdap_urlstringhttps://rdap.verisign.com/com/v1/domain/google.commay be absentDirect URL to the raw RDAP response. Absent when
sourceiswhois, which has no URL form, or when a stored snapshot answered.cachedbooleantruemay be absentWhether the response was served from cache. Omitted from the partial
metaof a failed bulk entry.cache_expiresstring2026-02-18T15:30:00Zmay be absentCache expiration time (ISO 8601). Omitted from the partial
metaof a failed bulk entry.followedboolean may be absentWhether the registrar's RDAP server was queried for richer data. Only present when
?follow=trueis used andsourceisrdap.registrar_rdap_serverstring | null may be absentURL of the registrar's RDAP record the registry linked to. Only present when
?follow=trueis used.follow_errorstring | null may be absentError message if the follow request failed. Only present when
?follow=trueis used and the request fails.
Request
curl https://rdapapi.io/api/v1/domain/google.com \
-H "Authorization: Bearer YOUR_API_KEY"import { RdapClient } from "rdapapi";
const client = new RdapClient("YOUR_API_KEY");
const result = await client.domain("google.com");from rdapapi import RdapApi
api = RdapApi("YOUR_API_KEY")
result = api.domain("google.com")Response
{
"domain": "google.com",
"unicode_name": null,
"handle": "2138514_DOMAIN_COM-VRSN",
"status": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited",
"server delete prohibited",
"server transfer prohibited",
"server update prohibited"
],
"registrar": {
"name": "MarkMonitor Inc.",
"iana_id": "292",
"abuse_email": "[email protected]",
"abuse_phone": "+12086851750",
"url": "http://www.markmonitor.com"
},
"dates": {
"registered": "1997-09-15T04:00:00Z",
"expires": "2028-09-14T04:00:00Z",
"updated": "2019-09-09T15:39:04Z"
},
"nameservers": [
"ns1.google.com",
"ns2.google.com",
"ns3.google.com",
"ns4.google.com"
],
"dnssec": false,
"entities": {},
"meta": {
"server": "rdap.verisign.com",
"source": "rdap",
"rdap_server": "https://rdap.verisign.com/com/v1/",
"raw_rdap_url": "https://rdap.verisign.com/com/v1/domain/google.com",
"cached": true,
"cache_expires": "2026-02-18T15:30:00Z"
}
}{
"domain": "google.com",
"unicode_name": null,
"handle": "2138514_DOMAIN_COM-VRSN",
"status": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited",
"server delete prohibited",
"server transfer prohibited",
"server update prohibited"
],
"registrar": {
"name": "MarkMonitor Inc.",
"iana_id": "292",
"abuse_email": "[email protected]",
"abuse_phone": "+12086851750",
"url": "http://www.markmonitor.com"
},
"dates": {
"registered": "1997-09-15T04:00:00Z",
"expires": "2028-09-14T04:00:00Z",
"updated": "2019-09-09T15:39:04Z"
},
"nameservers": [
"ns1.google.com",
"ns2.google.com",
"ns3.google.com",
"ns4.google.com"
],
"dnssec": false,
"entities": {
"registrant": {
"handle": null,
"name": "REDACTED REGISTRANT",
"organization": "REDACTED FOR PRIVACY",
"email": "redacted for privacy",
"phone": "REDACTED FOR PRIVACY",
"address": "REDACTED FOR PRIVACY\nREDACTED FOR PRIVACY\nCA\nREDACTED FOR PRIVACY",
"contact_url": "https://domains.markmonitor.com/whois/contact/google.com",
"country_code": "US"
},
"technical": {
"handle": null,
"name": null,
"organization": null,
"email": null,
"phone": null,
"address": null,
"contact_url": "https://domains.markmonitor.com/whois/contact/google.com",
"country_code": null
}
},
"meta": {
"server": "rdap.verisign.com",
"source": "rdap",
"rdap_server": "https://rdap.verisign.com/com/v1/",
"raw_rdap_url": "https://rdap.verisign.com/com/v1/domain/google.com",
"cached": false,
"cache_expires": "2026-02-18T15:30:00Z",
"followed": true,
"registrar_rdap_server": "https://rdap.markmonitor.com/rdap/domain/GOOGLE.COM"
}
}{
"domain": "google.it",
"unicode_name": null,
"handle": null,
"status": [
"active"
],
"registrar": {
"name": "MarkMonitor International Limited",
"iana_id": null,
"abuse_email": null,
"abuse_phone": null,
"url": "https://www.markmonitor.com/"
},
"dates": {
"registered": "1999-12-10T00:00:00Z",
"expires": "2027-04-21T00:00:00Z",
"updated": "2026-06-09T23:13:34Z"
},
"nameservers": [
"ns1.google.com",
"ns2.google.com"
],
"dnssec": false,
"entities": {
"registrant": {
"handle": null,
"name": null,
"organization": "Google Ireland Holdings Unlimited Company",
"email": null,
"phone": null,
"address": "70 Sir John Rogerson's Quay, Dublin, 2, Dublin, IE",
"contact_url": null,
"country_code": "IE"
}
},
"meta": {
"server": "whois.nic.it",
"source": "whois",
"cached": false,
"cache_expires": "2026-02-18T15:30:00Z"
}
}