Langsung ke konten
Tutorial

WHOIS API: pencarian domain terstruktur melalui RDAP dalam satu POST

| 6 min read

Dapatkan registrar, tanggal kedaluwarsa, server nama, dan kode status untuk domain apa pun dengan satu panggilan API. JSON terstruktur dari RDAP; tidak ada penguraian teks.

Terminal window showing domain lookup results
Photo by Sai Kiran Anagani on Unsplash

Anda sedang membangun alat pemantauan domain. Anda memerlukan registrar, tanggal kedaluwarsa, dan server nama untuk setiap domain di portofolio Anda. Protokol WHOIS lama memberi Anda teks tidak terstruktur. Setiap registrar memformatnya secara berbeda. Mengurainya berarti menulis regex rapuh yang rusak ketika a registrar mengubah format outputnya.

RDAP (Protokol Akses Data Registrasi) menyelesaikan masalah ini dengan mengembalikan JSON terstruktur. Tapi setiap TLD memiliki server RDAP yang berbeda, dan Anda harus menanyakan registri bootstrap IANA untuk menemukannya. Lalu Anda masih perlu menormalkan respons karena penerapan RDAP berbeda-beda di seluruh registri.

Botoi itu /v1/whois titik akhir menangani semua ini. Satu permintaan POST, satu JSON tanggapan, setiap TLD.

Titik akhir

curl -X POST https://api.botoi.com/v1/whois \\
  -H "Content-Type: application/json" \\
  -d '{ "domain": "stripe.com" }'

Tanggapan:

{
  "success": true,
  "data": {
    "domain": "stripe.com",
    "registrar": "SafeNames Ltd.",
    "status": [
      "client delete prohibited",
      "client transfer prohibited",
      "client update prohibited",
      "server delete prohibited",
      "server transfer prohibited",
      "server update prohibited"
    ],
    "created": "1995-09-12T04:00:00Z",
    "updated": "2024-06-18T10:22:31Z",
    "expires": "2032-09-11T04:00:00Z",
    "nameservers": [
      "ns-cloud-d1.googledomains.com",
      "ns-cloud-d2.googledomains.com",
      "ns-cloud-d3.googledomains.com",
      "ns-cloud-d4.googledomains.com"
    ]
  }
}

Enam bidang mencakup 90% dari apa yang Anda perlukan dari WHOIS: nama registrar, kode status domain, tanggal pembuatan, pembaruan terakhir, tanggal kedaluwarsa, dan server nama. Semua tanggal adalah ISO 8601. Semua server nama menggunakan huruf kecil. Tidak perlu penguraian.

Teks WHOIS mentah vs. respons API terstruktur

Inilah yang dikembalikan oleh protokol WHOIS mentah untuk domain yang sama. Ini adalah teks yang Anda dapatkan sebuah whois stripe.com memerintah:

Domain Name: STRIPE.COM
Registry Domain ID: 609783_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.safenames.net
Registrar URL: http://www.safenames.net
Updated Date: 2024-06-18T10:22:31Z
Creation Date: 1995-09-12T04:00:00Z
Registry Expiry Date: 2032-09-11T04:00:00Z
Registrar: SafeNames Ltd.
Registrar IANA ID: 447
Registrar Abuse Contact Email: abuse@safenames.net
Registrar Abuse Contact Phone: +44.1onal234567
Domain Status: clientDeleteProhibited
Domain Status: clientTransferProhibited
Domain Status: clientUpdateProhibited
Domain Status: serverDeleteProhibited
Domain Status: serverTransferProhibited
Domain Status: serverUpdateProhibited
Name Server: NS-CLOUD-D1.GOOGLEDOMAINS.COM
Name Server: NS-CLOUD-D2.GOOGLEDOMAINS.COM
Name Server: NS-CLOUD-D3.GOOGLEDOMAINS.COM
Name Server: NS-CLOUD-D4.GOOGLEDOMAINS.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form:
   https://www.icann.org/wicf/
>>> Last update of whois database: 2026-03-29T10:00:00Z <<<

Itu adalah dinding teks tanpa format standar. Nama bidang, spasi, dan urutan berubah antar pendaftar. Format Verisign memiliki tanggal satu arah. Nominet memformatnya dengan cara lain. Beberapa pendaftar mencantumkan nama dan alamat pendaftar. Yang lain menyunting semuanya berdasarkan GDPR perisai privasi.

Respons API memberi Anda data yang sama dalam struktur yang dapat diprediksi. Anda mengakses data.expires alih-alih menulis regex untuk "Tanggal Kedaluwarsa Registri:". Anda mengulangi data.nameservers alih-alih memindai baris yang dimulai dengan "Server Nama:".

Bangun monitor kedaluwarsa domain

Kehilangan domain karena seseorang lupa memperbaruinya adalah hal yang mahal dan memalukan. Node.js ini skrip memeriksa daftar domain dan menandai domain mana pun yang kedaluwarsa dalam 30 hari. Jalankan setiap hari dengan a pekerjaan cron atau alur kerja terjadwal Tindakan GitHub.

Skrip mengulangi daftar domain Anda, memeriksa masing-masing domain, dan mengumpulkan domain yang kedaluwarsa dalam waktu 30 hari. Itu sendAlert posting fungsi ke Slack. Tukar dengan PagerDuty, email, atau titik akhir webhook apa pun.

Anda dapat memperluasnya dengan beberapa cara: menyimpan hasil dalam database untuk melacak tren kedaluwarsa, menambahkan a Ambang batas 60 hari dan 90 hari untuk peringatan berjenjang, atau referensi silang server nama untuk dideteksi perubahan DNS yang tidak sah.

Memahami kode status domain

Itu status array dalam respons memberi tahu Anda operasi apa yang dilakukan registri dan registrar mengizinkan pada domain. Berikut referensi untuk kode yang paling umum:

Domain dengan "transfer server dilarang" dan "dilarang menghapus server" memiliki tingkat registri kunci. Ini lebih kuat daripada kunci tingkat klien karena hanya operator registri yang dapat menghapusnya mereka. Domain bernilai tinggi seperti stripe.com Dan google.com memiliki keduanya lapisan.

Jika Anda melihat "penghapusan tertunda" atau "masa penukaran" di status domain, bertindak cepat. Domainnya adalah baik akan dirilis atau dapat dikembalikan dengan biaya tertentu melalui registrar.

Kapan menggunakan titik akhir ini

  • Pemantauan portofolio domain. Lacak tanggal kedaluwarsa di ratusan domain. Beri tahu tim Anda sebelum domain apa pun habis.
  • Investigasi phishing. Periksa kapan domain mencurigakan didaftarkan. Domain phishing sering kali dibuat beberapa jam atau hari sebelum serangan.
  • Kualifikasi memimpin. Sebuah domain yang dibuat pada tahun 2003 menunjukkan sebuah domain yang sudah mapan perusahaan. Sebuah domain yang didaftarkan minggu lalu menceritakan kisah yang berbeda.
  • Deteksi perubahan DNS. Bandingkan server nama saat ini dengan data dasar yang diketahui. Perubahan server nama yang tidak Anda otorisasi dapat berarti pembajakan domain.
  • Kepatuhan dan uji tuntas. Verifikasi detail kepemilikan domain selama vendor orientasi atau uji tuntas M&A. Pendaftar dan kode status mengungkapkan domain tersebut postur keamanan.

Poin-poin penting

  • POST /v1/whois mengembalikan registrar, tanggal, kode status, dan server nama di JSON yang dinormalisasi.
  • Titik akhir menanyakan server RDAP, bukan protokol teks WHOIS yang lama. Anda mendapatkan data terstruktur tanpa menulis parser.
  • Akses anonim berfungsi pada 5 permintaan per menit tanpa kunci API. Paket berbayar menghapus batas itu.
  • Tanggapan tersebut mencakup sebuah expires bidang dalam ISO 8601. Gunakan untuk membangun masa kadaluwarsa monitor, saluran peringatan, atau dasbor domain.

FAQ

Apa perbedaan antara WHOIS dan RDAP?
WHOIS adalah protokol lama dari tahun 1982. WHOIS mengembalikan teks biasa tidak terstruktur tanpa format standar di seluruh registrar. RDAP (Registration Data Access Protocol) adalah pengganti berstandar IETF yang mengembalikan JSON terstruktur. Titik akhir botoi /v1/whois menanyakan server RDAP dan mengembalikan respons JSON yang dinormalisasi.
Apakah API pencarian WHOIS gratis?
Ya. Akses anonim tidak memerlukan kunci API dan memungkinkan 5 permintaan per menit ditambah 100 per hari. Paket berbayar mulai dari $9/bulan untuk batas tarif yang lebih tinggi.
TLD manakah yang didukung API?
API menanyakan registri bootstrap RDAP, yang mencakup .com, .net, .org, .io, .dev, .app, .co, dan sebagian besar gTLD. Beberapa TLD kode negara (ccTLD) memiliki cakupan RDAP terbatas dan mungkin mengembalikan sebagian data.
Mengapa kolom kontak pemilik tidak ada dalam respons?
Sebagian besar registrar menerapkan perlindungan privasi yang sesuai dengan GDPR secara default. Detail kontak (nama, email, alamat) disunting di tingkat registri. API mengembalikan apa yang disediakan server RDAP: registrar, tanggal, kode status, dan server nama selalu tersedia.
Bisakah saya mencari data WHOIS untuk alamat IP dan bukan domain?
Titik akhir ini hanya menangani domain WHOIS. Untuk data kepemilikan alamat IP (ASN, organisasi jaringan, rentang CIDR), gunakan titik akhir /v1/ip-whois/lookup.

Mulai membangun dengan botoi

150+ endpoint API untuk pencarian, pemrosesan teks, pembuatan gambar, dan utilitas developer. Paket gratis, tanpa kartu kredit.