Référence Développeur

Similarité de Domaine

Consultez la documentation de l'API Similarité de Domaine, ses paramètres de requête, les champs de réponse, les exemples de code et la gestion des erreurs pour les intégrations DomScan.

Similarité de Domaine

Comparez deux domaines pour leur similarité visuelle et textuelle en utilisant plusieurs algorithmes, notamment la distance de Levenshtein, la similarité de Jaro-Winkler et l'analyse visuelle des homoglyphes. Essentiel pour détecter le typosquattage, l'usurpation de marque et les domaines de phishing.

GET /v1/similarity

Paramètres de Requête

ParamètreTypeDescription
domain1 requis string Premier domaine (généralement le domaine légitime)
domain2 requis string Deuxième domaine (domaine potentiellement suspect)

Algorithmes de Similarité

AlgorithmeDescription
levenshteinDistance d'édition normalisée (0-1)
jaro_winklerSimilarité de chaîne pondérée par préfixe
visualDétection de caractères homoglyphes/ressemblants

Exemple de Requête

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})")

Exemple de Réponse

{
  "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"]
}

Champs de Réponse

Champ Type
domain1 string
domain2 string
similarity_score number
visual_similarity number
textual_similarity number
is_confusable boolean
risk_level string