개발자 참고자료

도메인 유사성 API 문서

도메인 유사성 API 문서: Levenshtein 거리, Jaro-Winkler 유사성, 시각적 동형 분석을 포함한 여러 알고리즘을 사용하여 두 도메인의 시각적 및 텍스트 유사성을 비교합니다. 타이포스쿼팅, 브랜드 사칭, 피싱 도메인 감지에 필수적입니다.

도메인 유사성

Levenshtein 거리, Jaro-Winkler 유사성, 시각적 동형 분석을 포함한 여러 알고리즘을 사용하여 두 도메인의 시각적 및 텍스트 유사성을 비교합니다. 타이포스쿼팅, 브랜드 사칭, 피싱 도메인 감지에 필수적입니다.

GET /v1/similarity

쿼리 매개변수

매개변수유형설명
domain1 필수 string 첫 번째 도메인 (일반적으로 합법적인 도메인)
domain2 필수 string 두 번째 도메인 (잠재적으로 의심스러운 도메인)

유사성 알고리즘

알고리즘설명
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

놀라운 회사의 사람들이 사용함

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel