Referência da API

Documentação

Todos os endpoints do judSC, com parâmetros e regras de comportamento. Autenticação por chave no header Authorization: Bearer SUA_CHAVE.

URL base
https://api.judsc.com.br — todos os caminhos abaixo são relativos a essa base. Veja também os exemplos de código prontos em cURL, Node.js, Python e PHP.
GET/tribunais

Lista todos os tribunais consultáveis, agrupados por sistema (eproc/esaj/trf4/pje/projudi), e os grupos de atalho (ex.: grupo:tjsc).

GET/consulta

Consulta processos por CPF, CNPJ ou nome. A consulta roda como um job independente da conexão HTTP — mesmo que o cliente feche a conexão antes de terminar, ela continua no servidor até o fim.

Parâmetros
NomeDescrição
tipo"cpf" | "cnpj" | "nome"
valorNúmero (só dígitos) ou nome da parte. Obrigatório ao iniciar uma consulta nova (não usar junto com "job").
tribunaisIDs separados por vírgula (ex.: tjsc_1g,trf4_consulta) ou "grupo:<nome>" ou "todos".
detalhesOpcional. Com "detalhes=1", cada processo já vem com o passo a passo embutido em "detalhe" (mesmos campos de /processo-detalhe). Evita ter que chamar /processo-detalhe por processo, mas deixa a resposta bem mais lenta. Se um processo falhar, ele vem com "detalheErro" e os demais seguem normalmente.
streamOpcional. Com "stream=1", a resposta vira Server-Sent Events: evento "inicio" (com "jobId" e "total"), um evento "progresso" por tribunal concluído, e um evento "final" com o payload completo. Sem esse parâmetro, o comportamento é síncrono — espera terminar e devolve o JSON direto.
jobOpcional. Reconecta a uma consulta já em andamento/concluída usando o "jobId" recebido no evento "inicio". Não precisa (nem deve) informar tipo/valor/tribunais junto.
Regras importantes
A consulta não depende da conexão do cliente. Se você sair no meio (fechar a aba, cair a rede), ela termina normalmente de qualquer forma — o resultado fica disponível por até 1h em GET /consulta-job/:jobId.
Autor/Réu decididos pelo conteúdo, não pela posição do cabeçalho — o eProc às vezes deixa células em branco e desloca os nomes reais. Quando isso acontece, o sistema decide pelas duas últimas células não vazias da linha.
"classe" e "situacao" não vêm nos resultados de busca do eProc — só nomes de partes e número do processo. Dados confiáveis de classe/situação vêm de GET /processo-detalhe.
Cada resultado de tribunal pode trazer um "sessaoId" — reaproveita a sessão do navegador que já resolveu a verificação de segurança daquele tribunal por alguns minutos.
GET/consulta-job/:jobId

Consulta o estado de um job (em andamento, concluído ou com erro) sem precisar manter uma conexão SSE aberta — útil para reabrir a página depois e ver onde a consulta ficou. Jobs somem da memória depois de 1h.

Parâmetros
NomeDescrição
jobIdID recebido no evento "inicio" de uma chamada anterior a /consulta com stream=1.
GET/processo-detalhe

Detalhe extraído diretamente da página do tribunal — classe, órgão julgador, valor da causa, situação e movimentos com documento por evento. Fonte primária recomendada quando o processo tem "link".

Parâmetros
NomeDescrição
linkURL da página do processo.
sessaosessaoId opcional vindo de /consulta.
Regras importantes
statusInferido prioriza o campo "Situação:" explícito da página. Só na ausência desse campo, varre TODOS os movimentos (não só o mais recente) procurando palavras de encerramento. Retorna "ativo", "baixado" ou null.
A extração de eventos só começa a partir do cabeçalho real da tabela ("Evento"/"Data/Hora"/"Descrição") — dados de cabeçalho da página (situação, partes, data de distribuição) ficam de fora de propósito.
Cada movimento pode trazer um "documento" ({titulo,url}) — link já filtrado, pronto para /processo-documento.
GET/eproc-processos-parte

Busca por NOME no eProc costuma devolver primeiro uma lista de partes (empresas/pessoas com nome parecido) em vez de processos direto. Esse endpoint abre a página da parte escolhida e devolve os processos dela de verdade, no mesmo formato de "processos" do /consulta.

Parâmetros
NomeDescrição
linkURL da parte (vinda de partesEncontradas[].link).
sessaosessaoId opcional.
GET/processo-pdf

Gera um PDF da página inteira do processo (não de um documento específico) — equivalente a Ctrl+P. Útil para arquivar o processo completo de uma vez.

Parâmetros
NomeDescrição
linkURL da página do processo.
sessaosessaoId opcional vindo de /consulta.
formatoOpcional. Com "formato=base64", devolve JSON ({nomeArquivo, mimeType, tamanhoBytes, base64}) com o PDF já em base64, em vez do arquivo binário puro — útil pra integrar direto em outro sistema. Sem esse parâmetro, devolve o PDF normalmente.
GET/processo-documento

Baixa o PDF de um documento do processo, reaproveitando a sessão do tribunal para evitar sessão expirada.

Parâmetros
NomeDescrição
urlURL do documento (vinda de /processo-detalhe).
sessaosessaoId opcional.
refererURL da página do processo (recomendado, evita bloqueio por referer ausente).
formatoOpcional. Com "formato=base64", devolve JSON em vez do arquivo binário puro — mesmo comportamento de /processo-pdf.
GET/processo/:numero

Detalhe do processo via API Pública do Datajud (CNJ) — classe, assuntos e movimentos oficiais, sem depender de navegador. Chave pública compartilhada nacionalmente; pode retornar 429 em picos de uso.

Parâmetros
NomeDescrição
numeroNúmero CNJ com 20 dígitos.