API Documentation
API documentation for programmatic WHOIS and RDAP domain lookups: query registration data, parse domain input and browse recent domains.
Domain Lookup
Request URL
GET https://whois.litelake.com/api/public/whois?domain={domain}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | Yes | Domain name to look up (e.g., example.com) |
| force_refresh | boolean | No | Force refresh cached data |
Response Example
{
"code": 200,
"message": "Query successful",
"data": {
"domain": "example.com",
"tld": "com",
"registrar": "Example Registrar, Inc.",
"registry_domain_id": "123456789_DOMAIN_COM-VRSN",
"created_date": "1995-08-14T04:00:00Z",
"updated_date": "2023-08-14T04:00:00Z",
"expiry_date": "2024-08-13T04:00:00Z",
"status": ["clientTransferProhibited"],
"name_servers": ["ns1.example.com", "ns2.example.com"],
"query_count": 150,
"last_queried_at": "2024-03-05T12:34:56Z"
}
}Error Response
400 Bad Request
{
"code": 400,
"message": "Missing domain parameter"
}Non-registrable input (subdomain, URL) returns 400 with a suggested_domain correction hint:
{
"code": 400,
"message": "invalid registrable domain: www.example.com, did you mean: example.com?",
"data": {
"input": "www.example.com",
"suggested_domain": "example.com"
}
}404 Not Found
{
"code": 404,
"message": "Domain not found"
}429 Too Many Requests
{
"code": 429,
"message": "Rate limit exceeded, please try again later"
}500 Internal Server Error
{
"code": 500,
"message": "Query failed, please try again later"
}Domain Input Parse
Normalize any form of domain input (URL, subdomain, IDN, mixed case) to its registrable domain. Subdomain inputs return 200 with is_registrable: false; only IP addresses, bare public suffixes and unparseable input return 400.
Request URL
GET https://whois.litelake.com/api/public/domain/parse?input={input}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | Raw domain input in any form (URL, subdomain, IDN, mixed case). Returns the normalized registrable domain. |
Response Example
{
"code": 200,
"message": "Parse successful",
"data": {
"input": "https://www.example.com/path?q=1",
"domain": "example.com",
"is_registrable": false
}
}Error Response
400 Bad Request
{
"code": 400,
"message": "IP query is not supported: 1.2.3.4",
"data": {
"input": "1.2.3.4"
}
}