“expired domain api” diye arıyorsan önce şunu bil: süresi dolan ya da boşa düşen bütün domainleri tek seferde veren resmi bir API yok. Bunun yerine makineyle okunabilen üç tür kaynak var: kayıt kurumu (registry) verisi, açık artırma ve backorder platformlarının yayımladığı listeler, bir de eleme işini önceden yapıp kısa bir listeyi JSON olarak veren süzülmüş API’ler. Hangisi işine yarar? Ham isimleri kendin mi işleyeceksin, yoksa bakmaya değer adayları mı istiyorsun, buna bağlı. Bu yazı her kaynağın ne döndürdüğünü, neyi eksik bıraktığını ve bir betikte nasıl birleştiklerini anlatıyor.
Neden tek bir expired domain API yok
Süresi dolan domainler tek bir veritabanında durmaz. Süresi yeni bitmiş bir domain hâlâ kayıt firmasındadır (registrar). Birçok kayıt firması domaini yenileme süresi içinde kendi platformunda açık artırmaya çıkarır. Orada alıcı bulamayan domain kurtarma döneminden ve silinme bekleme aşamasından (PendingDelete) geçer, sonra boşa düşer. Yani bir “düşen domain listesi” her zaman birkaç yerden toplanarak oluşur.
| Kaynak | Ne verir | Ne eksik |
|---|---|---|
| RDAP | Tek bir domainin durumu, tarihleri ve kayıt firması | Liste vermez, ismi senin bilmen gerekir |
| Zone dosyaları (CZDS) | Bir uzantıdaki bütün aktif isimler | Durum yok, tarih yok, metrik yok |
| Pazar yeri listeleri | Artırmadaki ya da backorder’daki isimler, fiyat ve bitiş saati | Yalnızca o platformun envanteri, eleme yok |
| Süzülmüş API | Metrik, geçmiş ve risk işaretleriyle kısa bir liste | Yalnızca sağlayıcının filtresinden geçenler |
RDAP: kayıt kurumunun tek domain için verdiği cevap
RDAP, WHOIS’in yerini alan protokoldür. Pratikte ücretsiz ve resmi bir RDAP API gibi çalışır: tek bir domain için HTTPS isteği atarsın, cevap JSON olarak gelir. İçinde durum, kayıt, bitiş ve son değişiklik tarihleri, kayıt firması ve ad sunucuları bulunur. IANA, her uzantıyı sunucusunun adresiyle eşleyen bir bootstrap dosyası yayımlar. Betiğin doğru sunucuyu oradan bulur.
Üzerine bir şey kurmadan önce üç şeyi bil:
- İsim sorar, liste vermez. RDAP’e “bugün silinme bekleme aşamasındaki her şeyi ver” diyemezsin.
- 404, sunucuda o isme ait kayıt olmadığı anlamına gelir. Takip ettiğin bir domain için bu çoğunlukla silindiğini gösterir. Boşta saymadan önce bir kayıt firmasında doğrula.
- Sunucular sorgu hızını sınırlar. Sınırı aşarsan HTTP 429 cevabı alırsın. Betiği yavaş çalıştır.
İstemciyi kendin yazmak istemiyorsan bu sitedeki toplu domain sorgulama ve domain düşme tarihi hesaplama araçları aynı kaydı okur. Cevaptaki her durumun ne anlama geldiğini whois durum kodları yazısında bulursun.
Zone dosyaları: silinen domain listesinin ham maddesi
ICANN’in Centralized Zone Data Service (CZDS) adlı hizmeti, ICANN’in tanımıyla, ilgilenen herkesin katılan jenerik uzantıların zone dosyalarına erişim isteyebildiği bir portaldır. Zone dosyası, bir uzantıda ad sunucusu tanımlı olan, yani çalışan isimlerin listesidir.
İki farklı günün dosyasını karşılaştırırsan zone’dan çıkan isimleri bulursun. Ama bu farkın ne anlama geldiğini doğru oku. Bir domain silindiğinde değil, kurtarma dönemine girdiğinde zone’dan çıkar. Askıya alındığı ya da ad sunucuları kaldırıldığı için de çıkabilir. Yani zone farkı bir aday listesidir. Her adayın durumunu yine RDAP ile doğrulaman gerekir.
Zone dosyasında tarih, fiyat ya da kalite hakkında hiçbir şey yoktur. Hangi uzantıların katıldığını ve kullanım koşullarını portalın kendisinden kontrol et.
Pazar yeri listeleri ve kazıma neden iyi bir yol değil
Birçok domain herkese açık boşa düşmeye hiç ulaşmaz, çünkü önce kayıt firmasının artırmasında satılır. Bu envanter platformlarda durur ve her platform onu nasıl yayımlayacağına kendi karar verir: indirilebilir bir liste, bir dışa aktarım, hesap sahiplerine açık bir API ya da hiçbiri. Kimin ne sattığını domain açık artırma siteleri yazısında anlattık.
Bir şeyi otomatikleştirmeden önce platformun kullanım koşullarını oku. Sonuç sayfalarını tek tek dolaşan bir kazıma (scraping) betiği, sayfa tasarımı değiştiği gün bozulur. Sitenin koşullarına aykırı da olabilir ve teklif verdiğin hesabı kaybetmene yol açabilir. Platform bir liste yayımlıyorsa listeyi kullan. Yayımlamıyorsa düşen domainleri takip edebileceğin günlük listeler kazımadan daha güvenli bir başlangıçtır.
Süzülmüş bir API: hunter.domains ne döndürür
hunter.domains API’si işin öbür ucunda durur: her şeyi değil, filtreden geçenleri döndürür. Servis her gün GoDaddy Auctions, DropCatch, SnapNames, Sedo, Dynadot, Park.io ve .se/.nu kayıt kurumunun tam listelerini, yani günde yaklaşık iki milyon kaydı tarar. Otoritesi zayıf olanları, link ağı izi taşıyanları, kara listeye girmiş olanları ve Wayback Machine’de spam geçmişi görünenleri eler. Ayrıntısı taramanın ve puanlamanın nasıl çalıştığını anlatan sayfada.
REST API, sitedeki listelerin ve raporların aynısını JSON olarak verir: durum, 0–100 arası Hunter puanı ve karar, risk işaretleri, DR, yönlendiren domain (referring domain) sayısı, Trust Flow ve Citation Flow, kaynak pazar yeri, fiyat ve bitiş zamanı. Anahtarı hesap sayfasından oluşturursun. API planın bir parçasıdır, ayrı bir API ücreti yoktur.
Ücretsiz hesabın anahtarı günün açık domainlerini, biten domainlerin arşivini ve sorgu araçlarını görür. Pro plan tam listeyi açar. Buna, boşa düşüp kimsenin kaydetmediği domainlerin listesi de dahildir. Uç noktalar ve parametreler sitedeki API dokümantasyonunda yazıyor.
MCP ve webhook
MCP. MCP sunucusu Claude, ChatGPT ve Cursor gibi yapay zekâ asistanlarının listede arama yapmasını, raporları okumasını ve sorguları çalıştırmasını sağlar. Sorgu yazmak yerine düz cümleyle sorarsın. Örneğin DR değeri belli bir eşiğin üstünde olan ve risk işareti taşımayan .com domainleri istersin.
Webhook. Pro planda imzalı webhook’lar, bir alarm kuralına uyan her yeni domaini senin belirlediğin adrese gönderir. Böylece expired domain alarmı okuduğun bir e-posta olmaktan çıkar, kodunun işlediği bir olaya dönüşür. Gelen veriye güvenmeden önce imzayı doğrula.
Uygulamada bir akış
Kaynak ne olursa olsun sıra aynıdır: ucuz kontroller önce gelir, pahalı olanlar az sayıda isim üzerinde çalışır.
- Adaylar. İsimleri bir zone farkından, bir pazar yeri listesinden ya da süzülmüş bir API’den al.
- Kayıt durumu. Her isim için RDAP sorgusu at. Yeniden aktif olanları at, kalanların hangi aşamada olduğunu not et.
- Metrikler. Abone olduğun sağlayıcıdan link verisini ekle. Yüksek bir DR, konu ya da spam hakkında hiçbir şey söylemez.
- Geçmiş. Arşivi yalnızca son kayıttan değil, birkaç farklı yıldan oku. Otomatikleştirmesi en zor adım budur.
- Karar. Kısa listeyi bir insana bırak. Betik alanı daraltmalı, teklif vermemeli.
Diyelim zone farkı sana birkaç bin isim verdi. İkinci adım yenilenmiş olanları ve yalnızca ad sunucusunu kaybetmiş olanları çıkarır. Üçüncü adım işe yarar linki olmayanları eler. Kalanların çoğu dördüncü adımda takılır. Süzülmüş bir API sana ilk dört adımın sonucunu verir. Karşılığında eşikler üzerindeki kontrolün azalır.
Hiçbir API’nin vermediği şeyler
- Google’ın elle işlemleri. Bunları yalnızca Search Console’da doğrulanmış site sahibi görür. Bizimki dahil hiçbir API satın almadan önce bunu gösteremez.
- Marka araştırması. Bir risk işareti bariz bir marka adını haber verebilir ama marka araştırmasının yerini tutmaz.
- Eksiksiz bir arşiv okuması. Wayback Machine kayıtları örneklemdir. Kısa bir spam dönemi iki kayıt arasına düşebilir.
Tek bir domaine ciddi bakıyorsan domain sorgulama aracı tam raporu istediğin an çıkarır.
Sık sorulan sorular
Ücretsiz bir expired domain API var mı?
Kısmen. RDAP ücretsiz ve resmidir ama tek tek domain sorar, liste vermez. Zone dosyaları ICANN’in CZDS hizmetinden istenebilir ama ham isimlerden ibarettir. hunter.domains ücretsiz planda API erişimi verir: anahtar günün açık domainlerini, arşivi ve sorgu araçlarını görür.
.com.tr domainler API ile sorgulanabilir mi?
RDAP ile hayır. Bu yazı yazılırken .tr uzantısının RDAP sunucusu yok, bu yüzden bu sitedeki araçlar da .com.tr domainleri sorgulayamaz. TRABİS yeniden tahsise açılan isimlerin listesini yayımlar, ayrıntısı .com.tr domain ne zaman düşer yazısında. Güncel kuralları trabis.gov.tr üzerinden doğrula.
Expired domain listesini kazımak serbest mi?
Bu, sitenin kullanım koşullarına bağlıdır, önce onları oku. Kazıma betiği ayrıca sayfa her değiştiğinde bozulur. Resmi bir liste, dışa aktarım ya da API varsa onu kullan.
Yapay zekâ asistanı expired domain arayabilir mi?
Evet, MCP sunucusu üzerinden. MCP destekleyen bir asistanı, aramasını ve sorgularını araç olarak sunan bir servise bağlarsın, sonra düz cümleyle sorarsın. Satın alma kararı yine sende kalır.