Leitor de artigo
Extrai o artigo de uma página como o modo leitura do navegador faria: identifica o conteúdo principal e devolve título, autor, data e texto limpo, separados em campos. A poluição — barra lateral, banner, caixa de comentários, “leia também” — fica de fora. Feito para clipping, curadoria e arquivos de leitura.
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.
Modo leitura, versão API
Todo navegador moderno tem um botão de modo leitura que limpa a página e deixa só o artigo. Esta ferramenta faz o mesmo trabalho, mas por chamada de API e com resultado estruturado: em vez de uma tela bonita, você recebe campos separados — título, autor, data de publicação e o corpo do texto — prontos para entrar em um sistema, uma planilha ou um fluxo automatizado. Uma URL por chamada, resultado assíncrono via task_id.
A diferença para extrair texto simples
A extração de texto devolve tudo o que a página tem de textual, sem julgar. A extração de artigo é mais exigente: ela procura o conteúdo editorial principal e separa os metadados dele. Se o seu insumo são matérias, posts e artigos — e você quer saber quem escreveu, quando e o quê —, esta é a ferramenta. Se você só precisa da massa de texto de qualquer página, a extração simples resolve por menos trabalho de pós-processamento.
De onde vêm autor e data
Dos metadados e da marcação que a própria página declara. Portais de notícia e blogs bem construídos publicam essas informações de forma estruturada, e é isso que a extração lê. Quando a página não declara autor ou data, o campo volta vazio — sem chute e sem invenção. É um comportamento deliberado: para clipping e arquivo, um campo em branco vale mais do que um dado inventado com confiança.
Preço por artigo
US$ 0,040 por chamada mais US$ 0,001 por URL. Um clipping diário com dez matérias custa cerca de US$ 0,41 por dia; uma curadoria semanal de cinquenta artigos, em torno de US$ 2,05 por edição. A página abre em navegador real, com limite de 30 segundos de carregamento — portais pesados de publicidade entram sem problema, porque a publicidade fica de fora do resultado.
Casos de uso
Clipping de imprensa interno
A assessoria de uma empresa de Porto Alegre monta o clipping matinal com as matérias que citam a marca: título, veículo, data e texto limpo de cada uma, organizados no mesmo documento antes das 9h — sem estagiário copiando e colando de dez portais.
Newsletter de curadoria
Um criador de newsletter coleta os artigos da semana sobre o setor dele e trabalha em cima do texto extraído: resume, comenta e cita. O material chega sem banner nem “leia também” no meio do parágrafo.
Arquivo de leitura à prova de link quebrado
Uma advogada em São Paulo salva artigos técnicos que embasam pareceres. Com título, autor, data e texto estruturados, o arquivo continua íntegro e citável mesmo se o site original sair do ar.
Perguntas frequentes
Funciona em qualquer site de notícia?
Funciona onde existe um artigo principal identificável — matéria, post, coluna. Páginas-vitrine, como a home de um portal ou uma lista de categoria, não têm “o artigo”, e o resultado reflete isso.
E se a página não informar o autor?
O campo volta vazio. A extração lê o que a página declara; quando o dado não existe, preferimos entregar o branco a inventar um nome.
Os comentários dos leitores vêm junto?
Não — comentários, reações e caixas de discussão são tratados como poluição e ficam de fora. O resultado é o conteúdo editorial.
Posso republicar o texto extraído no meu site?
A ferramenta extrai; o direito autoral continua valendo. Republicar conteúdo de terceiros depende de autorização do veículo ou do autor — para uso interno, resumo e citação com crédito, você está em terreno muito mais tranquilo.
Qual o custo de um clipping diário?
Cada artigo sai por US$ 0,041. Dez matérias por dia dão cerca de US$ 0,41 diários — no mês, algo em torno de US$ 12,30, pagos por uso, sem plano.
As URLs que envio viram estatística de vocês?
Não. Cada URL é processada para responder à sua chamada e o resultado é entregue a você — não montamos ranking, histórico nem perfil com o que você lê.
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/article \
-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/article", {
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/article",
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/article", 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/article", 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.article",
"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. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |