Detectar phishing
Un correo de phishing rara vez se anuncia como tal; toma prestado un logo familiar, un nombre de remitente creíble y una razón para actuar ya mismo. La API de detección de phishing lee el contenido, la estructura y el tono real de un correo o una página, y devuelve un puntaje de riesgo junto con las señales que lo sustentan, para que su bandeja de entrada o su flujo de recepción actúe antes de que una persona tenga que decidirlo bajo presión.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
El vacío que cubre
Las comprobaciones de reputación de URL detectan dominios ya conocidos como maliciosos, pero un dominio recién registrado que imita a otro, con un kit de phishing nuevo, todavía no aparecerá en ninguna lista negra. Este endpoint en cambio lee lo que el mensaje o la página realmente hace: si fabrica urgencia, imita el lenguaje visual de una marca reconocible, pide credenciales o datos de pago, o usa el desajuste entre el texto visible de un enlace y su destino real, un truco de phishing tan antiguo como el correo electrónico mismo. Las señales a nivel de contenido detectan ataques que una simple consulta de reputación pasa por alto por completo.
Para quién está pensado
Plataformas de correo que puntúan mensajes entrantes antes de entregarlos, herramientas de soporte que revisan correos reenviados con la pregunta '¿esto es real?', equipos de seguridad que clasifican una avalancha de mensajes reportados, y productos SaaS que permiten a sus usuarios pegar un correo o página sospechosa para una segunda opinión: todos usan este endpoint por la misma razón de fondo. Las personas detectan bien el phishing cuando están atentas, y mal cuando están cansadas, apuradas o cuando el ataque fue diseñado deliberadamente para parecer rutinario.
Qué envía y qué recibe
Envíe a POST /verify/phishing el contenido del correo o de la página que quiere evaluar, y la tarea analiza marcadores lingüísticos de urgencia, discrepancias entre remitente y nombre mostrado, solicitudes de información sensible y patrones estructurales de suplantación, devolviendo un puntaje junto con las señales concretas detectadas en vez de un número opaco. Esa transparencia importa porque un equipo de seguridad que actúa sobre el veredicto necesita saber el porqué, no solo el qué.
Pensada para volumen, con precio acorde
La tarea corre de forma asíncrona a $0.003 por solicitud más $0.0135 por ítem evaluado, y las evaluaciones fallidas nunca se cobran, con tres reintentos automáticos antes de devolver un error claro. Los resultados llegan por webhook firmado, la vía recomendada para triaje automatizado, o mediante un enlace firmado válido por 24 horas para equipos que revisan manualmente los casos marcados antes de cerrar un ticket.
Dónde encaja junto a otras comprobaciones
El puntaje de phishing lee contenido y tono; por sí solo no resuelve ni verifica la reputación de los enlaces incluidos, que es exactamente para lo que sirve verify.url_safe. Ejecutar ambas sobre el mismo mensaje le da un veredicto a nivel de contenido y otro a nivel de enlace de forma independiente, una combinación más sólida que cualquiera de las dos por separado, porque los atacantes que burlan una capa suelen tropezar con la otra.
Qué puede hacer con ella
Puntuación de correo entrante
Evalúe cada mensaje antes de que llegue a la bandeja del usuario, y desvíe a cuarentena todo lo que supere un umbral de riesgo en vez de dejarlo en la carpeta principal.
Triaje de correos reportados
Pase automáticamente por el endpoint cada correo que un usuario reenvía como sospechoso, para que un analista de seguridad revise una cola ordenada por riesgo en vez de un montón sin clasificar.
Segunda opinión en mesa de soporte
Permita que los clientes peguen un mensaje sospechoso en un formulario de soporte y reciban una lectura de riesgo inmediata antes de responder o hacer clic en algo.
Monitoreo de suplantación de marca
Analice páginas que imitan la pantalla de inicio de sesión de su producto para confirmar el patrón de phishing antes de solicitar su retiro.
Preguntas frecuentes
¿La API de detección de phishing es gratuita?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cómo se cobra la comprobación de phishing?
$0.003 por solicitud más $0.0135 por ítem evaluado, y solo se cobra cuando la tarea se completa con éxito.
¿Qué formatos puedo enviar?
Contenido de correo o de página en texto plano; la tarea lee el cuerpo del mensaje, el tono del remitente y cualquier estructura incluida.
¿También revisa los enlaces dentro del mensaje?
Evalúa señales de phishing a nivel de contenido; combínela con verify.url_safe para resolver y verificar además la reputación de los enlaces encontrados dentro del mensaje.
¿Qué tan confiable es el puntaje de riesgo?
El puntaje refleja señales concretas y visibles, como lenguaje de urgencia, discrepancias de remitente y solicitudes de credenciales, en lugar de un número propietario de caja negra, así que puede ver exactamente por qué se marcó un mensaje.
¿Puedo procesar un lote de correos reportados?
Sí, envíe cada mensaje como una solicitud independiente; cada llamada devuelve su propio task_id y resultado, lo cual funciona bien para colas de triaje de alto volumen.
¿Cómo recibo los resultados?
Por webhook firmado, recomendado para flujos automatizados, o mediante un enlace firmado válido por 24 horas para revisiones manuales.
¿Se guarda el contenido del correo enviado?
No, el contenido se elimina al vencer el periodo de retención y nunca se usa para entrenar modelos.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/verify/phishing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/phishing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/phishing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/phishing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/phishing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"items": [
"valor-1",
"valor-2"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.phishing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |