Análise de sentimento
A análise de sentimento classifica textos como positivos, negativos ou neutros, com o grau de intensidade — avaliações de produto, comentários, respostas de NPS, conversas de atendimento. Em vez de ler mil opiniões uma a uma, você envia o lote via API e recebe cada item classificado, pronto para virar métrica.
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.
A estrela mente; o texto explica
Nota de avaliação engana: tem cliente que dá 4 estrelas descrevendo um problema grave e cliente que dá 1 estrela porque a transportadora atrasou — culpa que nem era do produto. O sentimento extraído do texto conta a história real: o que agradou, o que irritou, com que força. Cruzar a nota dada com o sentimento do texto é um dos jeitos mais rápidos de achar avaliações mal calibradas e problemas escondidos atrás de médias boas.
Ironia, gíria e o jeito brasileiro de reclamar
“Ótimo produto, chegou só três semanas depois do prazo” não é elogio — e filtro de palavras-chave classificaria como positivo por causa do “ótimo”. A análise considera a frase inteira e o contexto, o que resolve a maior parte do sarcasmo, da gíria e da reclamação educada típica do consumidor brasileiro. Nos casos genuinamente ambíguos, a classificação indica menor confiança: bom critério para separar o que merece leitura humana.
De lote de textos a painel de métricas
Cada item volta classificado individualmente, então o resultado agrega do jeito que você quiser: sentimento médio por produto, evolução semana a semana, comparação entre lojas ou canais. Rodando via API assíncrona, o fluxo típico é diário — os comentários do dia entram, a classificação sai, o painel atualiza. O histórico que ninguém tinha fôlego de ler vira curva de tendência.
Quanto custa classificar
US$ 0,003 por chamada, mais US$ 0,0135 por item analisado, em dólar americano. Classificar as 200 avaliações do mês custa cerca de US$ 2,70; um backlog de 5.000 comentários, uns US$ 67,50 — de uma vez, sem assinatura e sem franquia. O limite de 20.000 tokens por chamada acomoda lotes grandes de textos curtos. Não tem cadastro nem mensalidade: quem analisa uma vez por trimestre paga quatro vezes por ano, e mais nada.
Casos de uso
Avaliações de marketplace sob controle
Thiago Barbosa Lima vende eletrônicos em marketplaces e recebe dezenas de avaliações por semana. A classificação diária separa as negativas na hora — ele responde primeiro quem está insatisfeito, antes que a avaliação vire disputa e derrube a reputação da loja.
NPS com o porquê junto
A TecnoSul Soluções Digitais colhe NPS trimestral com campo aberto de comentário. O número dizia “caiu”; o sentimento classificado por tema mostrou onde: os comentários negativos se concentravam no novo fluxo de cobrança. A correção veio um trimestre antes do que viria.
Restaurante de bairro nos apps de entrega
A Padaria Pão Dourado Ltda. acompanha os comentários nos aplicativos de entrega. O dono não tem tempo de ler tudo: recebe por e-mail só os classificados como negativos, com o texto original — e responde pessoalmente cada um ainda no mesmo dia.
Perguntas frequentes
A análise entende ironia e gíria brasileira?
Na grande maioria dos casos, sim: a classificação considera o contexto completo da frase, não palavras soltas — “maravilhoso, veio quebrado” cai como negativo. Ironia fina sem nenhuma pista textual é limite honesto de qualquer análise automática.
O que exatamente a resposta devolve?
Cada texto volta com a polaridade (positivo, negativo ou neutro) e o grau de intensidade, em formato estruturado, pronto para planilha, painel ou banco de dados.
Posso analisar avaliações em espanhol ou inglês no mesmo lote?
Pode: a análise funciona nos idiomas correntes da web, e um lote misto é classificado normalmente. Se quiser separar por língua antes, existe ferramenta de detecção de idioma no catálogo.
Como mando um lote grande de comentários?
Via API, em chamadas de até 20.000 tokens — centenas de comentários curtos por chamada. A tarefa roda de forma assíncrona: você envia, recebe o identificador e busca o resultado pronto.
Qual o custo para um e-commerce pequeno?
Com 300 avaliações por mês, a conta fica em torno de US$ 4 mensais — US$ 0,0135 por item mais US$ 0,003 por chamada, em dólar, pagando apenas nos meses em que rodar.
Comentário de cliente é dado pessoal. Como fica a LGPD?
Os textos são processados para a classificação e devolvidos; não ficam em acervo do serviço. Ainda assim, avaliação pode conter nome e contato — se o seu compliance pedir, remova identificadores antes do envio; há ferramenta própria para isso no catálogo.
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/text/sentiment \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/text/sentiment", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/sentiment",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/sentiment", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/sentiment", 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
{
"items": [
"valor-1",
"valor-2"
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.sentiment",
"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_tokens | 20000 |
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. |