DataJud Scraper: Brazil Court Cases, Processos, CNJ API avatar

DataJud Scraper: Brazil Court Cases, Processos, CNJ API

Pricing

from $6.15 / 1,000 results

Go to Apify Store
DataJud Scraper: Brazil Court Cases, Processos, CNJ API

DataJud Scraper: Brazil Court Cases, Processos, CNJ API

Consulta processual scraper for Brazilian court records (processos judiciais) via the CNJ DataJud public API. Search 90+ tribunais (STF, STJ, TJ, TRT, TRF) by process number, class, subject, court, movement and date. Get the full movement docket. Export JSON, CSV, Excel for KYB and due diligence.

Pricing

from $6.15 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

2

Monthly active users

9 days ago

Last modified

Share

DataJud Scraper: Brazil Court Cases, Processos, CNJ API

DataJud Scraper: Brazil Court Cases, Processos and Dockets (CNJ API)

DataJud scraper and DataJud API client for Brazilian court records (processos judiciais). Run a full consulta processual across the CNJ DataJud public database of 90+ tribunais: look up cases by CNJ process number (numeroProcesso) or filter by court, procedural class, subject, judging body, instance, movement and date, and export the complete movement docket to JSON, CSV or Excel. Built for legal due diligence, jurimetria, litigation monitoring and background screening in Brazil.

Here is one real result, with every field the actor returns (movimentos trimmed to the first 2 of 79 entries for length; all other values are exactly as returned):

{
"numeroProcesso": "00182260520208260050",
"id": "TJSP_386_G1_10542_00182260520208260050",
"tribunal": "TJSP",
"grau": "G1",
"nivelSigilo": 0,
"classeCodigo": 386,
"classeNome": "Execução da Pena",
"assuntoPrincipal": "Progressão de Regime",
"sistemaCodigo": 3,
"sistema": "SAJ",
"formatoCodigo": 1,
"formato": "Eletrônico",
"orgaoJulgadorCodigo": 10542,
"orgaoJulgadorNome": "04 EXECUCOES CRIMINAIS DE CENTRAL",
"codigoMunicipioIBGE": null,
"dataAjuizamento": "2020-06-02T14:53:02.000Z",
"anoAjuizamento": 2020,
"dataHoraUltimaAtualizacao": "2025-08-15T00:14:01.647Z",
"indexadoEm": "2025-10-28T13:02:13.338074Z",
"movimentosCount": 79,
"primeiroMovimentoData": "2020-06-02T14:53:02.000Z",
"ultimoMovimentoCodigo": 36,
"ultimoMovimentoNome": "Redistribuição",
"ultimoMovimentoData": "2025-04-25T16:44:59.000Z",
"diasDesdeUltimoMovimento": 488,
"assuntos": [
{ "codigo": 10635, "nome": "Progressão de Regime" }
],
"movimentos": [
{ "codigo": 26, "nome": "Distribuição", "dataHora": "2020-06-02T14:53:02.000Z", "orgaoJulgadorCodigo": 10542, "orgaoJulgadorNome": "04 EXECUCOES CRIMINAIS DE CENTRAL", "complementos": [{ "codigo": 2, "valor": 1, "nome": "competência exclusiva", "descricao": "tipo_de_distribuicao_redistribuicao" }] },
{ "codigo": 982, "nome": "Remessa", "dataHora": "2020-06-04T10:01:10.000Z", "orgaoJulgadorCodigo": 10542, "orgaoJulgadorNome": "04 EXECUCOES CRIMINAIS DE CENTRAL", "complementos": [{ "codigo": 18, "valor": 40, "nome": "outros motivos", "descricao": "motivo_da_remessa" }] }
],
"url": "https://www.cnj.jus.br/pjecnj/ConsultaPublica/listView.seam?numProcesso=00182260520208260050",
"aiSummary": null,
"aiSummaryEn": null,
"aiExtract": null,
"observedAt": "2026-08-16T05:54:59.287Z",
"error": null
}

The most complete DataJud court case scraper available. It returns every field the CNJ DataJud public API exposes for each process, including procedural class, subjects, judging body, instance, filing and last-update dates and the full movement docket (movimentos, now with the judging body per movement), plus derived fields (primary subject, movement count, latest movement, days since last movement, filing year), plus opt-in AI summaries, English translation and structured extraction. It gives you 12 filters, including multi-court parallel queries, free-text search, class, subject, judging body, instance, movement code and both filing-date and last-update date ranges, to target exactly the cases you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

This DataJud scraper queries the CNJ DataJud public API (the Conselho Nacional de Justiça database of Brazilian judicial processes, api-publica.datajud.cnj.jus.br) for court process records. You pick one or many courts (each maps to a DataJud index), then either look up exact process numbers or filter by free-text query, procedural class code, subject code, judging body, instance (grau), movement code, filing-date range and last-update range. It writes one normalized record per process (processo) to the run's dataset, including the procedural class, subjects, judging body, filing and last-update dates, and the full movement history (movimentos) with the judging body and complement codes for each event.

On top of the raw DataJud fields it derives extra columns you would otherwise compute yourself: the primary subject, the total movement count, the first and latest movement with its date, the number of days since the last movement (a dormancy or activity signal for monitoring), and the filing year. Missing source values are returned as null, never invented.

Three opt-in AI add-ons attach a plain-language Portuguese case summary, a clear English summary/translation, and a structured extract (class, subjects, current stage, court, key dates and amounts). They are off by default and only run for paying Apify users.

How we compare

DataJud is the official, CNJ-run source of truth for Brazilian court process metadata. This actor reads it directly. Here is how it stacks up against the other Brazil court-record scrapers on Apify:

CapabilityThis actor (scrapers_lat/datajud-scraper)parseforge/brazil-cnj-court-scrapertrev0n/jusbrasil-court-scraper
SourceOfficial CNJ DataJud APIOfficial CNJ DataJud APIJusBrasil (secondary aggregator)
Courts90+ (STF, STJ, TST, TSE, STM, TRF, TJ, TRT, TJM)90+Major courts via JusBrasil
Multi-court parallel queryYes (tribunais[])No (single court)Single or all
Lookup by process numberYes, array, across courtsYes, single numberYes
Free-text searchYes (query)NoYes
Class filterYes, class code (exact)Partial string match onlyNo
Subject / judging body / instance filtersYes (3 filters)NoNo
Movement-code filterYesNoNo
Filed-date and last-update rangesYes (both)NoNo
Full movement docket (movimentos)Yes, with per-movement judging body and complement codesMetadata only, undocumentedDecision text, not docket
Derived signals (latest movement, days since, count)YesNoNo
AI summary, English translation, structured extractYes (opt-in add-ons)NoNo
Documented output schemaYes, every fieldNoYes
Price per resultSee pricing tab$0.021from $0.001

Against parseforge/brazil-cnj-court-scraper (the only other DataJud actor, 5 users) we are a strict superset: it exposes 4 inputs (max, court, one process number, a class string) and an undocumented flat output; we expose 12 filters, multi-court parallel queries, the full documented docket and derived signals, at a lower per-result price.

trev0n/jusbrasil-court-scraper is a different tool for a different job: it scrapes decision and jurisprudence text (ementa, acórdão, parties, lawyers, claim value) from JusBrasil, a secondary aggregator. Use it when you want the full text of rulings. Use this actor when you want the official CNJ docket and movement timeline for process monitoring and analytics. Note that DataJud, by CNJ policy, does not publish party names, lawyers or claim value (valorCausa); those fields are not available from this source and we do not invent them.

Use cases

  • Legal due diligence and litigation risk (KYB). Pull every process for a class, subject or judging body across multiple courts before a deal, and flag active versus dormant cases with diasDesdeUltimoMovimento.
  • Law-firm case monitoring. Track a portfolio of process numbers and re-run on a schedule; ultimoMovimentoNome and dataHoraUltimaAtualizacao show what moved and when.
  • Jurimetria and legal analytics. Build datasets of Brazilian court processes by class, subject, court and filing year for statistical analysis of case flow, durations and outcomes.
  • Debt recovery and credit risk. Find execução (execution) and recuperação judicial (bankruptcy) cases by class and subject code to assess counterparty exposure.
  • Journalism and research. Query public court records across state, federal, labor and superior courts (consulta de processos judiciais) for investigations.
  • Compliance and background screening. Screen for the presence of litigation tied to a class or subject as part of a KYB or onboarding workflow.

Quickstart

Open the actor, paste this into the input, and press Run. It returns two São Paulo (TJSP) cases.

{
"tribunal": "tjsp",
"maxCases": 2
}

To query several courts at once in parallel, use tribunais. To look up specific cases, pass their 20-digit CNJ process numbers in processNumbers. Default maxCases is 10.

{
"tribunais": ["tjsp", "tjrj", "trt2"],
"classeCode": 386,
"filedFrom": "2023-01-01",
"maxCases": 50
}

Input reference

FieldTypeRequiredDefaultDescription
maxCasesintegerno10Maximum court process records to collect (total across courts).
tribunalenumnotjspSingle court index to query. One of the CNJ courts (STF, STJ, TST, TSE, STM, the TRF federal regions, the TJ state courts, the TRT labor regions, the TJM military courts).
tribunaisstring[]no(none)Query several courts at once, in parallel. Same aliases as tribunal, for example ["tjsp","tjrj","trt2"]. Overrides tribunal when set.
processNumbersstring[]no(none)Exact process numbers (numeroProcesso, 20 digits, with or without punctuation), looked up across every selected court. Takes priority; if filled, the filters below are ignored.
querystringno(empty)Free-text search across the court index (class, subject and movement names), for example recuperação judicial.
classeCodeintegerno(none)Filter by procedural class code (TPU/CNJ class table), for example 12154 for Execução de Título Extrajudicial.
assuntoCodeintegerno(none)Filter by subject/matter code (TPU/CNJ subject table).
orgaoJulgadorCodeintegerno(none)Filter by judging body (chamber/vara) code.
graustringno(none)Filter by instance/level, for example G1, G2, JE, SUP.
movimentoCodeintegerno(none)Only processes containing this movement code (CNJ movement table), for example 246 for sentence.
filedFromstringno(empty)Only processes filed on or after this date (YYYY-MM-DD).
filedTostringno(empty)Only processes filed on or before this date (YYYY-MM-DD).
updatedFromstringno(empty)Only processes last updated on or after this date (YYYY-MM-DD).
updatedTostringno(empty)Only processes last updated on or before this date (YYYY-MM-DD).
withSummarybooleannofalsePaid add-on. Plain-language Portuguese case summary. Billed only when produced. Requires a paid Apify plan.
withTranslatebooleannofalsePaid add-on. Clear English summary/translation of each case. Billed only when produced. Requires a paid Apify plan.
withExtractbooleannofalsePaid add-on. Structured case data (class, subjects, stage, court, key dates, amounts). Billed only when produced. Requires a paid Apify plan.

Output reference

One dataset item per process. Types: string, integer, object[], object, or null when the source value is absent.

FieldTypeDescription
numeroProcessostring20-digit CNJ process number.
idstringDataJud document id, for example TJSP_386_G1_10542_00182260520208260050.
tribunalstringCourt code, for example TJSP.
graustringJudicial instance/level, for example G1.
nivelSigilointegerConfidentiality level (0 = public).
classeCodigointegerProcedural class code.
classeNomestringProcedural class name.
assuntoPrincipalstringPrimary (first) subject name, for convenience.
sistemaCodigointegerSource case-system code.
sistemastringSource case system, for example SAJ, PJe.
formatoCodigointegerCase-format code.
formatostringCase format, for example Eletrônico.
orgaoJulgadorCodigointegerJudging body code.
orgaoJulgadorNomestringJudging body name.
codigoMunicipioIBGEintegerIBGE municipality code of the judging body (null when the source omits it).
dataAjuizamentostringISO 8601 filing date.
anoAjuizamentointegerFiling year, derived from dataAjuizamento.
dataHoraUltimaAtualizacaostringISO 8601 last update timestamp.
indexadoEmstringISO 8601 timestamp of when CNJ last indexed the record (@timestamp).
movimentosCountintegerNumber of movements in the docket.
primeiroMovimentoDatastringISO 8601 date of the first movement.
ultimoMovimentoCodigointegerCode of the latest movement.
ultimoMovimentoNomestringName of the latest movement (current procedural status).
ultimoMovimentoDatastringISO 8601 date of the latest movement.
diasDesdeUltimoMovimentointegerDays since the last movement (activity/dormancy signal).
assuntosobject[]Subjects, each {codigo, nome}.
movimentosobject[]Full movement docket, each {codigo, nome, dataHora, orgaoJulgadorCodigo, orgaoJulgadorNome, complementos[]}.
urlstringCNJ public consultation URL for the process.
aiSummarystringAI Portuguese case summary. null unless withSummary is enabled.
aiSummaryEnstringAI English summary/translation. null unless withTranslate is enabled.
aiExtractobjectAI structured extract {caseClass, subjects, currentStage, court, keyDates, amounts}. null unless withExtract is enabled.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed request, a single item with a populated error field is written instead.

Example output record

See the full real record at the top of this page. Every field above is populated from the live CNJ DataJud API; null values are genuine (the source omits them), never fabricated.

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~datajud-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"tribunal":"tjsp","classeCode":386,"maxCases":25}'

Query several courts in parallel and start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~datajud-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"tribunais":["tjsp","tjrj"],"query":"recuperação judicial","maxCases":100}'

Apify CLI:

apify call scrapers_lat/datajud-scraper \
--input '{"tribunal":"trt2","filedFrom":"2024-01-01","maxCases":10}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per process returned (result event). See the pricing tab for the current per-result price.
  • Opt-in add-ons. The three AI add-ons (withSummary, withTranslate, withExtract) are billed as separate events only when they run and produce output. They are off unless enabled on a paid plan.
  • No charge on failure. If a request errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 processes per run. Upgrade for higher maxCases.

FAQ and troubleshooting

Is this the official DataJud API? No. This actor is independent. It reads only data that is publicly available through the CNJ DataJud public API and returns it as structured records. Use it in accordance with the DataJud terms of use.

What is DataJud? DataJud is the CNJ (Conselho Nacional de Justiça) national database of Brazilian judicial process metadata, exposed as a public per-court Elasticsearch API. It is the official source for process class, subjects, judging body and the movement timeline (a base nacional de dados do Poder Judiciário).

Does it return party names, lawyers or claim value (valorCausa)? No. By CNJ policy the DataJud public API does not publish party names, lawyers or claim value, so those fields do not exist in this source. We return only what the API exposes and never invent fields. For decision text and parties, a JusBrasil-based scraper is the alternative source.

A run returned 0 records. Why? The filter combination matched nothing in that court's index, or the process number was not found in the selected court(s). Confirm the tribunal/tribunais, check the process number, or loosen the filters. Zero-result runs are not charged.

How do I look up specific cases? Put their 20-digit CNJ process numbers in processNumbers. This takes priority and ignores the other filters. Add several courts in tribunais if you are unsure which court holds a number.

Which courts are covered? Every court with a DataJud public index: the superior courts (STF, STJ, TST, TSE, STM), the federal regions (TRF1 to TRF6), the state courts (TJ), the labor regions (TRT1 to TRT24), and the military courts (TJM).

How fast is it? It is HTTP-only (no browser) and queries the courts you select in parallel, paginating each with search_after. Multi-court runs finish in roughly the time of the slowest single court, not the sum.

What is in movimentos? The full procedural movement docket for the case, each entry with a code, name, timestamp, the judging body that handled it, and any complement codes. movimentosCount, ultimoMovimentoNome and diasDesdeUltimoMovimento summarize it for monitoring.

Why are the AI fields null? The AI add-ons are opt-in and only run for paying Apify users. Enable withSummary, withTranslate, or withExtract on a paid plan.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the CNJ or the Brazilian judiciary. Accesses only publicly available DataJud data. Use in accordance with the DataJud terms of use.


DataJud Scraper: Processos, Casos Judiciais do Brasil e Andamentos (API do CNJ)

Scraper do DataJud e cliente da API do DataJud para registros judiciais do Brasil (processos judiciais). Faça uma consulta processual completa na base pública do CNJ DataJud, com mais de 90 tribunais: pesquise processos pelo número CNJ (numeroProcesso) ou filtre por tribunal, classe processual, assunto, órgão julgador, grau, movimento e data, e exporte todo o histórico de andamentos (movimentos) para JSON, CSV ou Excel. Feito para due diligence jurídica, jurimetria, monitoramento de processos e triagem de compliance no Brasil.

Veja um resultado real, com todos os campos que o ator retorna (movimentos reduzido aos 2 primeiros de 79 por questão de espaço; os demais valores são exatamente como retornados):

{
"numeroProcesso": "00182260520208260050",
"id": "TJSP_386_G1_10542_00182260520208260050",
"tribunal": "TJSP",
"grau": "G1",
"nivelSigilo": 0,
"classeCodigo": 386,
"classeNome": "Execução da Pena",
"assuntoPrincipal": "Progressão de Regime",
"sistemaCodigo": 3,
"sistema": "SAJ",
"formatoCodigo": 1,
"formato": "Eletrônico",
"orgaoJulgadorCodigo": 10542,
"orgaoJulgadorNome": "04 EXECUCOES CRIMINAIS DE CENTRAL",
"codigoMunicipioIBGE": null,
"dataAjuizamento": "2020-06-02T14:53:02.000Z",
"anoAjuizamento": 2020,
"dataHoraUltimaAtualizacao": "2025-08-15T00:14:01.647Z",
"indexadoEm": "2025-10-28T13:02:13.338074Z",
"movimentosCount": 79,
"primeiroMovimentoData": "2020-06-02T14:53:02.000Z",
"ultimoMovimentoCodigo": 36,
"ultimoMovimentoNome": "Redistribuição",
"ultimoMovimentoData": "2025-04-25T16:44:59.000Z",
"diasDesdeUltimoMovimento": 488,
"assuntos": [
{ "codigo": 10635, "nome": "Progressão de Regime" }
],
"movimentos": [
{ "codigo": 26, "nome": "Distribuição", "dataHora": "2020-06-02T14:53:02.000Z", "orgaoJulgadorCodigo": 10542, "orgaoJulgadorNome": "04 EXECUCOES CRIMINAIS DE CENTRAL", "complementos": [{ "codigo": 2, "valor": 1, "nome": "competência exclusiva", "descricao": "tipo_de_distribuicao_redistribuicao" }] },
{ "codigo": 982, "nome": "Remessa", "dataHora": "2020-06-04T10:01:10.000Z", "orgaoJulgadorCodigo": 10542, "orgaoJulgadorNome": "04 EXECUCOES CRIMINAIS DE CENTRAL", "complementos": [{ "codigo": 18, "valor": 40, "nome": "outros motivos", "descricao": "motivo_da_remessa" }] }
],
"url": "https://www.cnj.jus.br/pjecnj/ConsultaPublica/listView.seam?numProcesso=00182260520208260050",
"aiSummary": null,
"aiSummaryEn": null,
"aiExtract": null,
"observedAt": "2026-08-16T05:54:59.287Z",
"error": null
}

O scraper de processos judiciais do DataJud mais completo disponível. Ele retorna todos os campos que a API pública do CNJ DataJud expõe para cada processo, incluindo classe processual, assuntos, órgão julgador, grau, datas de ajuizamento e última atualização e todo o histórico de andamentos (movimentos, agora com o órgão julgador de cada movimento), além de campos derivados (assunto principal, contagem de movimentos, último movimento, dias desde o último movimento, ano de ajuizamento) e complementos de IA opcionais: resumo, tradução para inglês e extração estruturada. São 12 filtros, incluindo consultas paralelas em vários tribunais, busca em texto livre, classe, assunto, órgão julgador, grau, código de movimento e faixas de data de ajuizamento e de última atualização, para mirar exatamente os processos que você precisa.

📥 Entrada · 📤 Saída · 💰 Preços · ▶️ Exemplos

O que ele faz

Este scraper do DataJud consulta a API pública do CNJ DataJud (a base do Conselho Nacional de Justiça com os processos judiciais do Brasil, api-publica.datajud.cnj.jus.br) em busca de registros de processos. Você escolhe um ou vários tribunais (cada um mapeia para um índice do DataJud) e então busca números de processo exatos ou filtra por texto livre, código de classe processual, código de assunto, órgão julgador, grau, código de movimento, faixa de data de ajuizamento e faixa de última atualização. Ele grava um registro normalizado por processo no dataset da execução, incluindo a classe processual, os assuntos, o órgão julgador, as datas de ajuizamento e de última atualização e todo o histórico de andamentos (movimentos) com o órgão julgador e os complementos de cada evento.

Além dos campos brutos do DataJud, ele deriva colunas extras que você teria de calcular por conta própria: o assunto principal, a contagem total de movimentos, o primeiro e o último movimento com a respectiva data, o número de dias desde o último movimento (um sinal de atividade ou de dormência para monitoramento) e o ano de ajuizamento. Valores ausentes na fonte são retornados como null, nunca inventados.

Três complementos de IA opcionais adicionam um resumo do processo em português claro, um resumo/tradução em inglês e uma extração estruturada (classe, assuntos, fase atual, tribunal, datas relevantes e valores). Vêm desativados por padrão e só rodam para usuários pagantes da Apify.

Como nos comparamos

O DataJud é a fonte oficial, mantida pelo CNJ, dos metadados de processos judiciais do Brasil. Este ator o lê diretamente. Veja como ele se compara aos outros scrapers de registros judiciais do Brasil na Apify:

RecursoEste ator (scrapers_lat/datajud-scraper)parseforge/brazil-cnj-court-scrapertrev0n/jusbrasil-court-scraper
FonteAPI oficial CNJ DataJudAPI oficial CNJ DataJudJusBrasil (agregador secundário)
TribunaisMais de 90 (STF, STJ, TST, TSE, STM, TRF, TJ, TRT, TJM)Mais de 90Principais tribunais via JusBrasil
Consulta paralela em vários tribunaisSim (tribunais[])Não (um tribunal)Um ou todos
Busca por número do processoSim, em lista, entre tribunaisSim, um númeroSim
Busca em texto livreSim (query)NãoSim
Filtro por classeSim, código de classe (exato)Só correspondência parcial de textoNão
Filtros de assunto / órgão julgador / grauSim (3 filtros)NãoNão
Filtro por código de movimentoSimNãoNão
Faixas de data de ajuizamento e de última atualizaçãoSim (ambas)NãoNão
Histórico completo de andamentos (movimentos)Sim, com órgão julgador por movimento e complementosSó metadados, sem documentaçãoTexto da decisão, não o andamento
Sinais derivados (último movimento, dias desde, contagem)SimNãoNão
Resumo de IA, tradução em inglês, extração estruturadaSim (complementos opcionais)NãoNão
Esquema de saída documentadoSim, todos os camposNãoSim
Preço por resultadoVer aba de preçosUS$ 0,021a partir de US$ 0,001

Frente ao parseforge/brazil-cnj-court-scraper (o único outro ator do DataJud, 5 usuários) somos um superconjunto estrito: ele expõe 4 entradas (máximo, tribunal, um número de processo e uma string de classe) e uma saída plana sem documentação; nós expomos 12 filtros, consultas paralelas em vários tribunais, o andamento completo e documentado e os sinais derivados, por um preço por resultado menor.

O trev0n/jusbrasil-court-scraper é uma ferramenta diferente para um trabalho diferente: ele extrai texto de decisões e jurisprudência (ementa, acórdão, partes, advogados, valor da causa) do JusBrasil, um agregador secundário. Use-o quando quiser o texto integral das decisões. Use este ator quando quiser o andamento oficial do CNJ e a linha do tempo de movimentos para monitorar e analisar processos. Observe que o DataJud, por política do CNJ, não publica nomes de partes, advogados nem valor da causa (valorCausa); esses campos não existem nesta fonte e não os inventamos.

Casos de uso

  • Due diligence jurídica e risco de litígio (KYB). Traga todos os processos de uma classe, assunto ou órgão julgador em vários tribunais antes de um negócio e sinalize processos ativos ou dormentes com diasDesdeUltimoMovimento.
  • Monitoramento de processos em escritórios de advocacia. Acompanhe uma carteira de números de processo e reexecute em uma rotina; ultimoMovimentoNome e dataHoraUltimaAtualizacao mostram o que se moveu e quando.
  • Jurimetria e análise de dados jurídicos. Monte bases de processos judiciais do Brasil por classe, assunto, tribunal e ano de ajuizamento para análise estatística de fluxo, duração e resultados.
  • Recuperação de crédito e risco de crédito. Encontre execuções e recuperações judiciais por código de classe e de assunto para avaliar a exposição da contraparte.
  • Jornalismo e pesquisa. Consulte registros públicos judiciais nos tribunais estaduais, federais, do trabalho e superiores (consulta de processos judiciais) para investigações.
  • Compliance e triagem de antecedentes. Verifique a existência de litígios ligados a uma classe ou assunto como parte de um fluxo de KYB ou onboarding.

Início rápido

Abra o ator, cole isto na entrada e clique em Run. Ele retorna dois processos de São Paulo (TJSP).

{
"tribunal": "tjsp",
"maxCases": 2
}

Para consultar vários tribunais ao mesmo tempo, em paralelo, use tribunais. Para buscar processos específicos, informe os números CNJ de 20 dígitos em processNumbers. O padrão de maxCases é 10.

{
"tribunais": ["tjsp", "tjrj", "trt2"],
"classeCode": 386,
"filedFrom": "2023-01-01",
"maxCases": 50
}

Referência de entrada

CampoTipoObrigatórioPadrãoDescrição
maxCasesinteironão10Máximo de registros de processo a coletar (total entre os tribunais).
tribunalenumnãotjspÍndice de um único tribunal a consultar. Um dos tribunais do CNJ (STF, STJ, TST, TSE, STM, as regiões federais TRF, os tribunais estaduais TJ, as regiões trabalhistas TRT, os tribunais militares TJM).
tribunaisstring[]não(nenhum)Consulte vários tribunais ao mesmo tempo, em paralelo. Mesmos aliases de tribunal, por exemplo ["tjsp","tjrj","trt2"]. Substitui tribunal quando definido.
processNumbersstring[]não(nenhum)Números de processo exatos (numeroProcesso, 20 dígitos, com ou sem pontuação), buscados em cada tribunal selecionado. Tem prioridade; se preenchido, os filtros abaixo são ignorados.
querystringnão(vazio)Busca em texto livre no índice do tribunal (nomes de classe, assunto e movimento), por exemplo recuperação judicial.
classeCodeinteironão(nenhum)Filtra por código de classe processual (tabela TPU/CNJ), por exemplo 12154 para Execução de Título Extrajudicial.
assuntoCodeinteironão(nenhum)Filtra por código de assunto/matéria (tabela TPU/CNJ).
orgaoJulgadorCodeinteironão(nenhum)Filtra por código do órgão julgador (câmara/vara).
graustringnão(nenhum)Filtra por grau/instância, por exemplo G1, G2, JE, SUP.
movimentoCodeinteironão(nenhum)Só processos que contêm este código de movimento (tabela de movimentos do CNJ), por exemplo 246 para sentença.
filedFromstringnão(vazio)Só processos ajuizados nesta data ou depois (YYYY-MM-DD).
filedTostringnão(vazio)Só processos ajuizados nesta data ou antes (YYYY-MM-DD).
updatedFromstringnão(vazio)Só processos com última atualização nesta data ou depois (YYYY-MM-DD).
updatedTostringnão(vazio)Só processos com última atualização nesta data ou antes (YYYY-MM-DD).
withSummarybooleanonãofalseComplemento pago. Resumo do processo em português claro. Cobrado apenas quando produzido. Requer plano pago da Apify.
withTranslatebooleanonãofalseComplemento pago. Resumo/tradução claro em inglês de cada processo. Cobrado apenas quando produzido. Requer plano pago da Apify.
withExtractbooleanonãofalseComplemento pago. Dados estruturados do processo (classe, assuntos, fase, tribunal, datas relevantes, valores). Cobrado apenas quando produzido. Requer plano pago da Apify.

Referência de saída

Um item de dataset por processo. Tipos: string, integer, object[], object ou null quando o valor da fonte está ausente.

CampoTipoDescrição
numeroProcessostringNúmero CNJ do processo, 20 dígitos.
idstringId do documento no DataJud, por exemplo TJSP_386_G1_10542_00182260520208260050.
tribunalstringCódigo do tribunal, por exemplo TJSP.
graustringGrau/instância judicial, por exemplo G1.
nivelSigilointeiroNível de sigilo (0 = público).
classeCodigointeiroCódigo da classe processual.
classeNomestringNome da classe processual.
assuntoPrincipalstringNome do assunto principal (o primeiro), por conveniência.
sistemaCodigointeiroCódigo do sistema de origem.
sistemastringSistema de origem, por exemplo SAJ, PJe.
formatoCodigointeiroCódigo do formato do processo.
formatostringFormato do processo, por exemplo Eletrônico.
orgaoJulgadorCodigointeiroCódigo do órgão julgador.
orgaoJulgadorNomestringNome do órgão julgador.
codigoMunicipioIBGEinteiroCódigo IBGE do município do órgão julgador (null quando a fonte omite).
dataAjuizamentostringData de ajuizamento em ISO 8601.
anoAjuizamentointeiroAno de ajuizamento, derivado de dataAjuizamento.
dataHoraUltimaAtualizacaostringData/hora da última atualização em ISO 8601.
indexadoEmstringData/hora em ISO 8601 da última indexação do registro pelo CNJ (@timestamp).
movimentosCountinteiroQuantidade de movimentos no andamento.
primeiroMovimentoDatastringData em ISO 8601 do primeiro movimento.
ultimoMovimentoCodigointeiroCódigo do último movimento.
ultimoMovimentoNomestringNome do último movimento (situação processual atual).
ultimoMovimentoDatastringData em ISO 8601 do último movimento.
diasDesdeUltimoMovimentointeiroDias desde o último movimento (sinal de atividade/dormência).
assuntosobject[]Assuntos, cada um {codigo, nome}.
movimentosobject[]Andamento completo, cada item {codigo, nome, dataHora, orgaoJulgadorCodigo, orgaoJulgadorNome, complementos[]}.
urlstringURL de consulta pública do processo no CNJ.
aiSummarystringResumo do processo em português por IA. null quando withSummary está desativado.
aiSummaryEnstringResumo/tradução em inglês por IA. null quando withTranslate está desativado.
aiExtractobjectExtração estruturada por IA {caseClass, subjects, currentStage, court, keyDates, amounts}. null quando withExtract está desativado.
observedAtstringData/hora em ISO 8601 da coleta do registro.
errorstringnull em caso de sucesso. Em uma requisição com falha, é gravado um único item com o campo error preenchido.

Registro de saída de exemplo

Veja o registro real completo no topo desta página. Todos os campos acima são preenchidos a partir da API ao vivo do CNJ DataJud; os valores null são genuínos (a fonte os omite), nunca fabricados.

Executar via API e CLI

Inicie uma execução, aguarde terminar e então leia o dataset. Substitua <TOKEN> pelo seu token da API da Apify.

Execução síncrona, obtendo os itens do dataset em uma única chamada:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~datajud-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"tribunal":"tjsp","classeCode":386,"maxCases":25}'

Consulte vários tribunais em paralelo e inicie uma execução de forma assíncrona:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~datajud-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"tribunais":["tjsp","tjrj"],"query":"recuperação judicial","maxCases":100}'

Apify CLI:

apify call scrapers_lat/datajud-scraper \
--input '{"tribunal":"trt2","filedFrom":"2024-01-01","maxCases":10}'

Obter os resultados

Cada execução grava em um dataset. Obtenha os itens em JSON, CSV ou Excel mudando format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginar datasets grandes
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> é retornado como defaultDatasetId no objeto da execução. Use offset e limit para paginar grandes conjuntos de resultados. clean=true remove campos vazios e internos.

Cobrança e limites

  • Cobrança por resultado. Você é cobrado por processo retornado (evento result). Veja a aba de preços para o preço por resultado atual.
  • Complementos opcionais. Os três complementos de IA (withSummary, withTranslate, withExtract) são cobrados como eventos separados apenas quando rodam e produzem saída. Ficam desativados a não ser que sejam habilitados em um plano pago.
  • Sem cobrança em caso de falha. Se uma requisição der erro, o ator grava um único item com o campo error preenchido e não cobra por ele. Execuções vazias não custam nada.
  • Limite de gasto respeitado. Defina maxTotalChargeUsd na execução; ao ser atingido, o ator para de emitir e de cobrar novos resultados faturáveis.
  • Planos gratuitos da Apify são limitados a 10 processos por execução. Faça upgrade para um maxCases maior.

Perguntas frequentes e solução de problemas

Esta é a API oficial do DataJud? Não. Este ator é independente. Ele lê apenas dados disponíveis publicamente pela API pública do CNJ DataJud e os retorna como registros estruturados. Use de acordo com os termos de uso do DataJud.

O que é o DataJud? O DataJud é a base nacional de dados do Poder Judiciário mantida pelo CNJ (Conselho Nacional de Justiça) com os metadados dos processos judiciais do Brasil, exposta como uma API pública Elasticsearch por tribunal. É a fonte oficial para classe do processo, assuntos, órgão julgador e a linha do tempo de movimentos.

Ele retorna nomes de partes, advogados ou valor da causa (valorCausa)? Não. Por política do CNJ, a API pública do DataJud não publica nomes de partes, advogados nem valor da causa, portanto esses campos não existem nesta fonte. Retornamos apenas o que a API expõe e nunca inventamos campos. Para texto de decisão e partes, um scraper baseado no JusBrasil é a fonte alternativa.

Uma execução retornou 0 registros. Por quê? A combinação de filtros não encontrou nada no índice daquele tribunal, ou o número do processo não foi encontrado no(s) tribunal(is) selecionado(s). Confira tribunal/tribunais, verifique o número do processo ou afrouxe os filtros. Execuções sem resultado não são cobradas.

Como busco processos específicos? Coloque os números CNJ de 20 dígitos em processNumbers. Isso tem prioridade e ignora os demais filtros. Adicione vários tribunais em tribunais se não tiver certeza de qual tribunal detém um número.

Quais tribunais são cobertos? Todos os tribunais com índice público no DataJud: os tribunais superiores (STF, STJ, TST, TSE, STM), as regiões federais (TRF1 a TRF6), os tribunais estaduais (TJ), as regiões trabalhistas (TRT1 a TRT24) e os tribunais militares (TJM).

Qual é a velocidade? É HTTP puro (sem navegador) e consulta em paralelo os tribunais que você seleciona, paginando cada um com search_after. Execuções em vários tribunais terminam em aproximadamente o tempo do tribunal mais lento, não a soma.

O que há em movimentos? O andamento processual completo do processo, cada item com código, nome, data/hora, o órgão julgador que o processou e eventuais complementos. movimentosCount, ultimoMovimentoNome e diasDesdeUltimoMovimento resumem tudo para monitoramento.

Por que os campos de IA estão null? Os complementos de IA são opcionais e só rodam para usuários pagantes da Apify. Habilite withSummary, withTranslate ou withExtract em um plano pago.

Scrapers relacionados

Mais scrapers em scrapers.lat

Construído e mantido pela scrapers.lat, onde publicamos scrapers para plataformas públicas dos EUA e da América Latina: cadastros de empresas, dados de governo, finanças, e-commerce e muito mais. Navegue pelo catálogo ou solicite um scraper sob medida em scrapers.lat.


Ferramenta independente, sem vínculo com o CNJ ou com o Poder Judiciário brasileiro. Acessa apenas dados públicos do DataJud. Use de acordo com os termos de uso do DataJud.