Para quién es
Usa comprobaciones pasivas acotadas para enriquecer la clasificación y la investigación, no para sustituir pruebas autorizadas ni la revisión humana.
Prueba con un producto, resultado, ruta de endpoint o tema de API.
Detecta amenazas de typosquatting y dominios similares que podrían usarse para phishing o abuso de marca.
Detecta amenazas de typosquatting y dominios similares que podrían usarse para phishing o abuso de marca.
Usa comprobaciones pasivas acotadas para enriquecer la clasificación y la investigación, no para sustituir pruebas autorizadas ni la revisión humana.
Elige esto para generar variantes similares probables y comprobar su estado de dominio sin tratar lo desconocido como seguro.
Detecta amenazas de typosquatting y dominios similares que podrían usarse para phishing o abuso de marca.
Revisa las operaciones, entradas, salidas, modos de ejecución y límites de respuesta compatibles antes de integrar.
2-18 Autenticación obligatoria. Consulta la referencia de la operación para conocer el coste exacto y cualquier precio por elemento.
Usa operaciones documentadas para recopilar, evaluar, enriquecer, verificar, comparar, proteger o monitorizar evidencias públicas.
| Parámetro | Tipo | obligatorio |
|---|---|---|
| domain | string | obligatorio |
| check_registered |
boolean
Predeterminado
false
|
opcional |
| limit |
integer
Predeterminado
100
|
opcional |
| include_tld_swap |
boolean
Predeterminado
true
|
opcional |
| Campo | Tipo |
|---|---|
domain |
string |
name |
string |
tld |
string |
permutations_generated |
integer |
permutations_checked |
integer |
registered_typos[] |
object[] |
registered_typos[] |
object |
registered_typos[].classification |
object |
registered_typos[].classification.status |
string |
registered_typos[].classification.reason |
string |
registered_typos[].classification.evidence |
object |
registered_typos[].classification.evidence.source |
string |
registered_typos[].classification.evidence.method |
string |
registered_typos[].classification.evidence.observed_at |
string |
registered_typos[].classification.evidence.detail |
string |
registered_typos[].classification.checked_at |
string |
registered_typos[].domain |
string |
registered_typos[].name |
string |
registered_typos[].tld |
string |
registered_typos[].type |
string |
registered_typos[].risk |
string |
registered_typos[].description |
string |
registered_typos[].registered |
boolean |
registered_typos[].checked_at |
string |
available_typos |
integer |
unknown_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.unknown_count |
integer |
family_summary.omitted_count |
integer |
family_summary.include_tld_swap |
boolean |
family_summary.requested_limit |
integer |
checked_at |
string |
check_duration_ms |
integer |
meta |
object |
meta.served_by |
string |
meta.cached |
boolean |
meta.query_time_ms |
integer |
meta.registration_check_requested |
boolean |
meta.registration_check_limit |
integer |
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true"const response = await fetch("https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true", {
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true", nil)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body)){
"domain": "google.com",
"name": "google",
"tld": "com",
"permutations_generated": 100,
"permutations_checked": 95,
"registered_typos": [
{
"domain": "gooogle.com",
"name": "gooogle",
"tld": "com",
"type": "repetition",
"risk": "high",
"description": "Repeated character",
"registered": true
},
{
"domain": "gogle.com",
"name": "gogle",
"tld": "com",
"type": "omission",
"risk": "critical",
"description": "Missing character",
"registered": true
}
],
"available_typos": 50,
"risk_summary": {
"critical": 2,
"high": 5,
"medium": 10,
"low": 28
},
"threat_level": "high",
"checked_at": "2024-01-15T12:00:00Z"
}
200 OK400 Solicitud incorrecta401 No autorizado402 Pago requerido429 Demasiadas solicitudesUsa la referencia de API de Detección de Typosquatting para revisar parámetros, campos de respuesta, ejemplos, códigos de estado y modos de operación compatibles.
Los resultados desconocidos o parciales indican que la evidencia solicitada no pudo determinarse por completo. Conserva el estado del resultado, la confianza, la vigencia y las limitaciones en las decisiones posteriores.
El precio depende de la operación y del modo de ejecución. Consulta la referencia del endpoint para conocer el coste actual en créditos, el requisito de autenticación y las reglas por elemento.
Utilizado por personas en estas empresas