API de Processos e Publicações
Versão 1 · base /v1 · respostas em JSON (UTF-8)
Consulte, pelo seu sistema, o andamento completo de um processo e as publicações do Diário em nome de um advogado. A API junta duas fontes oficiais e públicas: o Datajud (CNJ, andamento interno, atualiza com alguns dias de atraso) e o Diário (DJEN/Comunica), que publica em tempo real e traz o texto, as partes e os advogados.
fontes, se cada fonte respondeu: quando uma falha, o quadro está incompleto.Autenticação
Envie a chave que recebemos para você em todo pedido (exceto /v1/saude e /v1/openapi.json):
Authorization: Bearer rdr_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # ou, se o seu servidor remove o Authorization: X-API-Key: rdr_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Use a chave só no seu servidor. Nunca a coloque em página web, aplicativo ou repositório público: quem a vê pode gastar a sua cota. A API não aceita chamadas diretas de navegador (sem CORS). Se a chave vazar, peça a troca; revogamos na hora.
Limites e cota
- Cota mensal: cada consulta bem-sucedida conta 1. Consulta repetida que vem do cache também conta. Erros e consultas em que nenhuma fonte respondeu não contam. A cota renova no dia 1º.
- Limite por minuto: por chave. Ao passar, a API responde
429comRetry-After(segundos). - Cache: respostas completas ficam 10 minutos. O campo
cacheavisa quando veio dele.
Todas as respostas trazem os cabeçalhos X-RateLimit-Limit, X-RateLimit-Remaining, X-Quota-Limit e X-Quota-Remaining.
Endpoints
GET/v1/processos/{numero}
Capa e andamento completo. numero é o número CNJ, com ou sem pontuação (0001457-85.2026.5.08.0106).
curl -H "Authorization: Bearer $RADAR_KEY" \ "https://SEU-DOMINIO/v1/processos/0001457-85.2026.5.08.0106"
{
"numero": "0001457-85.2026.5.08.0106",
"tribunal": "TRT8", "segmento": "Justiça do Trabalho", "uf": null,
"capa": { "classe": "Ação Trabalhista - Rito Sumaríssimo", "assuntos": ["Horas Extras"],
"orgao_julgador": "Vara do Trabalho de Castanhal", "grau": "G1",
"data_ajuizamento": "2026-01-20", "nivel_sigilo": 0, "atualizado_em": "2026-07-02" },
"partes": [ { "nome": "FULANO", "polo": "A" }, { "nome": "EMPRESA X", "polo": "P" } ],
"advogados": [ { "nome": "DRA. BELTRANA", "oab": "42370", "uf": "PA" } ],
"andamento": [
{ "fonte": "djen", "data": "2026-10-09", "tipo": "Intimação", "descricao": "…texto da publicação…",
"link": "https://…", "orgao": "Vara do Trabalho de Castanhal", "meio": "Diário de Justiça Eletrônico Nacional" },
{ "fonte": "datajud", "data": "2026-02-02", "hora": "10:30", "tipo": "Citação", "descricao": "Citação" }
],
"fontes": [ { "codigo": "djen", "status": "ok", "quantidade": 1, "mensagem": null },
{ "codigo": "datajud", "status": "ok", "quantidade": 11, "mensagem": null } ],
"consultado_em": "2026-10-13T10:00:00-03:00", "cache": false
}
polo: A = ativo (autor/reclamante), P = passivo (réu/reclamado). fontes[].status: ok, erro, nao_encontrado ou nao_configurada. Se nenhuma fonte responder, a API devolve 502 e não gasta cota.
GET/v1/oab/{uf}/{numero}/publicacoes
Publicações do Diário em nome de um advogado. Parâmetros opcionais: inicio e fim (AAAA-MM-DD; padrão: últimos 7 dias; máximo de 31 dias por consulta). A letra final do número da OAB (128733A) é ignorada.
curl -H "Authorization: Bearer $RADAR_KEY" \ "https://SEU-DOMINIO/v1/oab/SP/128733/publicacoes?inicio=2026-10-01&fim=2026-10-12"
{ "oab": "128733", "uf": "SP", "inicio": "2026-10-01", "fim": "2026-10-12", "total": 1,
"publicacoes": [ { "id": "djen-751951120", "numero": "0001457-85.2026.5.08.0106", "tribunal": "TRT8", "data": "2026-10-09",
"tipo": "Intimação", "orgao": "…", "classe": "…", "texto": "…", "link": "https://…" } ],
"consultado_em": "…", "cache": false }
GET/v1/uso
Seu plano, cota e consumo do mês. Não gasta cota e funciona mesmo com a cota esgotada.
{ "cliente": "Sua Empresa", "plano": "Pro", "cota_mensal": 15000, "usadas_no_mes": 312, "restantes": 14688,
"limite_por_minuto": 120, "cota_renova_em": "2026-11-01T00:00:00+00:00" }
GET/v1/saude e /v1/openapi.json
Disponibilidade e a descrição OpenAPI 3 (importe no Postman, Insomnia ou gerador de SDK). Sem chave.
Erros
Sempre neste formato: { "erro": { "codigo": "…", "mensagem": "…" } }
| HTTP | codigo | Quando |
|---|---|---|
| 401 | chave_ausente, chave_invalida | Sem chave ou chave desconhecida. |
| 403 | chave_revogada, chave_expirada, cliente_suspenso | A chave foi revogada/expirou ou a conta está suspensa. |
| 404 | nao_encontrado | Endereço inexistente. |
| 405 | metodo_nao_permitido | Só GET. |
| 422 | parametro_invalido | Número CNJ inválido, UF ou datas fora do permitido. |
| 429 | limite_por_minuto, cota_mensal_esgotada | Veja Retry-After. Não gasta cota. |
| 502 | fonte_indisponivel | Nenhuma fonte oficial respondeu. Tente de novo; não gasta cota. |
| 500 | erro_interno | Falha nossa. Tente de novo. |
Exemplos
JavaScript (Node 18+)
const r = await fetch("https://SEU-DOMINIO/v1/processos/0001457-85.2026.5.08.0106", {
headers: { Authorization: `Bearer ${process.env.RADAR_KEY}` },
});
if (r.status === 429) await new Promise((ok) => setTimeout(ok, Number(r.headers.get("retry-after")) * 1000));
const processo = await r.json();
for (const f of processo.fontes) if (f.status !== "ok") console.warn("Fonte incompleta:", f);
Python
import os, requests
r = requests.get("https://SEU-DOMINIO/v1/oab/SP/128733/publicacoes",
params={"inicio": "2026-10-01", "fim": "2026-10-12"},
headers={"Authorization": "Bearer " + os.environ["RADAR_KEY"]}, timeout=60)
r.raise_for_status()
print(r.json()["total"], "publicações")
PHP
$ch = curl_init('https://SEU-DOMINIO/v1/uso');
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('RADAR_KEY')]]);
$uso = json_decode(curl_exec($ch), true);
Boas práticas
- Guarde a chave em variável de ambiente no seu servidor.
- Não consulte o mesmo processo toda hora: o andamento muda poucas vezes por dia. Guarde o resultado do seu lado.
- Trate
429esperando oRetry-Aftere502tentando de novo mais tarde. - Mostre ao seu usuário final quando uma fonte falhou. "Sem andamento" e "não consegui consultar" são coisas diferentes.
- Os textos das publicações podem trazer dados pessoais: trate-os conforme a LGPD.
Suporte: fale com quem lhe entregou a chave.