← Radar Processual

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.

Dados públicos de fontes oficiais. Podem estar incompletos ou atrasados e não substituem a conferência no tribunal. Cada resposta informa, em 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

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": "…" } }

HTTPcodigoQuando
401chave_ausente, chave_invalidaSem chave ou chave desconhecida.
403chave_revogada, chave_expirada, cliente_suspensoA chave foi revogada/expirou ou a conta está suspensa.
404nao_encontradoEndereço inexistente.
405metodo_nao_permitidoSó GET.
422parametro_invalidoNúmero CNJ inválido, UF ou datas fora do permitido.
429limite_por_minuto, cota_mensal_esgotadaVeja Retry-After. Não gasta cota.
502fonte_indisponivelNenhuma fonte oficial respondeu. Tente de novo; não gasta cota.
500erro_internoFalha 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

Suporte: fale com quem lhe entregou a chave.