PaidDomain Check API
Get name registry history
GET/names/{name}/registry/historyMember key
The stored registry record versions of one name and what moved between them.
Versions and registrar moves oldest first, the distinct transfers the records name, and the lock removals of the last 90 days. A name the catalog never stored answers empty lists.
AccessA member key (Founder or Investor) or a paid RapidAPI subscription to this API.
BillingOne call.
PlanInvestor plan. A Founder key answers 403
plan_required.FormatsJSON
Keep a key on a server: a page a visitor loads shows it to everyone.
Connect on RapidAPIAlso inWHOIS Lookup API
Request
namestringRequiredPathA full domain name on an ending the catalog holds, lowercased, IDN as punycode. A bare word, a subdomain, an e-mail address or an unknown ending answers 400 validation_failed with reason and suggestion.
fieldsstringOptionalQueryComma-separated top-level keys to keep; an unknown key answers 400 unsupported_field.
curl -X GET "https://api.unique.domains/v1/names/get.plumbing/registry/history" \ -H "Authorization: Bearer YOUR_MEMBER_KEY"
const response = await fetch("https://api.unique.domains/v1/names/get.plumbing/registry/history", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_MEMBER_KEY",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.get(
"https://api.unique.domains/v1/names/get.plumbing/registry/history",
headers={
"Authorization": "Bearer YOUR_MEMBER_KEY",
},
)
print(response.json())req, err := http.NewRequest("GET", "https://api.unique.domains/v1/names/get.plumbing/registry/history", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_MEMBER_KEY")
res, err := http.DefaultClient.Do(req)$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.unique.domains/v1/names/get.plumbing/registry/history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_MEMBER_KEY",
],
]);
$response = curl_exec($ch);uri = URI("https://api.unique.domains/v1/names/get.plumbing/registry/history")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer YOUR_MEMBER_KEY"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }Response
versionsobject[]movesobject[]transfersobject[]lockChangesobject[]Errors
{
"data": {
"versions": [
{
"observedAt": "2025-06-02T04:10:00.000Z",
"registrar": "Gandi SAS",
"registered": true
},
{
"observedAt": "2026-08-12T05:02:00.000Z",
"registrar": "GoDaddy.com, LLC",
"registered": true
}
],
"moves": [
{
"at": "2026-08-12T05:02:00.000Z",
"from": "Gandi SAS",
"to": "GoDaddy.com, LLC"
}
],
"transfers": [
{
"at": "2026-08-12T00:00:00.000Z",
"from": "Gandi SAS",
"to": "GoDaddy.com, LLC"
}
],
"lockChanges": [
{
"at": "2026-08-10T03:00:00.000Z",
"kind": "lock_removed"
}
]
},
"meta": {
"asOf": "2026-11-05T08:00:00Z",
"cursor": null,
"limit": null
},
"links": {
"self": "https://api.unique.domains/v1/names/get.plumbing/registry/history",
"next": null,
"register": null,
"product": null,
"dataset": null
}
}