Desarrolladores
API pública de confirmURL
Revisa un enlace desde tu propia app, bot o script. Devuelve en JSON el veredicto, la puntuación, los motivos, la cadena de redirecciones y los datos de Google Safe Browsing y VirusTotal.
Endpoint
GET /api/v1/check?url=<url-encoded link> Header: X-API-Key: cu_… (or &key=cu_…)
Límites: 60 solicitudes por hora por clave de API · 10 por hora por IP sin clave. Si superas el límite recibes 429 con un encabezado Retry-After. Los resultados de VirusTotal y Safe Browsing se guardan en caché (24 h / 6 h), así que los campos intel pueden venir de la caché o indicar que se omitieron cuando se agota la cuota compartida.
Ejemplo
curl -H "X-API-Key: YOUR_KEY" "https://confirmurl.com/api/v1/check?url=https%3A%2F%2Fbit.ly%2Fexample"
{
"url": "https://bit.ly/example",
"finalUrl": "https://example.com/",
"verdict": "caution", // ok | caution | danger | unreachable | blocked
"label": "Be careful",
"score": 20, // 0-100, higher = riskier
"reasons": [{ "code": "SHORTENER", "level": "medium", "points": 20, "message": "Link shortener (bit.ly) hides the real destination" }],
"redirects": [{ "url": "https://bit.ly/example", "status": 301 }, { "url": "https://example.com/", "status": 200 }],
"intel": { "safeBrowsing": { "matches": [] }, "virusTotal": { "malicious": 0, "suspicious": 0, "harmless": 60 }, "domain": { "ageDays": 10000 } },
"reportUrl": "https://confirmurl.com/report?id=…"
}
La API abre los enlaces solo con una solicitud desde el servidor (sin navegador) y mantiene los mismos bloqueos de seguridad que el sitio web: se rechazan las direcciones privadas o internas. No está afiliada a Google ni a VirusTotal; los resultados usan datos de esos servicios.