Brazil DataJud Court Cases Scraper | CNJ Metadata
Pricing
from $4.00 / 1,000 court cases
Brazil DataJud Court Cases Scraper | CNJ Metadata
Search Brazilian court case metadata on DataJud (CNJ) across state, federal, labour and electoral tribunals. Filter by CNJ case number, class, subject or filing date; export court, class, subjects, filing dates and optional latest movements as JSON, CSV or Excel. No party names.
Pricing
from $4.00 / 1,000 court cases
Rating
0.0
(0)
Developer
Philip Kirkbride
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Features
Share
Brazil DataJud Court Case Metadata
Search public Brazilian court case metadata across many tribunals in one run. Filter by CNJ case numbers, TPU class and subject codes, or filing dates. Export consistent English fields with the original Portuguese code labels, source links and optional latest movements.
Use this Actor only for lawful KYC, credit and legal research under Brazil's LGPD. You are responsible for establishing and documenting your own legal basis, purpose, necessity, retention period and access controls. Public availability alone does not establish a legal basis. Do not use this Actor to profile individuals or make automated adverse decisions about them. Case metadata is not evidence of liability, guilt or creditworthiness. Seek qualified legal advice for your intended processing.
Typical uses
- Case monitoring: follow new filings by class or subject code in the labour, federal or state courts that matter to you.
- Dispute and credit checks: confirm that a CNJ case number exists and read its court, class, subjects and latest movement dates.
- Portfolio analytics: count filings per court, class or subject over a filing-date window and chart the trend.
- Legal-intelligence feeds: feed a normalized metadata stream (no party names) into a search index or dashboard.
How it works
- Pick tribunals (or
["all"]for one tribunal group) and optional filters. - The Actor queries each selected index with its own pagination cursor and normalizes every record into the same field names.
- Rows are deduplicated by source index and record ID, then saved to the dataset for JSON, CSV or Excel export.
Quick start
{"tribunals":["TRT1","TRF1","TJSP"],"maxResults":5}
The default searches three tribunal indices. An empty run (no filter, no
tribunal choice and no maximum) returns a 5-record sample and says so in the
status message and OUTPUT (usedExample: true). A 100-case run:
{"tribunals":["all"],"tribunalGroup":"TRF","maxResults":100}
Tribunals are visited in turn; results are ordered by source update timestamp within each tribunal, oldest first, and the combined output has no global ordering. A cap can leave some tribunals unvisited. This is a metadata snapshot, not a complete judicial background check.
Inputs
| Input | Default | Meaning |
|---|---|---|
tribunals | ["TRT1","TRF1","TJSP"] | Official tribunal codes; ["all"] expands the selected group. |
tribunalGroup | TRT | TJ state and state military, TRF federal, TRT labour, or TRE electoral; used only for all. |
caseNumbers | [] | Up to 100 formatted or bare 20-digit CNJ case numbers. |
classCodes | [] | Numeric TPU class codes. |
subjectCodes | [] | Numeric TPU subject codes. |
filingDateFrom, filingDateTo | omitted | Inclusive YYYY-MM-DD filing date range. |
maxResults | 20 | Global cap, 1–10,000 records. |
includeMovements | false | Add latest public movement date/code/name triples. |
latestMovements | 5 | Movement limit per row, 1–100. |
apiKey | resolved at runtime | Optional public-key override. Otherwise DATAJUD_API_KEY, then the current key on CNJ's official access wiki. |
Values within a code list match any value; different filters are combined. Case-number searches derive their tribunal indices from the CNJ J.TR segment, overriding the tribunal selection. Filing-date filters include both ISO dates and compact CNJ timestamps, with inclusive calendar-day bounds. Supported tribunal codes come from CNJ's published catalogue (91 endpoints at capture); a renamed or newly added index requires a catalogue update. Filters that match nothing fail the run with a plain message instead of returning an empty dataset.
Output
One row represents a source case record. The same CNJ case can appear in several degrees or courts; rows are deduplicated by source index and record ID.
Fields: caseId, caseNumber, tribunal, court, class, subjects,
filingDate, filingDateRaw, lastUpdate, degree, system, format,
movementCount, latestMovements, sourceIndex, sourceUrl, scrapedAt.
Court, class, subjects, system and format carry code and name. Latest
movements carry code, name and date; the array is empty when disabled.
The source URL is the official search API and requires a POST query to reproduce
the row, rather than opening a case detail page.
Dates use ISO 8601. Compact source filing dates have no published timezone and
remain without an offset; filingDateRaw preserves the original value.
scrapedAt is UTC retrieval time and does not establish source freshness.
CNJ records can lag court systems; sealed cases and unpublished information
are outside coverage. No party names, movement complements or external
personal-data enrichment are included.
The run summary (OUTPUT) reports the delivered count, whether the run was the
empty-input sample, the tribunal list and any incomplete queries.
Example public metadata row:
{"caseId": "TRT1_G2_01016068820245010483","caseNumber": "0101606-88.2024.5.01.0483","tribunal": "TRT1","court": {"code": 82967,"name": "Gabinete 52"},"class": {"code": 1009,"name": "Recurso Ordinário Trabalhista"},"subjects": [{"code": 13769,"name": "Horas Extras"},{"code": 13772,"name": "Intervalo Intrajornada"}],"filingDate": "2026-03-11T08:40:44","filingDateRaw": "20260311084044","lastUpdate": "2026-07-07T02:04:01.848000Z","degree": "G2","system": {"code": 1,"name": "PJe"},"format": {"code": 1,"name": "Eletrônico"},"movementCount": 6,"latestMovements": [],"sourceIndex": "api_publica_trt1","sourceUrl": "https://api-publica.datajud.cnj.jus.br/api_publica_trt1/_search","scrapedAt": "2026-11-01T00:48:14.166153Z"}
Pricing
Pay per result:
- $0.005 actor start (one start event per GB of memory; the default 512 MB run is one start event).
- $0.004 per delivered case row.
Worked costs: the 5-row sample is about $0.025; a 20-row run about $0.085; a 100-row federal sweep about $0.405. Rows are charged only when they are delivered, and a run that delivers nothing fails instead of charging.
Reliability and limits
Results are available as collection progresses. If some tribunals fail after rows were delivered, the run succeeds with an incomplete-query status naming those tribunals. Zero delivered rows fails plainly, including a genuinely empty search; inspect the status. A reached row cap is a partial search, not an assertion of full coverage. Changes to the source during collection may affect coverage; results are not a guaranteed point-in-time snapshot.
Requests are paced below CNJ's published 120-per-minute limit, and the run reserves time to save what it has before its timeout.
FAQ
What does one row mean? One source case record in one court index. The same
CNJ number can appear in more than one degree or court; use caseNumber to
group them.
Are there party names? No. The Actor collects metadata and public movement dates only; names and movement complements are deliberately not included.
Can I look up a single case number? Yes — pass it formatted
(NNNNNNN-DD.YYYY.J.TR.OOOO) or as 20 digits; the tribunal is derived from the
number and overrides tribunals.
Why did the run fail with "no rows delivered"? Either the filters match nothing or the source refused every request; the status message names which. Broaden the dates or codes and re-run.
What is the public API key? CNJ publishes a key on its access wiki. Set
apiKey (or the DATAJUD_API_KEY environment secret) to pin it; otherwise the
Actor resolves the current key itself.
Can I schedule it? Yes. Keep maxResults modest for daily monitoring and
deduplicate on caseId between datasets.
Support
For questions or issues, use the Issues tab on the Actor page and include the run ID.