開発者向けリファレンス

ドメイン類似度

DomScan APIでレーベンシュタイン距離、ジャロ・ウィンクラー類似度、ビジュアル同形分析など、複数のアルゴリズムを使用した 2 つのドメイン間の視覚的およびテキスト的類似度を比較します。タイポスクワッティング、ブランド詐称、フィッシング ドメインの検出に不可欠です。

ドメイン類似度

レーベンシュタイン距離、ジャロ・ウィンクラー類似度、ビジュアル同形分析など、複数のアルゴリズムを使用した 2 つのドメイン間の視覚的およびテキスト的類似度を比較します。タイポスクワッティング、ブランド詐称、フィッシング ドメインの検出に不可欠です。

GET /v1/similarity

クエリパラメータ

パラメータタイプ説明
domain1 必須 string 最初のドメイン(通常は正当なドメイン)
domain2 必須 string 2 番目のドメイン(潜在的に疑わしいドメイン)

類似度アルゴリズム

アルゴリズム説明
levenshtein編集距離の正規化(0~1)
jaro_winklerプレフィックス加重文字列の類似度
visual同形文字/外観の類似文字検出

リクエスト例

curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/similarity?domain1=paypal.com&domain2=paypa1.com"
import requests

domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})

# 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 = domscan.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
overall_similarity number
risk_level string
analysis object
analysis.levenshtein_distance integer
analysis.levenshtein_similarity number
analysis.jaro_winkler_similarity number
analysis.visual_similarity number
analysis.keyboard_distance number
analysis.common_prefix_length integer
analysis.common_suffix_length integer
matching_methods[] string[]
is_potential_typosquat boolean
checked_at string
meta object

素晴らしい企業の人々に使用されています

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeMotionElementsLLM Pulse