· 7 min de leitura · Atualizado em
API de jurisprudência: o que existe e como usar
Existe API de jurisprudência no Brasil? Veja as opções, o que exigir de uma e como pesquisar com os dados da citação, por código (curl e SDK) ou pela IA.
Existe, sim, e as opções servem a coisas diferentes. Este guia é para quem quer a pesquisa de acórdãos dentro do próprio sistema, ou do assistente de IA, em vez de abrir o portal de cada tribunal: o que existe hoje, o que exigir de uma API de jurisprudência e um exemplo pronto, por curl e pelo pacote TypeScript.
O que existe hoje no Brasil
- A pesquisa de cada tribunal. Todo tribunal mantém a sua, feita para uma pessoa pesquisar na tela, com vocabulário e filtros próprios. Resolve a conferência pontual; para uma rotina, é um portal por tribunal.
- Dados abertos de alguns tribunais. O STJ, por exemplo, publica os seus julgados como dados abertos, sob licença CC BY 4.0. É matéria-prima: baixar, organizar, pesquisar e manter atualizado fica por conta de quem usa.
- A base pública de metadados processuais do CNJ. Traz classe, assunto e movimentos dos processos, mas não o teor das decisões. Serve para acompanhar processos e medir a duração deles, não para pesquisar uma tese. Explicamos como ela funciona em API do Datajud.
- APIs privadas. Reúnem decisões de vários tribunais num formato só e devolvem a pesquisa pronta para o seu código. O LexNode é uma delas.
Para escolher entre elas, o critério é o que a resposta traz, e é disso que trata a próxima seção.
Cinco coisas que a API precisa devolver
- A citação completa. Relator, órgão julgador, data do julgamento e classe. Sem esses campos, a ementa não vira citação. O que uma citação correta exige está no guia de como pesquisar jurisprudência no STJ.
- O teor, não só a ementa. A ementa resume; a tese está no voto. Sem o teor, a integração obriga a voltar ao portal para ler o que importa.
- O trecho que casou. É o que mostra se a pesquisa encontrou o instituto ou só uma palavra solta.
- Resultado reproduzível. Quem revisa a peça precisa reencontrar a mesma lista que você viu ao escrever.
- Cobertura declarada. Uma lista vazia só é resposta quando se sabe o que a pesquisa alcança.
Como fica por código
A pesquisa é uma chamada só. Com curl:
curl -X POST "https://api.lexnode.com.br/v1/publications/text-searches" \
-H "Authorization: Bearer lapi_live_sua_chave" \
-H "Content-Type: application/json" \
-d '{"query":"dano moral inscrição indevida cadastro de inadimplentes","collegiateOnly":true,"hydrate":true,"limit":10}'Volta uma lista ordenada por relevância. Cada decisão traz o trecho que casou com a consulta e, quando a decisão os informa, classe, relator, órgão julgador e data do julgamento; com hydrate, o teor vem na mesma resposta. A pesquisa ganha um identificador próprio, o searchId.
Em TypeScript, o pacote @lexnode/legal-data-sdk faz a mesma pesquisa com os tipos do contrato e reabre a busca depois pela chamada genérica:
import { createLexNodeClient } from "@lexnode/legal-data-sdk";
const lexnode = createLexNodeClient({
baseUrl: "https://api.lexnode.com.br",
apiKey: process.env.LEXNODE_API_KEY!,
});
const { data } = await lexnode.publications.textSearch({
query: "dano moral inscrição indevida cadastro de inadimplentes",
collegiateOnly: true,
limit: 10,
});
for (const item of data.items) {
console.log(item.position, item.judgmentClass, item.rapporteur);
console.log(item.courtBody, item.judgedAt, item.headline);
}
// Reabrir depois: a mesma lista, na mesma ordem, sem custo.
const reaberta = await lexnode.request(
"/v1/publications/text-searches/{searchId}",
"get",
{
params: {
path: { searchId: data.searchId },
query: { page: 2, pageSize: 10 },
},
},
);A mesma pesquisa amanhã
A pesquisa fica guardada no instante em que roda. Reabrir pelo searchId devolve a mesma lista, na mesma ordem, sem custo; pesquisar de novo gera outra lista, porque novas decisões entram no acervo. Para quem cita, é isso que importa: a fundamentação tem data, e quem revisita o caso na fase recursal precisa reencontrar o que você viu ao escrever a peça.
Antes de concluir que não há julgado
A rota GET /v1/publications/corpus/coverage não custa e diz o que está pesquisável por tribunal e período, e quais matérias ficam fora. Uma lista vazia fora da cobertura não prova nada. A declaração por matéria está na documentação da cobertura.
Tese firmada é outra pergunta
Pesquisar o que os tribunais decidiram e saber se já existe tese vinculante são perguntas diferentes, e misturá-las é o que faz uma peça citar um julgado isolado contra uma tese consolidada. A rota GET /v1/precedents consulta os temas repetitivos e as teses do STJ, com a situação de cada julgamento; no pacote, ela sai pela chamada genérica, lexnode.request. Os temas vêm dos dados abertos do tribunal, sob licença CC BY 4.0.
Tema recorrente: deixe um alerta
Quando a tese volta sempre, não é preciso repetir a pesquisa. Com POST /v1/publications/text-alerts (no pacote, lexnode.publications.textAlerts.create), a consulta vira um alerta: quando aparecem decisões novas que casam com ela, o seu sistema recebe um aviso pelo webhook PUBLICATION_TEXT_ALERT_MATCHED, com uma prévia delas e o total. Manter o alerta não custa.
Sem código: pelo assistente ou pelo portal
A mesma pesquisa funciona em português, dentro do Claude ou do ChatGPT, com citação, teor e reabertura sem custo. O passo a passo está em como pesquisar jurisprudência no Claude e no ChatGPT, e o motivo de a conexão importar, em IA inventa jurisprudência? Como conferir a fonte. No portal do LexNode, a tela Jurisprudência faz a pesquisa sem conversa e guarda cada busca para reabrir sem custo; a tela Precedentes consulta os temas na hora.
O que exigir do fornecedor
- Respeito ao segredo de justiça. Publicidade processual não é salvo-conduto: o que corre em segredo não pode aparecer numa pesquisa, e o fornecedor precisa dizer como trata isso. O detalhe está em LGPD e dados processuais.
- Preço público e previsível. Pesquisa de jurisprudência é rotina, e rotina com preço sob consulta vira surpresa na fatura. Defendemos preço aberto por uma razão simples, explicada em quanto custa uma API de dados jurídicos.
- As cinco exigências acima, por escrito. Citação completa, teor, trecho que casou, resultado reproduzível e cobertura declarada. Se a documentação do fornecedor não responde a cada uma, a integração vai descobrir a lacuna no pior momento.
Por onde começar
O teste grátis e os planos estão em planos e preços. A referência técnica está na documentação da pesquisa de jurisprudência, e a instalação do pacote, na seção do pacote TypeScript. A documentação é aberta: dá para ler antes de criar conta.
Acompanhe as novidades do LexNode no Instagram: @lexnode.api