Look up domain registration
/whois/v1/domains/{domain}Retrieve authoritative registration data for a normalized domain. Registered and conclusively unregistered domains both return a successful response. Optional registry fields may be omitted. Inspect quality.warnings for missing or redacted data.
Parameters
| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
domain | path | string | Yes | Domain name in Unicode or Punycode; no URL scheme or path |
Success response200
{
"code": 0,
"data": {
"domain": {
"input": "example.com",
"queried": "example.com",
"unicode": "example.com"
},
"quality": {
"completeness": "partial",
"support_level": "standard",
"warnings": [
"CONTACT_REDACTED"
]
},
"record": {
"contacts": [
{
"address": {
"country": "US",
"locality": "Example City",
"postal_code": "12345",
"region": "Example Region",
"street": [
"123 Example Street"
]
},
"emails": [
"[email protected]"
],
"handle": "contact-example",
"name": "Example Contact",
"organization": "Example Organization",
"phones": [
"+1.2025550100"
],
"roles": [
"registrant"
]
}
],
"dates": {
"expires_at": "2027-01-01T00:00:00Z",
"registered_at": "2020-01-01T00:00:00Z",
"updated_at": "2026-10-20T00:00:00Z"
},
"handle": "EXAMPLE-123",
"nameservers": [
{
"ldh_name": "ns1.example.test",
"unicode_name": "ns1.example.test"
}
],
"notices": [
{
"description": [
"Example registry terms apply."
],
"links": [
"https://registry.example.test/terms"
],
"title": "Terms of use"
}
],
"redactions": [
{
"field": "contacts.emails",
"reason": "Contact details withheld by registry policy"
}
],
"registrar": {
"handle": "registrar-example",
"iana_id": "9999",
"name": "Example Registrar"
},
"secure_dns": {
"delegation_signed": true
},
"statuses": [
"active"
]
},
"registration": {
"registered": true
},
"source": {
"cache_expires_at": "2026-10-21T08:00:00Z",
"cache_hit": false,
"fetched_at": "2026-10-20T08:00:00Z",
"parser_version": "rdap-v1",
"protocol": "rdap",
"server": "https://rdap.example.test",
"source_version": "2026-10-20"
}
},
"error": ""
}Illustrative JSON shape generated from the published schema. Field values are examples, not live results.
Fields inside data
| Name | Type | Required | Description |
|---|---|---|---|
domain | object | No | Input and normalized domain names. |
domain.input | string | No | Original input domain. |
domain.queried | string | No | Normalized registrable domain sent to the authoritative service. |
domain.unicode | string | No | Unicode form of the queried domain. |
quality | object | No | Record completeness and stable warning codes. |
quality.completeness | string | No | Completeness of the publicly available registration record. Values: ["complete","partial","minimal"] |
quality.support_level | string | No | Support tier used for this successful lookup. Values: ["standard","verified"] |
quality.warnings | string[] | No | Stable warning codes for unavailable or redacted information. |
record | object | No | Public registration details. Individual fields may be omitted. |
record.contacts | object[] | No | Public contact records. Private or unavailable fields are omitted. |
record.contacts[].address | object | No | Public postal address; omitted when unavailable. |
record.contacts[].address.country | string | No | Published country code; omitted when unavailable. |
record.contacts[].address.locality | string | No | City or locality; omitted when unavailable. |
record.contacts[].address.postal_code | string | No | Postal code; omitted when unavailable. |
record.contacts[].address.region | string | No | State or region; omitted when unavailable. |
record.contacts[].address.street | string[] | No | Published street address lines. |
record.contacts[].emails | string[] | No | Public email addresses. An empty array can indicate redaction. |
record.contacts[].handle | string | No | Contact handle; omitted when unavailable. |
record.contacts[].name | string | No | Public contact name; omitted when unavailable or redacted. |
record.contacts[].organization | string | No | Public organization name; omitted when unavailable. |
record.contacts[].phones | string[] | No | Public phone numbers. May be empty. |
record.contacts[].roles | string[] | No | Roles assigned to this public contact. |
record.dates | object | No | Published lifecycle dates; omitted when unavailable. |
record.dates.expires_at | string | No | Expiration timestamp when published. |
record.dates.registered_at | string | No | Registration timestamp when published. |
record.dates.updated_at | string | No | Last update timestamp when published. |
record.handle | string | No | Registry handle; omitted when not published. |
record.nameservers | object[] | No | Published authoritative nameservers. May be empty. |
record.nameservers[].ldh_name | string | No | ASCII nameserver hostname. |
record.nameservers[].unicode_name | string | No | Unicode nameserver hostname; omitted when unavailable. |
record.notices | object[] | No | Registry notices and remarks. |
record.notices[].description | string[] | No | Notice text from the authoritative service. |
record.notices[].links | string[] | No | Links accompanying the notice. |
record.notices[].title | string | No | Published notice title. |
record.redactions | object[] | No | Redaction notices provided by the authoritative service. |
record.redactions[].field | string | No | Affected response field when identified. |
record.redactions[].reason | string | No | Published reason for redacting registration data. |
record.registrar | object | No | Registrar details; omitted when not published. |
record.registrar.handle | string | No | Registrar handle; omitted when unavailable. |
record.registrar.iana_id | string | No | IANA registrar identifier; omitted when unavailable. |
record.registrar.name | string | No | Published registrar name. |
record.secure_dns | object | No | DNSSEC information; omitted when not published. |
record.secure_dns.delegation_signed | boolean | No | Whether the registry reports a signed DNS delegation. |
record.statuses | string[] | No | Published domain statuses. An empty array means none were published. |
registration | object | No | Authoritative registration conclusion. |
registration.registered | boolean | No | Whether the authoritative service confirms the domain is registered. |
source | object | No | Authoritative source and cache freshness. |
source.cache_expires_at | string | No | UTC timestamp when this cached result expires. |
source.cache_hit | boolean | No | Whether this response was served from cache. |
source.fetched_at | string | No | UTC timestamp when the source was fetched. |
source.parser_version | string | No | Normalization parser version. |
source.protocol | string | No | Protocol used to retrieve registration data. Values: ["rdap","whois"] |
source.server | string | No | Public authoritative server used for the lookup. |
source.source_version | string | No | Published source configuration version. |