Quitar parámetros de seguimiento de una URL
Un enlace compartido suele conservar identificadores de publicidad y analítica después de que hayan cumplido su propósito.
Ejecutar — gratis
Pegue una URL absoluta HTTP o HTTPS para retirar parámetros de seguimiento conocidos sin visitar el destino. El resultado mantiene los parámetros funcionales en su orden original y muestra cada nombre, valor y clasificación retirados, de modo que el cambio se pueda auditar en lugar de aceptarse a ciegas.
Limpie el enlace sin reescribirlo en silencio
Muchas herramientas analizan una URL y luego vuelven a serializarla. Ese proceso puede cambiar mayúsculas, escapes, una barra final o el orden de campos repetidos aunque nada de ello tenga relación con el seguimiento. Este limpiador valida la dirección, pero modifica el texto recibido de forma limitada: solo elimina segmentos de consulta cuyo nombre decodificado aparece en el catálogo revisado. El esquema, el dominio, el puerto, la ruta y el fragmento quedan como se enviaron; además, los parámetros restantes conservan su escritura y su orden relativo. Si se retiran todos, también desaparece el signo de interrogación.
Elija una política explicable y añada excepciones
La política conservadora es la opción predeterminada. Incluye etiquetas de campaña e identificadores de clic creados expresamente para analítica, publicidad, correo y atribución social. La política agresiva agrega un segundo conjunto revisado cuyos nombres también se usan para atribución, pero pueden coincidir con una integración funcional. Úsela solo cuando conozca el destino. La lista de conservación manda sobre ambas políticas y resulta útil si un servicio necesita un parámetro que normalmente parece seguimiento. La comparación no distingue mayúsculas de minúsculas, aunque el inventario mantiene la forma que apareció realmente en la URL.
Revise el inventario antes de compartir
La salida ofrece más que una cadena limpia. Cada elemento retirado incluye el nombre del parámetro, su valor decodificado y el grupo del catálogo, en el mismo orden en que apareció. Así puede conservar evidencia en un flujo editorial o de privacidad y detectar una clasificación inesperada. La herramienta no solicita la página, no sigue redirecciones y no afirma que el sitio sea seguro. Las URLs con credenciales incorporadas se rechazan para no reproducir una contraseña. Si el nombre de un parámetro no se puede decodificar de forma segura, se conserva: ante la duda, se limpia de menos para no romper el destino.
Qué puede hacer con ella
Compartir enlaces con más privacidad
Retire identificadores publicitarios y analíticos antes de pegar un enlace en un mensaje, documento o publicación, con un registro que se puede revisar.
Limpieza editorial
Prepare fuentes para artículos, bases de conocimiento y boletines sin modificar campos funcionales ni fragmentos de navegación.
Higiene automatizada de URLs
Llame al API desde un flujo de ingreso o publicación y guarde el inventario estructurado junto al enlace limpio.
Preguntas frecuentes
¿Qué parámetros de seguimiento se retiran?
La política conservadora elimina identificadores revisados de UTM, clics publicitarios, campañas de correo y atribución social. La agresiva añade un grupo separado de nombres de atribución con menor certeza. El catálogo versionado y su fecha de revisión forman parte de la capacidad.
¿Los nombres distinguen mayúsculas de minúsculas?
La clasificación y la lista de conservación no las distinguen, por lo que UTM_SOURCE y utm_source reciben la misma decisión. El inventario conserva la escritura encontrada.
¿Puedo impedir que se retire un parámetro?
Sí. Añada su nombre a keep_params. La excepción tiene prioridad sobre ambas políticas y se aplica a cada aparición de ese nombre.
¿La herramienta visita o verifica el destino?
No. Solo analiza localmente la URL. No sigue redirecciones, no comprueba disponibilidad, no inspecciona contenido y no decide si un sitio es seguro. Acepta únicamente URLs absolutas HTTP y HTTPS.
¿Por qué se rechazan las URLs con usuario o contraseña?
Reproducir credenciales incorporadas podría revelar un secreto en la salida, en registros o en un texto copiado. Quite el userinfo antes de limpiar el enlace.
¿El limpiador es gratis en computadora y celular?
La página funciona localmente y gratis en navegadores de escritorio y celulares. La aplicación nativa llama al API y muestra la tarifa; la misma solicitud cuesta $0.002 con saldo prepago de KIT.
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, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/url-clean \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/article?utm_source=newsletter&id=3"}'const res = await fetch("https://api.kit.forhosting.com/dev/url-clean", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com/article?utm_source=newsletter&id=3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/url-clean",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com/article?utm_source=newsletter&id=3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/url-clean", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com/article?utm_source=newsletter&id=3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com/article?utm_source=newsletter&id=3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/url-clean", 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
{
"url": "https://example.com/article?utm_source=newsletter&id=3"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.url_clean",
"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.
Límites
max_url_chars | 8192 |
max_params | 200 |
max_keep_params | 100 |
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. |