← Todos os artigos

· 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.

API de jurisprudênciajurisprudênciaSDKacórdãosprecedentes

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

  1. 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.
  2. 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.
  3. O trecho que casou. É o que mostra se a pesquisa encontrou o instituto ou só uma palavra solta.
  4. Resultado reproduzível. Quem revisa a peça precisa reencontrar a mesma lista que você viu ao escrever.
  5. 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