Defina o schema, receba os dados
Faz raspagem de dados em JSON estruturado com contrato fixo: você define o schema — os campos e os tipos que espera — e a extração devolve o conteúdo da página encaixado exatamente nesse molde. É a opção certa quando o resultado alimenta um sistema que não tolera surpresa de formato.
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.
O schema é o contrato
Você declara uma vez o formato de saída: nome_produto como texto, preco como número, disponivel como booleano. A partir daí, toda resposta chega nesse exato molde — mesmo que as páginas de origem sejam bagunçadas e diferentes entre si. Quem integra sabe o valor disso: o código que consome o resultado não precisa de tratamento defensivo para cada variação, porque a variação morre na extração. A página muda; o contrato, não.
Como definir bons campos
Três hábitos pagam a conta. Nomes claros e específicos: preco_vista diz mais que valor. Tipos corretos: preço como número (não texto), datas em formato consistente — o que evita conversão suja rio abaixo. E campos opcionais para o que nem toda página tem: se o parcelamento às vezes não existe, deixe o schema admitir o vazio em vez de forçar um valor. Quando a página não traz um campo, ele volta nulo ou vazio conforme o combinado — nunca preenchido por invenção.
Schema ou descrição livre
As duas extrações com IA se complementam. A descrição livre é ótima para explorar: você pede em português e vê o que sai, ajustando o pedido em minutos. O schema é para produção: quando o JSON entra direto no banco, no ERP ou no fluxo automatizado, o formato garantido elimina uma classe inteira de bugs de integração. Um caminho comum é começar na descrição livre e, estabilizado o caso de uso, travar o contrato num schema.
Custo
US$ 0,046 por chamada mais US$ 0,0145 por URL — o mesmo patamar da extração com descrição livre, porque o motor é o mesmo: navegador real renderizando a página e modelo de IA preenchendo os campos. Cem páginas processadas contra o mesmo schema custam cerca de US$ 6,05. Limite de 30 segundos de carregamento por página, cobrança por uso, preço publicado.
Casos de uso
Direto para o ERP
A TecnoSul Soluções Digitais alimenta o ERP de um cliente com dados de páginas de produtos de terceiros. O schema garante que preco chega sempre como número e disponivel sempre como booleano — a importação nunca mais quebrou por formato.
Comparador que unifica operadoras
Um site de comparação de planos coleta preço, franquia e condições nas páginas de operadoras diferentes. Cada uma publica de um jeito; o schema devolve todas no mesmo molde, e a tabela comparativa se monta sozinha.
Enriquecimento de leads B2B
Uma equipe comercial em São Paulo processa o site institucional de cada lead e extrai segmento, cidade e porte no formato exato do CRM. O vendedor abre a ficha já preenchida, no padrão da casa.
Perguntas frequentes
O que acontece quando a página não tem um dos campos?
O campo volta vazio ou nulo, conforme o schema definir — jamais preenchido com um valor inventado. Formato garantido não significa dado fabricado.
Que tipos posso usar no schema?
Os tipos usuais de JSON: texto, número, booleano, listas e objetos aninhados. É o suficiente para modelar de um card de produto a uma ficha completa.
Isso substitui um rastreador de site?
Não — aqui você extrai de URLs que já conhece. Descobrir as páginas de um site percorrendo os links é trabalho do rastreamento, que é outra ferramenta do KIT.
Por que o preço é igual ao da extração com IA livre?
Porque o trabalho de máquina é o mesmo — navegador renderizando e modelo lendo a página: US$ 0,046 por chamada mais US$ 0,0145 por URL. O schema muda a forma da resposta, não o custo de produzi-la.
É confiável para rodar sem supervisão?
O formato, sim — é garantido pelo schema. O conteúdo merece as validações de sanidade de toda extração automática: faixa de valores, campos obrigatórios, amostragem periódica. Estrutura estável não dispensa bom senso operacional.
E se as páginas tiverem dados pessoais? Como fica a LGPD?
A ferramenta processa o que você manda, sob seu comando — na relação com os titulares, o controlador do uso é você. Extrair dados pessoais em escala exige base legal: trate esse cenário com o cuidado (e o jurídico) que ele pede.
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/scrape-schema \
-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/scrape-schema", {
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/scrape-schema",
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/scrape-schema", 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/scrape-schema", 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.scrape_schema",
"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. |