Brazil DataJud Court Cases Scraper | CNJ Metadata avatar

Brazil DataJud Court Cases Scraper | CNJ Metadata

Pricing

from $4.00 / 1,000 court cases

Go to Apify Store
Brazil DataJud Court Cases Scraper | CNJ Metadata

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

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Features

Limited permissions

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

  1. Pick tribunals (or ["all"] for one tribunal group) and optional filters.
  2. The Actor queries each selected index with its own pagination cursor and normalizes every record into the same field names.
  3. 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

InputDefaultMeaning
tribunals["TRT1","TRF1","TJSP"]Official tribunal codes; ["all"] expands the selected group.
tribunalGroupTRTTJ 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, filingDateToomittedInclusive YYYY-MM-DD filing date range.
maxResults20Global cap, 1–10,000 records.
includeMovementsfalseAdd latest public movement date/code/name triples.
latestMovements5Movement limit per row, 1–100.
apiKeyresolved at runtimeOptional 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.