Geliştiriciler İçin WHOIS REST API Dokümantasyonu
Stateless mimariyle çalışan, harici kimlik doğrulama gerektirmeyen, 30 dakikalık akıllı önbelleğe sahip ve uluslararası alan adlarını (IDN) destekleyen yüksek hızlı REST API.
curl -s https://clskn.net/api/whois/clskn.net
Stateless RESTful WHOIS Servisi
clskn.net WHOIS API; harici bir oturum, çerez veya karmaşık kimlik doğrulama gerektirmeyen tamamen stateless, yüksek hızlı ve geliştirici dostu bir REST servisidir. 30 dakikalık akıllı önbellek mimarisiyle gereksiz soket trafiğini önler, sorguları milisaniyeler içinde yanıtlar ve dünya çapındaki tüm genel (gTLD), ülke kodlu (ccTLD) ve Türkçe/uluslararası karakterli (IDN) alan adlarını eksiksiz kapsar.
API anahtarı veya oturum gerektirmeden doğrudan standart HTTP GET istekleriyle JSON yanıt verir.
Yetkili kayıt operatörlerini korumak için 30 dk önbellek uygulanır. İstenildiğinde refresh ile anında yenilenebilir.
gTLD, ccTLD (.tr, .de, .uk) ve Türkçe karakterli IDN alan adları otomatik Punycode çevrimiyle taranır.
API Uç Noktaları (Endpoints)
HTTP GETTüm istekler doğrudan HTTPS üzerinden ve standart HTTP GET metodu ile gerçekleştirilir.
https://clskn.net/api/whois/{domain}
Standart REST rota parametresi ile sorgu
https://clskn.net/api/v1/whois/{domain}
Sürümlendirilmiş v1 RESTful uç noktası
https://clskn.net/api/whois?domain={domain}
Query string parametresi ile esnek sorgu
İstek Parametreleri
| Parametre | Konum | Tip | Durum | Varsayılan | Açıklama |
|---|---|---|---|---|---|
| domain | Path veya Query | string | Zorunlu | - |
Sorgulanacak alan adı (örn: clskn.net, google.com, turkiye.gov.tr, çalışkan.net). Protokol (http/https) veya alt yol (path) girilirse sistem tarafından otomatik temizlenir. Türkçe ve uluslararası karakterli (IDN) alan adları otomatik olarak Punycode formatına çevrilir.
|
| refresh | Query | boolean / int | Opsiyonel | false (0) |
1 veya true gönderildiğinde 30 dakikalık yerel önbellek atlanır ve doğrudan yetkili tescil sunucusundan taze kayıt sorgusu gerçekleştirilir.
|
| debug | Query | boolean / int | Opsiyonel | false (0) |
Ham WHOIS/RDAP metnini (raw_text) yanıta dahil etmek için 1 veya true gönderilir. Varsayılan olarak yanıt boyutunu küçültmek ve performansı artırmak amacıyla ham metin yanıtta yer almaz.
|
Hız Sınırı (Rate Limit) & HTTP Başlıkları
Adil kullanım ve tescil sunucularının sürekliliği için API uç noktaları IP başına dakikada 60 istek ile sınırlandırılmıştır. Her yanıtta kota durumu HTTP başlıklarında iletilir:
X-RateLimit-Limit
İstemciye tanınan dakikalık tavan istek hakkı (60).
X-RateLimit-Remaining
Mevcut 1 dakikalık zaman penceresinde kalan istek hakkı.
Retry-After
Limit aşıldığında (429) yeni istek göndermeden önce beklenmesi gereken saniye.
Canlı İstek Örnekleri
curl -s https://clskn.net/api/whois/clskn.net
curl -s "https://clskn.net/api/whois/google.com?refresh=1"
fetch('https://clskn.net/api/whois/clskn.net', {
headers: {
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Hata:', error));
JSON Yanıt Şeması (Response Schema)
Başarılı isteklerde status, data (tescil, ad sunucuları, EPP durumları, DNSSEC vb.) ve meta (önbellek durumu ve sorgu süresi) döner. Ham WHOIS/RDAP metni ise sadece ?debug=1 gönderildiğinde raw_text alanında dahil edilir.
{
"status": "success",
"data": {
"is_registered": true,
"domain": "clskn.net",
"tld": "net",
"punycode": "clskn.net",
"registrar_name": "GoDaddy.com, LLC",
"registrar_url": "http://www.godaddy.com",
"registrar_iana_id": "146",
"creation_date": "2021-03-15T12:00:00Z",
"expiration_date": "2027-03-15T12:00:00Z",
"updated_date": "2024-03-10T10:30:00Z",
"days_until_expiry": 372,
"nameservers": [
"ns1.digitalocean.com",
"ns2.digitalocean.com",
"ns3.digitalocean.com"
],
"status_codes": [
"clientTransferProhibited",
"clientUpdateProhibited"
],
"dnssec": false,
"contacts": {
"registrant": {
"organization": "Domains By Proxy, LLC",
"country": "US"
}
},
"raw_text": "Domain Name: CLSKN.NET\nRegistry Domain ID: 2600293021_DOMAIN_NET-VRSN...",
"source": "rdap",
"query_time_ms": 24.15
},
"meta": {
"cached": true,
"query_time_ms": 24.15
}
}
HTTP Durum Kodları (Status Codes)
| HTTP Durum Kodu | Açıklama & Senaryo |
|---|---|
200 OK
Başarılı
|
Alan adı tescil ve ad sunucusu kayıtları başarıyla çözümlendi ve data nesnesinde döndürüldü.
|
422 Unprocessable
Doğrulama
|
Alan adı parametresi eksik girildiğinde veya geçersiz karakter/sözdizimi içerdiğinde döndürülür. |
429 Too Many Req.
Hız Limiti
|
Dakikalık istek sınırı (60 req/dk) aşıldığında veya yetkili tescil sunucusu rate limit uyguladığında döner. |
504 Timeout
Zaman Aşımı
|
Yetkili WHOIS Port 43 soket sunucusuna erişilemediğinde veya soket bağlantısı zaman aşımına uğradığında döner. |