WHOIS API: 1 つの POST で RDAP を介した構造化ドメイン検索
1 回の API 呼び出しで、任意のドメインのレジストラ、有効期限、ネームサーバー、ステータス コードを取得します。 RDAP からの構造化 JSON。 テキスト解析はありません。
あなたはドメイン監視ツールを構築しています。 レジストラ、有効期限、ネームサーバーが必要です ポートフォリオ内のすべてのドメインに対して。 古い WHOIS プロトコルでは、非構造化テキストが提供されます。 毎 レジストラによってフォーマットが異なります。 解析するということは、 レジストラは出力形式を変更します。
RDAP (登録データ アクセス プロトコル) は、構造化された JSON を返すことでこの問題を解決します。 ただし、各TLD には別の RDAP サーバーがあるため、それを見つけるには IANA ブートストラップ レジストリにクエリを実行する必要があります。 それから RDAP の実装はレジストリによって異なるため、応答を正規化する必要があります。
ボトイ /v1/whois エンドポイントはこれらすべてを処理します。 1 つの POST リクエスト、1 つの JSON
すべての TLD の応答。
エンドポイント
curl -X POST https://api.botoi.com/v1/whois \\
-H "Content-Type: application/json" \\
-d '{ "domain": "stripe.com" }'
応答:
{
"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"
]
}
}
レジストラ名、ドメイン ステータス コード、 作成日、最終更新日、有効期限、ネームサーバー。 すべての日付は ISO 8601 です。すべて ネームサーバーは小文字です。 解析は必要ありません。
生の WHOIS テキストと構造化された API 応答
同じドメインに対して生の WHOIS プロトコルが返すものは次のとおりです。 これはあなたが得るであろうテキストです
ある whois stripe.com 指示:
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 <<<
それは標準フォーマットのないテキストの壁です。 フィールド名、間隔、順序の変更 レジストラ間。 Verisign は日付を一方向にフォーマットします。 Nominet はそれらを別のフォーマットにします。 一部 レジストラには、登録者の名前と住所が含まれます。 GDPR に基づいてすべてを編集する人もいます プライバシーシールド。
API 応答では、同じデータが予測可能な構造で提供されます。 あなたはアクセスします
data.expires 「レジストリ有効期限:」の正規表現を記述する代わりに。 繰り返します
data.nameservers 「Name Server:」で始まる行をスキャンする代わりに。
ドメイン有効期限モニターを構築する
誰かが更新を忘れたためにドメインを失うことは、費用がかかり、恥ずかしいことです。 このNode.js スクリプトはドメインのリストをチェックし、30 日以内に期限切れになるドメインにフラグを立てます。 毎日実行します cron ジョブまたは GitHub Actions のスケジュールされたワークフロー。
スクリプトはドメイン リストを繰り返し処理し、それぞれをチェックして、期限切れになるドメインを収集します。
30日以内に。 の sendAlert 関数は Slack に投稿します。 それをPagerDutyに置き換えてください。
電子メール、または任意の Webhook エンドポイント。
これはいくつかの方法で拡張できます。結果をデータベースに保存して有効期限の傾向を追跡したり、 段階的アラートの 60 日および 90 日のしきい値、または検出するネームサーバーの相互参照 不正な DNS 変更。
ドメインステータスコードについて
の status 応答内の配列は、レジストリと
レジストラがドメインで許可します。 最も一般的なコードのリファレンスは次のとおりです。
「サーバー転送禁止」および「サーバー削除禁止」のドメインはレジストリレベルです
ロック。 レジストリ オペレータのみが削除できるため、これらはクライアント レベルのロックよりも強力です。
彼ら。 価値の高いドメイン stripe.com そして google.com 両方持っています
層。
ドメインのステータスに「削除保留中」または「引き換え期間」が表示された場合は、すぐに対処してください。 ドメインは もうすぐリリースされるか、レジストラを通じて有料で復元できます。
このエンドポイントを使用する場合
- ドメインポートフォリオのモニタリング。 数百ものドメインの有効期限を追跡します。 ドメインが失効する前にチームに警告してください。
- フィッシング調査。 不審なドメインがいつ登録されたかを確認してください。 フィッシング ドメインは、攻撃の数時間または数日前に作成されることがよくあります。
- リード資格。 2003 年に作成されたドメインは、確立されたことを示唆しています。 会社。 先週登録されたドメインは別のことを物語っています。
- DNS変更検出。 現在のネームサーバーを既知のベースラインと比較します。 承認していないネームサーバーの変更は、ドメインハイジャックを意味する可能性があります。
- コンプライアンスとデューデリジェンス。 ベンダー時にドメイン所有権の詳細を確認する オンボーディングまたは M&A デューデリジェンス。 レジストラ コードとステータス コードにより、ドメインの セキュリティ態勢。
重要なポイント
-
POST /v1/whoisレジストラ、日付、ステータス コード、およびネームサーバーを返します。 正規化されたJSON。 - エンドポイントは、従来の WHOIS テキスト プロトコルではなく、RDAP サーバーにクエリを実行します。 構造化データを取得できます パーサーを書かずに。
- 匿名アクセスは、API キーなしで 1 分あたり 5 リクエストで機能します。 有料プランではその制限が削除されます。
-
応答には次のものが含まれます
expiresISO 8601 のフィールド。有効期限を作成するために使用します。 モニター、アラート パイプライン、またはドメイン ダッシュボード。
FAQ
- WHOIS と RDAP の違いは何ですか?
- WHOIS は 1982 年からのレガシー プロトコルです。WHOIS は、レジストラ間で標準形式のない非構造化プレーン テキストを返します。 RDAP (Registration Data Access Protocol) は、構造化された JSON を返す IETF 標準化された代替プロトコルです。 botoi /v1/whois エンドポイントは RDAP サーバーにクエリを実行し、正規化された JSON 応答を返します。
- WHOIS検索APIは無料ですか?
- はい。 匿名アクセスには API キーは必要なく、1 分あたり 5 件のリクエストに加え、1 日あたり 100 件のリクエストが可能です。 有料プランは月額 9 ドルから始まり、レート制限が高くなります。
- API はどの TLD をサポートしていますか?
- API は、.com、.net、.org、.io、.dev、.app、.co、およびほとんどの gTLD をカバーする RDAP ブートストラップ レジストリにクエリを実行します。 一部の国コード TLD (ccTLD) は RDAP の範囲が限られており、部分的なデータを返す場合があります。
- 応答に所有者の連絡先フィールドが欠落しているのはなぜですか?
- ほとんどのレジストラは、デフォルトで GDPR 準拠のプライバシー保護を適用します。 連絡先の詳細 (名前、電子メール、住所) はレジストリ レベルで編集されます。 API は、RDAP サーバーが提供するもの (レジストラ、日付、ステータス コード、ネームサーバーなど) を返します。これらは常に利用可能です。
- ドメインではなく IP アドレスの WHOIS データを検索できますか?
- このエンドポイントはドメイン WHOIS のみを処理します。 IP アドレス所有権データ (ASN、ネットワーク組織、CIDR 範囲) については、/v1/ip-whois/lookup エンドポイントを使用します。
botoiで開発を始めよう
150以上のAPIエンドポイント。検索、テキスト処理、画像生成、開発者ユーティリティに対応。無料プラン、クレジットカード不要。