Como seu link aparece no WhatsApp?
Essa ferramenta lê uma URL e devolve o que os aplicativos de mensagem e as redes sociais usam para montar a prévia do link: título, descrição, imagem e os demais metadados de compartilhamento. Assim você confere como a página vai aparecer no WhatsApp antes de mandar o link para um grupo ou cliente.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
De onde vem a prévia de um link
Quando você cola um link no WhatsApp, o aplicativo não inventa nada: ele visita a página e monta o cartão com as tags de compartilhamento que ela publica — título, descrição e imagem definidos pelo dono do site (o padrão Open Graph, adotado por quase todas as plataformas). Se a página não define essas tags, cada aplicativo improvisa do seu jeito: uns pegam o título da aba, outros mostram o link pelado, sem foto. A prévia bonita, portanto, é responsabilidade da página — e é isso que a ferramenta verifica.
O que o resultado devolve
A resposta é um JSON com os campos que formam o cartão: título, descrição, imagem de compartilhamento com sua URL, nome do site e o endereço final da página. Com isso dá para flagrar os três defeitos mais comuns: imagem ausente (o cartão sai sem foto), descrição genérica (aparece o slogan do site em vez do assunto da página) e título longo demais, que sai cortado. Cada campo vem como a página realmente entrega hoje, não como deveria ser — é uma fotografia do que o WhatsApp vai encontrar.
Corrigi a página e a prévia continua errada
Clássico: você arruma a imagem, manda o link de novo e o WhatsApp insiste em mostrar o cartão velho. Os aplicativos guardam a prévia em cache por horas ou dias, então a correção demora a aparecer para quem já recebeu o link antes. A ferramenta lê a página ao vivo, sem esse cache — se o resultado dela mostra os dados certos, a página está corrigida, e é questão de tempo (ou de acrescentar um parâmetro novo à URL) até os aplicativos atualizarem.
Automatize a conferência via API
Cada verificação custa US$ 0,002 por solicitação. O uso típico é dentro do fluxo de publicação: quando um post ou produto novo entra no ar, seu sistema chama a API com a URL e confere se título, descrição e imagem vieram preenchidos — se faltar algo, o conteúdo nem sai para divulgação. Para quem administra muitas páginas, a varredura completa é barata: mil URLs verificadas custam US$ 2, sem assinatura e sem pacote fechado.
Casos de uso
Promoção por WhatsApp sem vexame
Uma loja de bairro dispara a oferta da semana para os grupos de clientes. Antes do envio, confere a prévia do link: se a foto do produto não aparece, a mensagem rende muito menos clique. A verificação virou etapa fixa do ritual de quinta-feira, antes de apertar o botão.
Checagem automática a cada post novo
Um portal de conteúdo integrou a API ao fluxo de publicação: todo artigo novo passa pela verificação e, se a imagem de compartilhamento estiver ausente ou apontando para um arquivo quebrado, o sistema segura a divulgação nas redes e avisa o editor.
Auditoria do catálogo inteiro
A equipe da Distribuidora Horizonte Verde compartilha páginas de produto com clientes por WhatsApp todos os dias. Uma varredura mensal sobre o catálogo lista quais produtos têm cartão completo e quais aparecem sem foto — a correção começa pelos itens mais vendidos.
Perguntas frequentes
Vale para Instagram, Facebook e LinkedIn também?
Em grande parte, sim: as plataformas montam o cartão a partir das mesmas tags de compartilhamento que a ferramenta lê. Cada aplicativo renderiza do seu jeito (tamanho de imagem, quantidade de texto), mas a matéria-prima é a mesma.
Por que meu link aparece sem foto no WhatsApp?
Quase sempre é a página que não define a imagem de compartilhamento, ou aponta para um arquivo que não carrega. O resultado da ferramenta mostra exatamente o que a página entrega — se o campo de imagem vier vazio ali, o problema está na página, não no WhatsApp.
A ferramenta atualiza o cache do WhatsApp?
Não — nenhuma ferramenta externa consegue. Ela mostra o estado atual da página, o que serve para confirmar que a correção foi publicada. O cache dos aplicativos expira sozinho com o tempo.
Quanto custa verificar muitas URLs?
US$ 0,002 por solicitação, uma URL por chamada: 1.000 páginas verificadas saem por US$ 2. Não há assinatura — é pagamento por uso, direto.
Funciona com página que precisa de login?
Não. A leitura vê o que qualquer visitante anônimo vê — que é justamente o que o WhatsApp enxerga ao montar a prévia. Se a página exige login, a prévia real também sai quebrada.
Meus links ficam guardados?
A URL é processada para gerar o resultado da tarefa, e o retorno fica disponível para você consultar. Não usamos suas URLs para nenhuma outra finalidade.
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/web/link-preview \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/link-preview", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/link-preview",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/link-preview", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/link-preview", 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://ejemplo.com"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.link_preview",
"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
timeout_sec | 30 |
max_crawl_pages | 25 |
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. |