Referência para desenvolvedores
Detecção de Typosquatting
API da DomScan: Detecte ameaças de typosquatting e domínios similares que poderiam ser utilizados para phishing ou abuso de marca.
Detecção de Typosquatting
Detecte ameaças de typosquatting e domínios similares que poderiam ser utilizados para phishing ou abuso de marca.
GET
/v1/typos
Parâmetros de Consulta
| Parâmetro | Tipo | Descrição |
|---|---|---|
| domain obrigatório | string | Domínio usado para gerar variações de typosquatting |
| limit opcional | number | Número máximo de variações a verificar (padrão: 50) |
Resposta de Exemplo
{
"domain": "google.com",
"permutations_generated": 50,
"registered_typos": [
{
"domain": "gooogle.com",
"type": "repetition",
"risk": "high",
"registered": true
},
{
"domain": "googIe.com",
"type": "homoglyph",
"risk": "critical",
"registered": true
}
],
"threat_level": "critical",
"risk_summary": {
"critical": 2,
"high": 5,
"medium": 10,
"low": 8
}
}
Campos de Resposta
| Campo | Tipo |
|---|---|
domain |
string |
name |
string |
tld |
string |
permutations_generated |
integer |
permutations_checked |
integer |
registered_typos[] |
object[] |
registered_typos[] |
object |
registered_typos[].domain |
string |
registered_typos[].type |
string |
registered_typos[].risk |
string |
registered_typos[].registered |
boolean |
registered_typos[].checked_at |
string |
available_typos |
integer |
risk_summary |
object |
risk_summary.critical |
integer |
risk_summary.high |
integer |
risk_summary.medium |
integer |
risk_summary.low |
integer |
threat_level |
string |
family_summary |
object |
family_summary.generated_by_type |
object |
family_summary.generated_by_risk |
object |
family_summary.registered_by_type |
object |
family_summary.registered_by_risk |
object |
family_summary.top_generated_family |
string | null |
family_summary.top_registered_family |
string | null |
family_summary.critical_or_high_generated_count |
integer |
family_summary.critical_or_high_registered_count |
integer |
family_summary.coverage_ratio |
number |
family_summary.checked_count |
integer |
family_summary.available_count |
integer |
family_summary.include_tld_swap |
boolean |
family_summary.requested_limit |
integer |
checked_at |
string |
GET
/v1/typos/threats
Parâmetros de Consulta
| Parâmetro | Tipo | obrigatório |
|---|---|---|
| domain | string | obrigatório |
| limit | integer | opcional |
| include_tld_swap | boolean | opcional |
Campos de Resposta
| Campo | Tipo |
|---|---|
domain |
string |
name |
string |
tld |
string |
scan_summary |
object |
scan_summary.permutations_generated |
integer |
scan_summary.permutations_checked |
integer |
scan_summary.registered_count |
integer |
scan_summary.active_threats |
integer |
scan_summary.available_for_defensive |
integer |
scan_summary.check_limit |
integer |
scan_summary.coverage_truncated |
boolean |
threat_level |
string |
protection_score |
object |
threats[] |
object[] |
threats[] |
object |
threats[].domain |
string |
threats[].type |
string |
threats[].risk |
string |
threats[].description |
string |
threats[].dns_active |
boolean |
threats[].has_website |
boolean |
threats[].has_mx |
boolean |
threats[].infrastructure |
object |
threats[].threat_indicators[] |
string[] |
threats[].threat_score |
integer |
defensive_opportunities[] |
object[] |
defensive_opportunities[] |
object |
defensive_opportunities[].domain |
string |
defensive_opportunities[].type |
string |
defensive_opportunities[].risk |
string |
defensive_opportunities[].registered |
boolean |
defensive_opportunities[].checked_at |
string |
risk_breakdown |
object |
recommendations[] |
string[] |
checked_at |
string |
scan_duration_ms |
integer |
meta |
object |
Pedido de Exemplo
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/typos/threats?domain=example.com&limit=25&include_tld_swap=example.com"
Resposta de Exemplo
{
"domain": "example.com",
"name": "string",
"tld": "com",
"scan_summary": {
"permutations_generated": 1,
"permutations_checked": 1,
"registered_count": 1,
"active_threats": 1,
"available_for_defensive": 1,
"check_limit": 1,
"coverage_truncated": true
},
"threat_level": "none",
"protection_score": {},
"threats": [
{
"domain": "example.com",
"type": "string",
"risk": "critical",
"description": "198.51.100.10",
"dns_active": true,
"has_website": true,
"has_mx": true,
"infrastructure": {},
"threat_indicators": [
"string"
],
"threat_score": 1
}
],
"defensive_opportunities": [
{
"domain": "example.com",
"type": "string",
"risk": "critical",
"registered": true,
"checked_at": "2026-04-15T12:00:00Z"
}
],
"risk_breakdown": {},
"recommendations": [
"string"
],
"checked_at": "2026-04-15T12:00:00Z",
"scan_duration_ms": 1,
"meta": {}
}
GET
/v1/typos/report
Parâmetros de Consulta
| Parâmetro | Tipo | obrigatório |
|---|---|---|
| domain | string | obrigatório |
Campos de Resposta
| Campo | Tipo |
|---|---|
domain |
string |
generated_at |
string |
executive_summary |
object |
executive_summary.threat_level |
string |
executive_summary.protection_grade |
string |
executive_summary.active_threats |
integer |
executive_summary.registered_typos |
integer |
executive_summary.immediate_action_required |
boolean |
threat_analysis |
object |
threat_analysis.domain |
string |
threat_analysis.name |
string |
threat_analysis.tld |
string |
threat_analysis.scan_summary |
object |
threat_analysis.scan_summary.permutations_generated |
integer |
threat_analysis.scan_summary.permutations_checked |
integer |
threat_analysis.scan_summary.registered_count |
integer |
threat_analysis.scan_summary.active_threats |
integer |
threat_analysis.scan_summary.available_for_defensive |
integer |
threat_analysis.scan_summary.check_limit |
integer |
threat_analysis.scan_summary.coverage_truncated |
boolean |
threat_analysis.threat_level |
string |
threat_analysis.protection_score |
object |
threat_analysis.threats[] |
object[] |
threat_analysis.threats[] |
object |
threat_analysis.threats[].domain |
string |
threat_analysis.threats[].type |
string |
threat_analysis.threats[].risk |
string |
threat_analysis.threats[].description |
string |
threat_analysis.threats[].dns_active |
boolean |
threat_analysis.threats[].has_website |
boolean |
threat_analysis.threats[].has_mx |
boolean |
threat_analysis.threats[].infrastructure |
object |
threat_analysis.threats[].threat_indicators[] |
string[] |
threat_analysis.threats[].threat_score |
integer |
threat_analysis.defensive_opportunities[] |
object[] |
threat_analysis.defensive_opportunities[] |
object |
threat_analysis.defensive_opportunities[].domain |
string |
threat_analysis.defensive_opportunities[].type |
string |
threat_analysis.defensive_opportunities[].risk |
string |
threat_analysis.defensive_opportunities[].registered |
boolean |
threat_analysis.defensive_opportunities[].checked_at |
string |
threat_analysis.risk_breakdown |
object |
threat_analysis.recommendations[] |
string[] |
threat_analysis.checked_at |
string |
threat_analysis.scan_duration_ms |
integer |
threat_analysis.meta |
object |
defensive_registration_priority |
object |
monitoring_recommendations[] |
string[] |
estimated_risk_exposure |
string |
meta |
object |
Pedido de Exemplo
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/typos/report?domain=example.com"
Resposta de Exemplo
{
"domain": "example.com",
"generated_at": "2026-04-15T12:00:00Z",
"executive_summary": {
"threat_level": "string",
"protection_grade": "string",
"active_threats": 1,
"registered_typos": 1,
"immediate_action_required": true
},
"threat_analysis": {
"domain": "example.com",
"name": "string",
"tld": "com",
"scan_summary": {
"permutations_generated": 1,
"permutations_checked": 1,
"registered_count": 1,
"active_threats": 1,
"available_for_defensive": 1,
"check_limit": 1,
"coverage_truncated": true
},
"threat_level": "none",
"protection_score": {},
"threats": [
{
"domain": "example.com",
"type": "string",
"risk": "critical",
"description": "198.51.100.10",
"dns_active": true,
"has_website": true,
"has_mx": true,
"infrastructure": {},
"threat_indicators": [
"string"
],
"threat_score": 1
}
],
"defensive_opportunities": [
{
"domain": "example.com",
"type": "string",
"risk": "critical",
"registered": true,
"checked_at": "2026-04-15T12:00:00Z"
}
],
"risk_breakdown": {},
"recommendations": [
"string"
],
"checked_at": "2026-04-15T12:00:00Z",
"scan_duration_ms": 1,
"meta": {}
},
"defensive_registration_priority": {},
"monitoring_recommendations": [
"string"
],
"estimated_risk_exposure": "minimal",
"meta": {}
}
GET
/v1/typos/quick
Parâmetros de Consulta
| Parâmetro | Tipo | obrigatório |
|---|---|---|
| domain | string | obrigatório |
| limit | integer | opcional |
Campos de Resposta
| Campo | Tipo |
|---|---|
domain |
string |
registered_typos[] |
object[] |
registered_typos[] |
object |
registered_typos[].domain |
string |
registered_typos[].type |
string |
registered_typos[].risk |
string |
registered_typos[].description |
string |
count |
integer |
threat_level |
string |
checked_at |
string |
scan_duration_ms |
integer |
meta |
object |
Pedido de Exemplo
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/typos/quick?domain=example.com&limit=25"
Resposta de Exemplo
{
"domain": "example.com",
"registered_typos": [
{
"domain": "example.com",
"type": "string",
"risk": "critical",
"description": "198.51.100.10"
}
],
"count": 1,
"threat_level": "none",
"checked_at": "2026-04-15T12:00:00Z",
"scan_duration_ms": 1,
"meta": {}
}