Referencia de la API
Accede programáticamente a la inteligencia de phishing de phishunt. Gratis, abierto, sin autenticación requerida.
¿Construyendo un agente de IA? Ver Para agentes IA para el servidor MCP y los wrappers de Agent Skills.
Introducción
El pipeline de detección identifica sitios de phishing sospechosos activos en tiempo real, monitorizando múltiples fuentes de threat intelligence y logs de Certificate Transparency. Los datos se enriquecen con geolocalización IP, información del certificado TLS y veredictos de detección.
Fuentes de detección:
- Certificate Transparency - monitorización en tiempo real de certificados TLS recién emitidos
- Google Safe Browsing - consulta batch contra las listas de amenazas de Google
- OpenPhish - feed de phishing de la comunidad
- PhishTank - URLs de phishing verificadas
- TweetFeed - IOCs compartidos en redes sociales
- urlscan.io - veredictos de escaneo de URL en vivo
Programación del pipeline
| Proceso | Frecuencia | Descripción |
|---|---|---|
| Detection pipeline | Every hour | Scans Certificate Transparency logs and checks threat intel sources for new suspicious phishing domains |
| Active site re-check | Every 6 hours | Re-visits active sites, captures fresh screenshots, and updates detection verdicts |
| New registration scan | Daily (00:30 UTC) | Scans newly registered domains for suspicious keyword patterns |
| Data enrichment | On detection | IP geolocation, ASN, TLS certificate, and hosting organization via ipinfo.io |
Autenticación
No se requiere autenticación. Todos los endpoints son abiertos y gratuitos. Solo envía la petición: sin API keys, sin tokens, sin registro.
Límites de tasa
Los endpoints de API y feeds están limitados a 10 peticiones por segundo por IP, con burst de 20. Superar el límite devuelve una respuesta 429.
URL base
https://phishunt.io
Obtener dominios
Devuelve los dominios de phishing sospechosos activos enriquecidos con geolocalización IP, certificado TLS y veredictos de detección de varias fuentes.
Query parameters
| Parámetro | Tipo | Descripción |
|---|---|---|
limit |
integer | Number of results to return. Default 100, max 1000. |
offset |
integer | Number of results to skip for pagination. Default 0, max 10000. |
format |
string | Response format: json, csv, or txt. Default json. |
company |
string | Filter by targeted brand (e.g. amazon, paypal). See targeted brands. |
since |
ISO 8601 | Only entries after this date (e.g. 2026-03-01). |
Example request
# Get the latest 50 suspicious phishing domains curl "https://phishunt.io/api/v1/domains?limit=50" # Filter by targeted brand curl "https://phishunt.io/api/v1/domains?company=amazon" # Get entries since a date in CSV format curl "https://phishunt.io/api/v1/domains?since=2026-03-01&format=csv" # Paginate: get results 101-200 curl "https://phishunt.io/api/v1/domains?offset=100&limit=100"
Example response
{
"count": 2,
"offset": 0,
"limit": 100,
"results": [
{
"url": "https://amazon.example-phish.com/signin",
"domain": "amazon.example-phish.com",
"company": "amazon",
"date": "2026-03-27T14:30:00+00:00",
"first_seen": "2026-03-25T09:12:00+00:00",
"uuid": "54889cb5-146d-484f-8b94-7a0b7385bff7",
"ip": "198.51.100.42",
"country": "United States",
"asn": "64496",
"org": "Example Hosting Inc.",
"cert": "Let's Encrypt R3",
"malicious_google": false,
"malicious_openphish": true,
"malicious_phishtank": false,
"malicious_tweetfeed": false,
"malicious_urlscan": true
}
]
}
Feeds
Descarga el feed completo de phishing sospechoso activo. Actualizado cada hora. Dataset completo sin filtrado - usa el endpoint de dominios para parámetros de consulta.
Analizar una URL
Análisis pasivo de cualquier URL: la contrasta con las detecciones ya almacenadas por phishunt (feed activo, detecciones previas, feed de nuevos registros) y aplica heurísticas en vivo sobre la forma de la URL (coincidencia de marca, distancia typosquat/homógrafo, abuso de TLD, entropía, hosting PaaS, intención de clon). La URL de destino nunca se contacta. Los dominios desconocidos que resulten sospechosos se encolan para un análisis completo del pipeline.
Query parameters
| Parámetro | Tipo | Descripción |
|---|---|---|
url |
string | La URL a analizar. Obligatorio. Solo http/https, máx. 2048 caracteres. |
Example request
curl "https://phishunt.io/api/v1/analyze?url=https://amazon-secure-login.example.com/signin"
Example response
{
"query": { "url": "...", "host": "...", "normalized_host": "...", "apex": "..." },
"known": {
"in_active_feed": false,
"previously_active": false,
"in_new_registration_feed": false,
"record": null
},
"live_analysis": {
"allowlisted": false,
"brand_match": "amazon",
"kw_score": 85,
"url_signals": { "idn_homograph": false, "tld_abuse": false, "clone_intent": false, "paas_host": false },
"url_risk_score": 72,
"url_risk": "high"
},
"history": { "apex_prior_detections": 0, "brands_targeted": [] },
"external_feeds": { "openphish": false, "phishtank": false, "tweetfeed": false, "listed": false },
"action": { "queued_for_analysis": true, "reason": "high url_risk on unknown apex" },
"meta": { "passive_only": true, "license": "CC0-1.0" }
}
external_feeds indica si el dominio apex está presente en OpenPhish/PhishTank/TweetFeed (cruce contra la caché local de solo lectura — el destino sigue sin contactarse nunca). Referencia completa de campos en el spec OpenAPI (esquema AnalyzeResponse).
Campos de la respuesta
Cada objeto del array results (o las entradas del feed) contiene estos campos.
| Campo | Tipo | Descripción |
|---|---|---|
url | string | Full URL of the suspicious site |
domain | string | Domain name including subdomains |
company | string | Targeted brand slug (e.g. amazon, paypal) |
date | datetime | Last check timestamp (ISO 8601) |
first_seen | datetime | When the site was first detected (ISO 8601) |
uuid | string | Unique identifier for this entry (UUID v4) |
ip | string | Resolved IPv4 address |
country | string | Hosting country name |
asn | string | Autonomous System Number (e.g. 13335) |
org | string | Hosting organization |
cert | string | TLS certificate issuer |
malicious_google | boolean | true if flagged by Google Safe Browsing |
malicious_openphish | boolean | true if present in OpenPhish feed |
malicious_phishtank | boolean | true if present in PhishTank |
malicious_tweetfeed | boolean | true if present in TweetFeed |
malicious_urlscan | boolean | true if flagged by urlscan.io |
Paginación
Usa offset y limit para paginar resultados. La respuesta incluye ambos valores para que puedas calcular la siguiente página.
# Page 1 curl "https://phishunt.io/api/v1/domains?limit=100&offset=0" # Page 2 curl "https://phishunt.io/api/v1/domains?limit=100&offset=100" # Page 3 curl "https://phishunt.io/api/v1/domains?limit=100&offset=200"
Cuando count es menor que limit, has llegado a la última página.
Códigos de estado
| Código | Descripción |
|---|---|
| 200 | Success. Response body contains the requested data. |
| 400 | Bad request. Invalid parameter value (e.g. malformed since date). |
| 429 | Rate limited. Back off and retry. |
Notas
Access-Control-Allow-Origin: *, so you can call the API from browser applications.