Datajud
Agent Skills com conhecimento de produção sobre as APIs públicas do CNJ: DataJud e DJEN (Comunica PJe)
npx -y skills add rvsanches/skills-datajud-djen --skill datajudAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Guia prático da API Pública do DataJud (CNJ) — consulta de metadados e movimentações de processos judiciais brasileiros via Elasticsearch em api-publica.datajud.cnj.jus.br. Vai além da documentação oficial: registra conhecimento de produção como a consulta obrigatória pelo alias do tribunal (o curinga api_publica_* retorna 504), respostas 200 parciais que simulam "não encontrado", timeouts realistas (a API responde em 10-40s), política de retry para 429, circuit breaker, datas de 14 dígitos em horário de Brasília e códigos TPU de movimentos. Use sempre que for integrar, consultar, depurar ou otimizar chamadas ao DataJud — busca de processo por número CNJ, sincronização de andamentos/movimentações processuais, erros 504/429/timeout ou montagem de queries Elasticsearch contra tribunais brasileiros.
SKILL.md
5.8 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
API Pública do DataJud (CNJ)
O DataJud é a base nacional de metadados processuais do CNJ. A API Pública
(https://api-publica.datajud.cnj.jus.br) expõe esses dados via Elasticsearch
Search API: um índice por tribunal, consultas em Query DSL.
O que ela devolve: metadados do processo (classe, órgão julgador, grau,
data de ajuizamento, assuntos) e a lista de movimentações (andamentos).
O que ela não devolve: teor de decisões, intimações ou publicações — para
comunicações que disparam prazo, use a API do DJEN (skill djen).
Documentação oficial: https://datajud-wiki.cnj.jus.br/api-publica/. Este guia registra o que a wiki não conta, aprendido operando a API em produção (projeto Judis, 2025-2026).
Início rápido
curl -X POST 'https://api-publica.datajud.cnj.jus.br/api_publica_tjsp/_search' \
-H 'Authorization: APIKey <CHAVE_PUBLICA>' \
-H 'Content-Type: application/json' \
-d '{"query": {"match": {"numeroProcesso": "00000012320268260100"}}}'
- A chave pública está em https://datajud-wiki.cnj.jus.br/api-publica/acesso/.
O esquema do header é literalmente
APIKey(nãoBearer). - O número do processo vai sem máscara: 20 dígitos.
- O alias (
api_publica_tjsp) é derivável do próprio número CNJ — ver abaixo.
As 7 regras de ouro (aprendidas em produção)
-
Consulte sempre pelo alias do tribunal, nunca pelo curinga.
api_publica_*faz fan-out em ~90 índices, não termina dentro do limite de ~60s do gateway do CNJ e retorna 504 de qualquer origem (medido: 0/27 sucessos em 2026-07). O alias específico responde em 10-35s mesmo com o cluster degradado. O alias é derivável dos dígitos J.TR do número CNJ — função pronta em references/consultas.md. -
Dimensione timeouts para dezenas de segundos, não para poucos. A API é cronicamente saturada: respostas de sucesso levando 10-40s são normais (medido: 200 OK aos 41,5s). Timeout de 15s "estoura sempre". Valores que funcionam: ~35s por tentativa em fluxo interativo, ~75s em batch. Acima de ~60s o gateway corta com 504 — esperar mais que isso por uma mesma tentativa não traz resposta.
-
Retry para 429; nunca para 504. O 429 (
es_rejected_execution_exception) é uma rejeição rápida (~0,1s) da fila de busca — retry com backoff curto é barato e costuma passar. O 504 custa ~60s por tentativa e indica saturação sistêmica — deixe para o circuit breaker. -
HTTP 200 não significa resposta completa. Sob saturação o Elasticsearch responde
200com_shards.failed > 0e, se o processo estava num shard rejeitado,total = 0. "Não encontrado" só é confiável quando_shards.failed == 0. Já exibimos "processo não encontrado" para processo existente por ignorar isso. Detalhes em references/resposta.md. -
Datas de 14 dígitos estão em horário de Brasília (UTC-3), sem marcação.
dataHora: "20260710143000"é 14h30 em Brasília. Parsear ingenuamente num runtime UTC desloca tudo em 3h — errado para horário de audiência. E o mesmo campo pode vir como epoch de 13 dígitos ou ISO, dependendo do tribunal. -
A chave é pública, compartilhada e rotacionada sem aviso. A cota é global por chave (você compete com todo o Brasil). Valide o número CNJ antes de chamar (não desperdice cota com requests inválidos), aplique rate limit próprio, e trate falha total repentina como possível rotação de chave — confira a wiki antes de debugar seu código.
-
Indexação atrasa. Processos recém-distribuídos podem levar semanas para aparecer. "Não encontrado" (confiável) não significa que o processo não existe — ofereça cadastro manual como fallback.
Referências (leia conforme a tarefa)
| Arquivo | Quando ler |
|---|---|
| references/consultas.md | Montar requests: autenticação, derivação do alias por número CNJ (função completa), queries Elasticsearch, paginação |
| references/resposta.md | Interpretar respostas: estrutura do _source, parsing defensivo, datas, códigos TPU de movimentos → fase processual |
| references/producao.md | Operar em produção: timeouts, retry, circuit breaker, rate limiting, agendamento de sync, detecção de novidade, monitoramento |
Relação com o DJEN
| DataJud | DJEN (skill djen) | |
|---|---|---|
| Conteúdo | Movimentações — o que aconteceu | Intimações/citações — o que dispara prazo |
| Autenticação | Chave pública (header APIKey) | Nenhuma |
| Geo-bloqueio | Não tem (latência é igual de fora do BR) | 403 para IP fora do Brasil |
| Protocolo | POST, Elasticsearch Query DSL | GET, REST com query string |
Ambas são do CNJ, sem SLA nem versionamento formal — projete para indisponibilidade e mudanças sem aviso.
What ships with it: 3 files
18.4 KB alongside SKILL.md
references/
- consultas.md5.7 KB
- producao.md5.8 KB
- resposta.md6.9 KB