Riferimento per sviluppatori

Somiglianza di dominio

Consulta la documentazione API di Somiglianza di dominio, i parametri delle richieste, i campi delle risposte, gli esempi di codice e la gestione degli errori per le integrazioni DomScan.

Somiglianza di dominio

Confronta due domini per somiglianza visiva e testuale con più algoritmi, tra cui distanza di Levenshtein, somiglianza di Jaro-Winkler e analisi visiva degli omoglifi. Utile per rilevare typosquatting, imitazione del marchio e domini di phishing.

GET /v1/similarity

Parametri di query

ParametroTipoDescrizione
domain1 obbligatorio string Primo dominio (tipicamente il dominio legittimo)
domain2 obbligatorio string Secondo dominio (potenzialmente dominio sospetto)

Algoritmi di somiglianza

AlgoritmoDescrizione
levenshteinDistanza di modifica normalizzata (0-1)
jaro_winklerSomiglianza di stringa ponderata per prefisso
visualRilevamento di caratteri omoglifi/lookalike

Richiesta di esempio

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

Risposta di esempio

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

Campi della risposta

Campo Tipo
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