Remover parâmetros de rastreamento da URL
Um link compartilhado costuma carregar identificadores de publicidade e análise muito depois de eles cumprirem sua finalidade.
Executar grátis
Cole uma URL absoluta HTTP ou HTTPS para remover parâmetros de rastreamento conhecidos sem abrir o destino. O resultado mantém os parâmetros funcionais na ordem original e mostra cada nome, valor e classificação removidos, permitindo que você confira a mudança em vez de confiar em uma limpeza invisível.
Limpe o link sem reescrever o restante
Muitas ferramentas analisam uma URL e depois geram outra representação dela. Esse processo pode mudar letras maiúsculas, escapes, a barra final ou a ordem de campos repetidos, mesmo quando esses detalhes não têm relação com rastreamento. Este limpador valida o endereço, mas edita o texto recebido de forma restrita: remove somente segmentos de consulta cujo nome decodificado aparece no catálogo revisado. Protocolo, domínio, porta, caminho e fragmento permanecem como foram enviados, enquanto os parâmetros sobreviventes mantêm a grafia bruta e a ordem relativa. Quando todos os parâmetros são retirados, o ponto de interrogação também desaparece, evitando um sufixo pendurado.
Escolha uma política explicável e preserve exceções
A política conservadora é o padrão. Ela cobre etiquetas de campanha e identificadores de clique criados especificamente para análise, anúncios, e-mail ou atribuição social. A política agressiva acrescenta um segundo conjunto revisado, com nomes também usados em atribuição, mas que podem coincidir com uma integração funcional. Use essa opção apenas quando você conhece o serviço de destino. A lista keep_params prevalece sobre qualquer política e preserva todas as ocorrências de um nome necessário. A comparação ignora diferenças entre maiúsculas e minúsculas, mas o inventário registra a escrita encontrada no link original.
Confira o inventário antes de compartilhar
A saída não é apenas uma URL limpa. Cada item removido informa o nome do parâmetro, o valor decodificado e o grupo do catálogo, na mesma sequência em que apareceu. Isso fornece evidência para um fluxo editorial ou de privacidade e facilita questionar uma classificação inesperada. A ferramenta não acessa a página, não segue redirecionamentos e não afirma que o site seja seguro. URLs com credenciais incorporadas são recusadas para que uma senha não reapareça no resultado. Se o nome de um parâmetro não puder ser decodificado com segurança, ele será mantido; na dúvida, a ferramenta remove menos para não quebrar o destino.
Casos de uso
Compartilhamento com mais privacidade
Retire identificadores de anúncios e análise antes de colocar um link em uma mensagem, documento ou publicação, mantendo um registro verificável.
Limpeza editorial
Prepare links de referência para artigos, bases de conhecimento e boletins sem alterar campos funcionais nem âncoras.
Higiene automatizada de URLs
Use a API em um fluxo de entrada ou publicação e armazene o inventário estruturado junto da URL limpa.
Perguntas frequentes
Quais parâmetros de rastreamento são removidos?
A política conservadora remove identificadores revisados de UTM, cliques publicitários, campanhas de e-mail e atribuição social. A agressiva adiciona um grupo separado de nomes de atribuição menos seguros. O catálogo versionado inclui sua data de revisão.
Os nomes diferenciam maiúsculas de minúsculas?
A classificação e a lista de preservação não diferenciam, portanto UTM_SOURCE e utm_source recebem a mesma decisão. O inventário conserva a grafia encontrada.
Posso impedir a remoção de um parâmetro?
Sim. Adicione o nome a keep_params. A exceção tem prioridade sobre as duas políticas e vale para todas as ocorrências desse nome.
O limpador visita ou verifica o destino?
Não. Ele apenas analisa a URL localmente. Não segue redirecionamentos, não testa disponibilidade, não inspeciona conteúdo e não decide se o site é seguro. Somente URLs absolutas HTTP e HTTPS são aceitas.
Por que URLs com usuário ou senha são recusadas?
Repetir credenciais incorporadas pode expor um segredo na saída, em registros ou em um texto copiado. Remova o userinfo antes de limpar o link.
O limpador é gratuito no computador e no celular?
A página funciona localmente e de graça em navegadores de computador e celular. O aplicativo nativo usa a API e mostra a tarifa; a mesma solicitação custa US$ 0,002 com saldo pré-pago do KIT.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"url": "https://example.com/article?utm_source=newsletter&id=3"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.url_clean",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_url_chars | 8192 |
max_params | 200 |
max_keep_params | 100 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |