Como integrar a API de processos judiciais com Python e Node.js

Equipe BuscaProcessos

Autoria

Equipe BuscaProcessos. Conteúdo informativo sobre consultas e dados processuais.

Transparência editorial

Este artigo não substitui orientação jurídica individual. Veja os critérios em política editorial.

Como integrar a API de processos judiciais com Python e Node.js

A API de processos judiciais do BuscaProcessos permite incorporar consultas por CPF ou CNPJ ao backend de um sistema. O ponto de entrada deste tutorial é GET /v1/processos: ele localiza registros por documento e devolve JSON para a sua aplicação.

Este guia é público. A documentação completa da API no ReadMe apresenta os endpoints, a autenticação e exemplos adicionais sem exigir login. Executar chamadas à API requer a chave do cliente.

Antes da primeira chamada

Você precisa de uma conta com acesso à API, uma chave ativa e créditos para a operação. Guarde a chave em uma variável de ambiente do servidor chamada BUSCAPROCESSOS_API_KEY. Defina TEST_DOCUMENT com um CPF ou CNPJ válido para o seu teste autorizado, apenas com dígitos.

Não coloque a chave no JavaScript entregue ao navegador, em repositórios ou em logs. Os exemplos abaixo fazem uma requisição: não repetem automaticamente a consulta nem percorrem todas as páginas. Isso permite observar o retorno e o consumo antes de automatizar um lote.

Exemplo com Node.js

Use Node.js 22 ou superior, com fetch nativo. Salve como consulta.mjs e execute node consulta.mjs após definir as variáveis de ambiente.

const apiKey = process.env.BUSCAPROCESSOS_API_KEY;
const document = process.env.TEST_DOCUMENT;
if (!apiKey || !document) throw new Error('Defina a chave e TEST_DOCUMENT');

const url = new URL('https://api.buscaprocessos.app.br/v1/processos');
url.searchParams.set('cpf_cnpj', document);

const response = await fetch(url, {
  headers: { 'x-api-key': apiKey, Accept: 'application/json' },
  redirect: 'error',
  signal: AbortSignal.timeout(60000),
});
const body = await response.json();

if (response.status === 202) {
  console.log({
    status: 'PROCESSANDO',
    statusUrl: response.headers.get('Location') || body.data?.statusUrl,
    retryAfter: response.headers.get('Retry-After'),
  });
} else if (!response.ok) {
  throw new Error(`HTTP ${response.status}: ${body.error?.code || 'API_ERROR'}`);
} else {
  console.log({
    registrosNestaPagina: body.data?.processos?.length ?? 0,
    proximaPagina: body.data?.links?.next ?? null,
  });
}

O exemplo imprime metadados, sem despejar os dados das partes no terminal. Em sua aplicação, use o corpo da resposta concluída para construir a interface ou o fluxo de análise.

Exemplo com Python

Em um ambiente virtual Python 3.10 ou superior, instale requests com python -m pip install requests. Salve como consulta.py e execute python consulta.py com as mesmas variáveis de ambiente.

import os
import requests

api_key = os.environ['BUSCAPROCESSOS_API_KEY']
document = os.environ['TEST_DOCUMENT']

response = requests.get(
    'https://api.buscaprocessos.app.br/v1/processos',
    params={'cpf_cnpj': document},
    headers={'x-api-key': api_key, 'Accept': 'application/json'},
    timeout=(10, 60),
    allow_redirects=False,
)
body = response.json()

if response.status_code == 202:
    print({
        'status': 'PROCESSANDO',
        'statusUrl': response.headers.get('Location') or body.get('data', {}).get('statusUrl'),
        'retryAfter': response.headers.get('Retry-After'),
    })
elif not 200 <= response.status_code < 300:
    code = body.get('error', {}).get('code', 'API_ERROR')
    raise RuntimeError(f'HTTP {response.status_code}: {code}')
else:
    data = body.get('data', {})
    print({
        'registrosNestaPagina': len(data.get('processos', [])),
        'proximaPagina': data.get('links', {}).get('next'),
    })

Como concluir uma consulta que retorna HTTP 202

HTTP 202 significa que a consulta continua em processamento. Não interprete esse retorno como uma lista vazia de processos.

  1. Guarde o requestId e a URL de acompanhamento informada em Location ou data.statusUrl.
  2. Aguarde o intervalo indicado por Retry-After.
  3. Faça um GET na URL de acompanhamento com a mesma chave, mantendo esse ciclo enquanto receber 202.
  4. Ao receber a resposta final, verifique o status HTTP antes de ler data.processos.

Antes de enviar a chave a uma URL recebida na resposta, valide que ela usa HTTPS e pertence a api.buscaprocessos.app.br. Resolva caminhos relativos contra essa origem e recuse redirecionamentos para outros hosts. Defina um prazo máximo de acompanhamento e permita retomar a consulta pendente pelo identificador, sem disparar novamente a busca inicial.

Se houver erro de rede, timeout ou resposta não JSON, registre o problema sem expor a chave ou o documento. Um timeout do cliente não prova que a consulta deixou de ser processada. Consulte as regras de erros e acompanhamento no ReadMe antes de implementar novas tentativas automáticas.

Paginação e créditos

Uma página de resultados não representa necessariamente todos os registros encontrados. Na resposta concluída, verifique data.links.next. Se houver outra página, planeje a continuidade e valide a origem do link antes de enviar a chave.

Confira as regras de cada operação na página da API e seus preços. A listagem de processos por CPF ou CNPJ (GET /v1/processos, R$ 2,00 até 200 processos ou R$ 0,25 por tribunal com filtro) e o aprofundamento na API de consulta processual por CNJ (capa, movimentações e resumo por IA a R$ 0,12 cada) são recursos distintos. Para acompanhar atualizações contínuas sem fazer polling, utilize os webhooks jurídicos assinados em HMAC-SHA256 e o radar de novos processos por documento.

API ou painel para a equipe?

A API atende sistemas que precisam incorporar a consulta ao próprio fluxo — como esteiras de API de background check judicial, onboarding KYB/KYC e compliance ou análise de risco de crédito. Para uma equipe que trabalha com planilhas e revisão pelo navegador, conheça o painel de background check para empresas, a consulta de processos em lote via CSV/Excel e o guia de fornecedores em lote.

Para iniciar uma integração agora mesmo, crie sua conta grátis na API (com R$ 50 em créditos de teste), explore os recursos da API jurídica e consulte a documentação pública de autenticação, respostas e paginação.

Busca em Bases Oficiais

Integre processos judiciais ao seu sistema

Conheça os endpoints, a autenticação e as regras de consumo da API BuscaProcessos.

Conhecer a API e seus preços

Base legal e referências

Receba o guia de integração por e-mail

Exemplos prontos, tratamento de HTTP 202, paginação e controle de consumo, reunidos para a sua equipe técnica.

Usamos seus dados apenas para enviar o material e falar sobre a solução. Sem repasse a terceiros, e você pode pedir remoção a qualquer momento.

Continue a leitura

Usamos cookies para medir o uso do site e para anúncios. ou ver a Política de Privacidade.