DataJud Scraper: Brazil Court Cases, Processos, CNJ API
Pricing
from $6.15 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
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
Table of contents
- What it does
- How we compare
- Use cases
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
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:
| Capability | This actor (scrapers_lat/datajud-scraper) | parseforge/brazil-cnj-court-scraper | trev0n/jusbrasil-court-scraper |
|---|---|---|---|
| Source | Official CNJ DataJud API | Official CNJ DataJud API | JusBrasil (secondary aggregator) |
| Courts | 90+ (STF, STJ, TST, TSE, STM, TRF, TJ, TRT, TJM) | 90+ | Major courts via JusBrasil |
| Multi-court parallel query | Yes (tribunais[]) | No (single court) | Single or all |
| Lookup by process number | Yes, array, across courts | Yes, single number | Yes |
| Free-text search | Yes (query) | No | Yes |
| Class filter | Yes, class code (exact) | Partial string match only | No |
| Subject / judging body / instance filters | Yes (3 filters) | No | No |
| Movement-code filter | Yes | No | No |
| Filed-date and last-update ranges | Yes (both) | No | No |
Full movement docket (movimentos) | Yes, with per-movement judging body and complement codes | Metadata only, undocumented | Decision text, not docket |
| Derived signals (latest movement, days since, count) | Yes | No | No |
| AI summary, English translation, structured extract | Yes (opt-in add-ons) | No | No |
| Documented output schema | Yes, every field | No | Yes |
| Price per result | See pricing tab | $0.021 | from $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;
ultimoMovimentoNomeanddataHoraUltimaAtualizacaoshow 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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxCases | integer | no | 10 | Maximum court process records to collect (total across courts). |
tribunal | enum | no | tjsp | Single 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). |
tribunais | string[] | no | (none) | Query several courts at once, in parallel. Same aliases as tribunal, for example ["tjsp","tjrj","trt2"]. Overrides tribunal when set. |
processNumbers | string[] | 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. |
query | string | no | (empty) | Free-text search across the court index (class, subject and movement names), for example recuperação judicial. |
classeCode | integer | no | (none) | Filter by procedural class code (TPU/CNJ class table), for example 12154 for Execução de Título Extrajudicial. |
assuntoCode | integer | no | (none) | Filter by subject/matter code (TPU/CNJ subject table). |
orgaoJulgadorCode | integer | no | (none) | Filter by judging body (chamber/vara) code. |
grau | string | no | (none) | Filter by instance/level, for example G1, G2, JE, SUP. |
movimentoCode | integer | no | (none) | Only processes containing this movement code (CNJ movement table), for example 246 for sentence. |
filedFrom | string | no | (empty) | Only processes filed on or after this date (YYYY-MM-DD). |
filedTo | string | no | (empty) | Only processes filed on or before this date (YYYY-MM-DD). |
updatedFrom | string | no | (empty) | Only processes last updated on or after this date (YYYY-MM-DD). |
updatedTo | string | no | (empty) | Only processes last updated on or before this date (YYYY-MM-DD). |
withSummary | boolean | no | false | Paid add-on. Plain-language Portuguese case summary. Billed only when produced. Requires a paid Apify plan. |
withTranslate | boolean | no | false | Paid add-on. Clear English summary/translation of each case. Billed only when produced. Requires a paid Apify plan. |
withExtract | boolean | no | false | Paid 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.
| Field | Type | Description |
|---|---|---|
numeroProcesso | string | 20-digit CNJ process number. |
id | string | DataJud document id, for example TJSP_386_G1_10542_00182260520208260050. |
tribunal | string | Court code, for example TJSP. |
grau | string | Judicial instance/level, for example G1. |
nivelSigilo | integer | Confidentiality level (0 = public). |
classeCodigo | integer | Procedural class code. |
classeNome | string | Procedural class name. |
assuntoPrincipal | string | Primary (first) subject name, for convenience. |
sistemaCodigo | integer | Source case-system code. |
sistema | string | Source case system, for example SAJ, PJe. |
formatoCodigo | integer | Case-format code. |
formato | string | Case format, for example Eletrônico. |
orgaoJulgadorCodigo | integer | Judging body code. |
orgaoJulgadorNome | string | Judging body name. |
codigoMunicipioIBGE | integer | IBGE municipality code of the judging body (null when the source omits it). |
dataAjuizamento | string | ISO 8601 filing date. |
anoAjuizamento | integer | Filing year, derived from dataAjuizamento. |
dataHoraUltimaAtualizacao | string | ISO 8601 last update timestamp. |
indexadoEm | string | ISO 8601 timestamp of when CNJ last indexed the record (@timestamp). |
movimentosCount | integer | Number of movements in the docket. |
primeiroMovimentoData | string | ISO 8601 date of the first movement. |
ultimoMovimentoCodigo | integer | Code of the latest movement. |
ultimoMovimentoNome | string | Name of the latest movement (current procedural status). |
ultimoMovimentoData | string | ISO 8601 date of the latest movement. |
diasDesdeUltimoMovimento | integer | Days since the last movement (activity/dormancy signal). |
assuntos | object[] | Subjects, each {codigo, nome}. |
movimentos | object[] | Full movement docket, each {codigo, nome, dataHora, orgaoJulgadorCodigo, orgaoJulgadorNome, complementos[]}. |
url | string | CNJ public consultation URL for the process. |
aiSummary | string | AI Portuguese case summary. null unless withSummary is enabled. |
aiSummaryEn | string | AI English summary/translation. null unless withTranslate is enabled. |
aiExtract | object | AI structured extract {caseClass, subjects, currentStage, court, keyDates, amounts}. null unless withExtract is enabled. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null 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:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "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 (
resultevent). 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
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon 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.
Related scrapers
- Colombia Rama Judicial Scraper: Colombian court case records.
- Brazil CNPJ Scraper: Brazilian company registry records.
- Boletim Oficial (Diário Oficial) Scrapers: official government gazette notices.
- Remaju Peru Scraper: Peruvian judicial auction records.
- B3 Scraper: Brazilian stock exchange data.
- SEC EDGAR Company Filings Scraper: US SEC filings by ticker or CIK.
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:
| Recurso | Este ator (scrapers_lat/datajud-scraper) | parseforge/brazil-cnj-court-scraper | trev0n/jusbrasil-court-scraper |
|---|---|---|---|
| Fonte | API oficial CNJ DataJud | API oficial CNJ DataJud | JusBrasil (agregador secundário) |
| Tribunais | Mais de 90 (STF, STJ, TST, TSE, STM, TRF, TJ, TRT, TJM) | Mais de 90 | Principais tribunais via JusBrasil |
| Consulta paralela em vários tribunais | Sim (tribunais[]) | Não (um tribunal) | Um ou todos |
| Busca por número do processo | Sim, em lista, entre tribunais | Sim, um número | Sim |
| Busca em texto livre | Sim (query) | Não | Sim |
| Filtro por classe | Sim, código de classe (exato) | Só correspondência parcial de texto | Não |
| Filtros de assunto / órgão julgador / grau | Sim (3 filtros) | Não | Não |
| Filtro por código de movimento | Sim | Não | Não |
| Faixas de data de ajuizamento e de última atualização | Sim (ambas) | Não | Não |
Histórico completo de andamentos (movimentos) | Sim, com órgão julgador por movimento e complementos | Só metadados, sem documentação | Texto da decisão, não o andamento |
| Sinais derivados (último movimento, dias desde, contagem) | Sim | Não | Não |
| Resumo de IA, tradução em inglês, extração estruturada | Sim (complementos opcionais) | Não | Não |
| Esquema de saída documentado | Sim, todos os campos | Não | Sim |
| Preço por resultado | Ver aba de preços | US$ 0,021 | a 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;
ultimoMovimentoNomeedataHoraUltimaAtualizacaomostram 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
| Campo | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
maxCases | inteiro | não | 10 | Máximo de registros de processo a coletar (total entre os tribunais). |
tribunal | enum | não | tjsp | Í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). |
tribunais | string[] | 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. |
processNumbers | string[] | 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. |
query | string | não | (vazio) | Busca em texto livre no índice do tribunal (nomes de classe, assunto e movimento), por exemplo recuperação judicial. |
classeCode | inteiro | não | (nenhum) | Filtra por código de classe processual (tabela TPU/CNJ), por exemplo 12154 para Execução de Título Extrajudicial. |
assuntoCode | inteiro | não | (nenhum) | Filtra por código de assunto/matéria (tabela TPU/CNJ). |
orgaoJulgadorCode | inteiro | não | (nenhum) | Filtra por código do órgão julgador (câmara/vara). |
grau | string | não | (nenhum) | Filtra por grau/instância, por exemplo G1, G2, JE, SUP. |
movimentoCode | inteiro | não | (nenhum) | Só processos que contêm este código de movimento (tabela de movimentos do CNJ), por exemplo 246 para sentença. |
filedFrom | string | não | (vazio) | Só processos ajuizados nesta data ou depois (YYYY-MM-DD). |
filedTo | string | não | (vazio) | Só processos ajuizados nesta data ou antes (YYYY-MM-DD). |
updatedFrom | string | não | (vazio) | Só processos com última atualização nesta data ou depois (YYYY-MM-DD). |
updatedTo | string | não | (vazio) | Só processos com última atualização nesta data ou antes (YYYY-MM-DD). |
withSummary | booleano | não | false | Complemento pago. Resumo do processo em português claro. Cobrado apenas quando produzido. Requer plano pago da Apify. |
withTranslate | booleano | não | false | Complemento pago. Resumo/tradução claro em inglês de cada processo. Cobrado apenas quando produzido. Requer plano pago da Apify. |
withExtract | booleano | não | false | Complemento 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.
| Campo | Tipo | Descrição |
|---|---|---|
numeroProcesso | string | Número CNJ do processo, 20 dígitos. |
id | string | Id do documento no DataJud, por exemplo TJSP_386_G1_10542_00182260520208260050. |
tribunal | string | Código do tribunal, por exemplo TJSP. |
grau | string | Grau/instância judicial, por exemplo G1. |
nivelSigilo | inteiro | Nível de sigilo (0 = público). |
classeCodigo | inteiro | Código da classe processual. |
classeNome | string | Nome da classe processual. |
assuntoPrincipal | string | Nome do assunto principal (o primeiro), por conveniência. |
sistemaCodigo | inteiro | Código do sistema de origem. |
sistema | string | Sistema de origem, por exemplo SAJ, PJe. |
formatoCodigo | inteiro | Código do formato do processo. |
formato | string | Formato do processo, por exemplo Eletrônico. |
orgaoJulgadorCodigo | inteiro | Código do órgão julgador. |
orgaoJulgadorNome | string | Nome do órgão julgador. |
codigoMunicipioIBGE | inteiro | Código IBGE do município do órgão julgador (null quando a fonte omite). |
dataAjuizamento | string | Data de ajuizamento em ISO 8601. |
anoAjuizamento | inteiro | Ano de ajuizamento, derivado de dataAjuizamento. |
dataHoraUltimaAtualizacao | string | Data/hora da última atualização em ISO 8601. |
indexadoEm | string | Data/hora em ISO 8601 da última indexação do registro pelo CNJ (@timestamp). |
movimentosCount | inteiro | Quantidade de movimentos no andamento. |
primeiroMovimentoData | string | Data em ISO 8601 do primeiro movimento. |
ultimoMovimentoCodigo | inteiro | Código do último movimento. |
ultimoMovimentoNome | string | Nome do último movimento (situação processual atual). |
ultimoMovimentoData | string | Data em ISO 8601 do último movimento. |
diasDesdeUltimoMovimento | inteiro | Dias desde o último movimento (sinal de atividade/dormência). |
assuntos | object[] | Assuntos, cada um {codigo, nome}. |
movimentos | object[] | Andamento completo, cada item {codigo, nome, dataHora, orgaoJulgadorCodigo, orgaoJulgadorNome, complementos[]}. |
url | string | URL de consulta pública do processo no CNJ. |
aiSummary | string | Resumo do processo em português por IA. null quando withSummary está desativado. |
aiSummaryEn | string | Resumo/tradução em inglês por IA. null quando withTranslate está desativado. |
aiExtract | object | Extração estruturada por IA {caseClass, subjects, currentStage, court, keyDates, amounts}. null quando withExtract está desativado. |
observedAt | string | Data/hora em ISO 8601 da coleta do registro. |
error | string | null 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:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginar datasets grandescurl "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
errorpreenchido e não cobra por ele. Execuções vazias não custam nada. - Limite de gasto respeitado. Defina
maxTotalChargeUsdna 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
maxCasesmaior.
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
- Colombia Rama Judicial Scraper: registros judiciais da Colômbia.
- Brazil CNPJ Scraper: registros do cadastro de empresas do Brasil.
- Boletim Oficial (Diário Oficial) Scrapers: publicações de diários oficiais do governo.
- Remaju Peru Scraper: registros de leilões judiciais do Peru.
- B3 Scraper: dados da bolsa de valores do Brasil.
- SEC EDGAR Company Filings Scraper: registros da SEC dos EUA por ticker ou CIK.
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.
