開発者向けリファレンス
ドメイン類似度 APIドキュメント
ドメイン類似度 APIドキュメント: レーベンシュタイン距離、ジャロ・ウィンクラー類似度、ビジュアル同形分析など、複数のアルゴリズムを使用した 2 つのドメイン間の視覚的およびテキスト的類似度を比較します。タイポスクワッティング、ブランド詐称、フィッシング ドメインの検出に不可欠です。
ドメイン類似度
レーベンシュタイン距離、ジャロ・ウィンクラー類似度、ビジュアル同形分析など、複数のアルゴリズムを使用した 2 つのドメイン間の視覚的およびテキスト的類似度を比較します。タイポスクワッティング、ブランド詐称、フィッシング ドメインの検出に不可欠です。
GET
/v1/similarity
クエリパラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| domain1 必須 | string | 最初のドメイン(通常は正当なドメイン) |
| domain2 必須 | string | 2 番目のドメイン(潜在的に疑わしいドメイン) |
類似度アルゴリズム
| アルゴリズム | 説明 |
|---|---|
levenshtein | 編集距離の正規化(0~1) |
jaro_winkler | プレフィックス加重文字列の類似度 |
visual | 同形文字/外観の類似文字検出 |
リクエスト例
curl "https://domscan.net/v1/similarity?domain1=paypal.com&domain2=paypa1.com"
import requests
# Check multiple suspicious domains
legit = "paypal.com"
suspects = ["paypa1.com", "paypaI.com", "pаypal.com"] # Note: last one has Cyrillic 'а'
for suspect in suspects:
response = requests.get(
"https://domscan.net/v1/similarity",
params={"domain1": legit, "domain2": suspect}
)
data = response.json()
print(f"{suspect}: {data['typosquatting_risk']} risk (visual: {data['similarity']['visual']:.2f})")
レスポンス例
{
"domain1": "paypal.com",
"domain2": "paypa1.com",
"similarity": {
"levenshtein": 0.86,
"jaro_winkler": 0.93,
"visual": 0.95
},
"is_similar": true,
"typosquatting_risk": "high",
"homoglyphs_detected": ["l → 1"],
"risk_factors": ["character_substitution", "high_visual_similarity"]
}
レスポンスフィールド
| フィールド | タイプ |
|---|---|
domain1 |
string |
domain2 |
string |
similarity_score |
number |
visual_similarity |
number |
textual_similarity |
number |
is_confusable |
boolean |
risk_level |
string |