Skip to main content

Domain Availability

POST /domains/lookup

Checks domain availability. Availability is returned in the isAvailable boolean field.

Authentication

Send the username and token headers described in Authentication.

Request Parameters

  • searchTerm: second-level domain search term, for example example
  • tldsToInclude[]: TLD to include, for example test.ly
  • premiumEnabled: premium lookup flag, for example 0

Complete Request

curl --request POST \
--url "https://my.register.ly/modules/addons/DomainsReseller/api/index.php/domains/lookup" \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "username: [email protected]" \
--header "token: <generated-token>" \
--data-urlencode "searchTerm=example" \
--data-urlencode "tldsToInclude[]=test.ly" \
--data-urlencode "premiumEnabled=0"

VALIDATION REQUIRED: Canonical TLD notation accepted by tldsToInclude[] (for example ly, .ly, test.ly, or .test.ly).

The lookup example uses test.ly without a leading dot, while GET /tlds returns .test.ly. Do not transform one form into another until the accepted mapping is confirmed.

Available Response (200)

[
{
"domainName": "example404.test.ly",
"idnDomainName": "example404.test.ly",
"tld": "test.ly",
"tldNoDots": "testly",
"sld": "example404",
"idnSld": "example404",
"status": "available for registration",
"legacyStatus": "available",
"score": 1,
"isRegistered": false,
"isAvailable": true,
"isValidDomain": true,
"domainErrorMessage": "",
"pricing": {
"1": {
"register": {},
"transfer": {},
"renew": {}
}
},
"shortestPeriod": {
"period": 1,
"register": {},
"transfer": {},
"renew": {}
},
"group": "",
"minLength": 0,
"maxLength": 0,
"isPremium": false,
"premiumCostPricing": []
}
]

Not Available Response (200)

[
{
"domainName": "example.test.ly",
"idnDomainName": "example.test.ly",
"tld": "test.ly",
"tldNoDots": "testly",
"sld": "example",
"idnSld": "example",
"status": "reserved",
"legacyStatus": "unavailable",
"score": 1,
"isRegistered": false,
"isAvailable": false,
"isValidDomain": true,
"domainErrorMessage": "",
"pricing": {
"1": {
"register": {},
"transfer": {},
"renew": {}
}
},
"shortestPeriod": {
"period": 1,
"register": {},
"transfer": {},
"renew": {}
},
"group": "",
"minLength": 0,
"maxLength": 0,
"isPremium": false,
"premiumCostPricing": []
}
]

Notes

  • Use isAvailable for the documented availability decision; do not infer availability from status text alone.
  • The published examples contain empty pricing, register, transfer, and renew objects. Empty values do not prove that pricing is unsupported.
  • This lookup is read-only according to its purpose, but rate limits and error responses are not documented.

VALIDATION REQUIRED: Exact behavior and business meaning of premiumEnabled.

VALIDATION REQUIRED: Whether pricing fields are populated, account-specific, currency-defined, and safe to use for billing.

VALIDATION REQUIRED: Meaning and reliability of premiumCostPricing, shortestPeriod, minLength, and maxLength.