API de detección de phishing

Verifica cualquier URL por HTTP y obtén un veredicto de seguridad al instante. Motor de Machine Learning propio, gratuito y sin registro. Diseñado para bots, automatizaciones y desarrolladores.

0 falsos positivos sobre bancos y marcas reales Motor ML propio (Random Forest + TF-IDF) Respuesta en menos de 1 segundo

Uso rápido

Envía una petición POST con la URL a verificar y recibe el veredicto como JSON.

POST https://expandir.link/api/v1/check
# Petición
curl -X POST https://expandir.link/api/v1/check \
  -H "Content-Type: application/json" \
  -d '{"url": "http://bancolombia-seguro.com/login"}'
# Respuesta
{
  "url": "http://bancolombia-seguro.com/login",
  "risk": "danger",
  "score": 25,
  "verdict": "unsafe",
  "rfProb": 1,
  "rfProbRaw": 1.0,
  "indicators": ["typosquatting_bancolombia", "phishing_path"],
  "engine": "ml-v7-local"
}

Campos de la respuesta

CampoTipoDescripción
urlstringLa URL analizada
riskstringdanger, warning o safe
scorenumberPuntuación 0–100 (100 = seguro, 0 = peligroso)
verdictstringunsafe, safe o caution
rfProbnumberProbabilidad de amenaza del motor ML (0–1, redondeada)
rfProbRawnumberProbabilidad cruda sin redondear (para verificación bit-exacta)
indicatorsarraySeñales detectadas (typosquatting, phishing, etc.)
enginestringVersión del motor ML

Los dos endpoints

Motor local (rápido)

POST/api/v1/check

Análisis local en menos de 1 segundo. Solo ML + heurística, sin llamadas externas. Ideal para bots y automatizaciones de alto volumen.

Límite: 30 peticiones por minuto por IP.

Análisis completo (profundo)

POST/api/expand

Análisis profundo: desacorta la URL, consulta VirusTotal (70+ antivirus), PhishTank, URLhaus, RDAP y renderiza el destino con IA. Tarda 15–50 segundos.

Límite: 1 petición por minuto por IP.

Cómo funciona el motor ML

El veredicto local lo emite un Random Forest de 75 árboles combinado con TF-IDF de n-gramas de caracteres y una regresión logística apilada. Analiza 13 características de cada URL: distancia de Levenshtein a marcas conocidas, presencia de marca en dominio/subdominio, TLDs sospechosos, palabras de phishing, dígitos, guiones, uso de IP, hosting gratuito y más.

El modelo protege 654 marcas (bancos LATAM, gaming, streaming, tecnología) contra typosquatting y homógrafos, y mantiene una whitelist de 226 bancos reales verificados contra DNS para garantizar cero falsos positivos sobre entidades legítimas.

La verificación del modelo es auditable por terceros: el arnés de evaluación y los vectores de prueba dorados están publicados en GitHub, con réplica bit-exacta verificada entre Python y JavaScript.

Limitaciones

La API es gratuita y con fines informativos. El motor local detecta phishing de marca y typosquatting con alta precisión, pero el phishing genérico sin marca (dominios aleatorios con formulario de login) y los enlaces detrás de acortadores requieren el análisis completo de /api/expand, que expande el destino y consulta fuentes externas. No sustituye el criterio humano.