FreeDomain Market API
Get market sales lengths
GET/market/sales/lengthsNo key
Sales by label length for .com, .ai, .io and .co.
Per ending, the label lengths with at least three usable sales in 12 months, ascending: counts, medians (from ten sales) and the trend word of the median.
AccessNo key. Limited per address; a key adds the paid fields.
BillingOne call.
FormatsJSON
Request
fieldsstringOptionalQueryComma-separated top-level keys to keep; an unknown key answers 400 unsupported_field.
curl -X GET "https://api.unique.domains/v1/market/sales/lengths"
const response = await fetch("https://api.unique.domains/v1/market/sales/lengths", {
method: "GET",
});
const data = await response.json();
console.log(data);import requests
response = requests.get(
"https://api.unique.domains/v1/market/sales/lengths",
)
print(response.json())req, err := http.NewRequest("GET", "https://api.unique.domains/v1/market/sales/lengths", nil)
if err != nil {
panic(err)
}
res, err := http.DefaultClient.Do(req)$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.unique.domains/v1/market/sales/lengths",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($ch);uri = URI("https://api.unique.domains/v1/market/sales/lengths")
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }Response
comobject[]aiobject[]ioobject[]coobject[]Errors
{
"data": {
"com": [
{
"length": 4,
"count12m": 2140,
"median12mUsd": 2900,
"prevMedian12mUsd": 2700,
"trendWord": "flat",
"count30d": 171,
"median30dUsd": 3000
}
],
"ai": [],
"io": [],
"co": []
},
"meta": {
"asOf": "2026-11-05T08:00:00Z",
"cursor": null,
"limit": null
},
"links": {
"self": "https://api.unique.domains/v1/market/sales/lengths",
"next": null,
"register": null,
"product": null,
"dataset": null
}
}