Developer Reference

Domain Similarity

Explore Domain Similarity API documentation, request parameters, response fields, code examples, and error handling for DomScan integrations.

Domain Similarity

Compare two domains for visual and textual similarity using multiple algorithms including Levenshtein distance, Jaro-Winkler similarity, and visual homoglyph analysis. Essential for detecting typosquatting, brand impersonation, and phishing domains.

GET /v1/similarity

Query Parameters

ParameterTypeDescription
domain1 required string First domain (typically the legitimate domain)
domain2 required string Second domain (potentially suspicious domain)

Similarity Algorithms

AlgorithmDescription
levenshteinEdit distance normalized (0-1)
jaro_winklerPrefix-weighted string similarity
visualHomoglyph/lookalike character detection

Example Request

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

Example Response

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

Response Fields

Field Type
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

Used by people at amazing companies

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeMotionElementsLLM Pulse