Validar URL
Validar URL es una API que comprueba si una dirección web está bien formada y la descompone en protocolo, dominio, puerto, ruta y parámetros. Nunca se conecta a la URL: no hay ningún riesgo de que la use para llegar a tu red interna, solo mira el texto.
Cómo funciona
Le mandas el texto de la URL y la analiza con el mismo motor que usa cualquier navegador para entender una dirección, sin hacer ninguna petición de red. Sirve para validar un campo de formulario, limpiar una lista de enlaces antes de procesarlos, o sacar el dominio de una URL larga.
Que la URL no sea válida no es un error de la petición: la respuesta es 200 con "valid": false y el motivo en reason.
Lo único que necesitas
- Tu API key. La creas en tu panel con "+ Crear llave". Se muestra una sola vez, así que cópiala y guárdala.
- En tu plataforma de automatización, un paso de tipo "HTTP Request" / "Hacer una petición HTTP" (lo tienen n8n, Make, Zapier, Pipedream…).
Cómo usarlo en n8n (paso a paso)
En el nodo HTTP Request:
- Method:
POST - URL:
https://api.cofferdock.com/validate-url - Send Headers: actívalo y añade dos:
x-api-key= tu llave, yContent-Type=application/json - Send Body: actívalo → Body Content Type: JSON →
{ "url": "https://cofferdock.com/pdf-watermark?ref=blog" }
En Make (módulo HTTP → Make a request): mismo método y URL, Body type: Raw, Content type: JSON, con el mismo cuerpo.
Opciones (dentro del JSON)
| Opción | Por defecto | Para qué sirve |
|---|---|---|
url | - | Obligatorio. El texto de la URL a validar. |
allowed_protocols | ["http","https"] | Lista de protocolos que cuentan como válidos, p.ej. añade "ftp" si lo necesitas. |
Resumen de la API
- Endpoint:
POST https://api.cofferdock.com/validate-url - Auth: cabecera
x-api-key: TU_LLAVE. - Entrada: SOLO
application/json. - Motor: el parser
URLnativo de Node.js. No hay conexión de red de ningún tipo: cero riesgo de SSRF. - Límites: 30 peticiones/min por IP. 1 llamada = 1 crédito, sea la URL válida o no.
Opciones
| Opción | Por defecto | Descripción |
|---|---|---|
url | - | Obligatorio. String no vacío, hasta 4096 caracteres (400 si no cumple). |
allowed_protocols | ["http","https"] | Array de strings no vacío. Se comparan sin distinguir mayúsculas. |
Ejemplos
curl:
curl -X POST "https://api.cofferdock.com/validate-url" \
-H "x-api-key: TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"url":"https://cofferdock.com/pdf-watermark?ref=blog"}'
JavaScript (Node 18+):
const r = await fetch('https://api.cofferdock.com/validate-url', {
method: 'POST',
headers: { 'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/json' },
body: JSON.stringify({ url: 'https://cofferdock.com/pdf-watermark?ref=blog' }),
});
const { valid, hostname, pathname, query } = await r.json();
Respuesta
{ "success": true, "valid": true, "reason": null, "protocol": "https",
"hostname": "cofferdock.com", "port": null, "pathname": "/pdf-watermark",
"query": { "ref": "blog" }, "meta": { "used": 12, "remaining": 488 } }
Lo que recibes
valid, reason (por qué no es válida, o null), y si es válida: protocol, hostname, port, pathname y query (los parámetros como objeto).