docketx/us-caselaw-ca
California Case Law Code & tools: github.com/docketx — legal-scrambler pseudonymises a case file on your own hardware before a frontier model sees it; claude-for-legal is the Claude Code plugin (docketx-open-law) that loads these datasets and checks citations against them. Full text of 242,989 California appellate opinion documents from the public record. The base slice is 242,831 documents from the Free Law Project / CourtListener bulk export of 2026-06-30.… See the full description on the dataset page: https://huggingface.co/datasets/docketx/us-caselaw-ca.
California Case Law
Code & tools: github.com/docketx — legal-scrambler pseudonymises a case file on your own hardware before a frontier model sees it; claude-for-legal is the Claude Code plugin (docketx-open-law) that loads these datasets and checks citations against them.Full text of 242,989 California appellate opinion documents from the public record. The base slice is 242,831 documents from the Free Law Project / CourtListener bulk export of 2026-06-30. data/ca-delta-2026-06-29-to-2026-09-11.jsonl.gz ADDS 158 opinions filed after that snapshot, harvested directly from CourtListener's live search API and its own object storage (never a state court's own search portal, several of which disallow automated access) — added 2026-09-14.
Court coverage (9 court ids, explicit allowlist — never prefix-matched): cal, calappdeptsuper, calctapp, calctapp1d, calctapp2d, calctapp3d, calctapp4d, calctapp5d, calctapp6d.
Lead opinions and separate opinions; documents under 1 characters excluded. Slice sha256 2b5efd77aa7e36819f623d304e4f2c38eaa29f0ac9703f2de648694561d59b8b (also in slice.manifest.json).
Composition
Measured on this exact slice: 227,405 documents (93.6%) carry 2,000+ characters of text, 14,462 (6.0%) carry 200-1,999, and 964 (0.4%) are under 200 characters. The short ones are real records, not errors: certiorari denials, one-line orders, and judgment entries. They are kept deliberately (min_chars = 1) so this is the complete public record rather than a filtered subset. Filter on len(text) if you want only substantive opinions.
Format
Rows follow docketx record v1 (one opinion per line): id, doc_type, jurisdiction, title, text, source, license, retrieved_at, plus citation, court, date, and extra (CourtListener opinion/cluster ids, opinion type). The same format is used across every docketx dataset.
Provenance and license
Judicial opinions are edicts of government: uncopyrightable works of the public domain (Banks v. Manchester, 128 U.S. 244 (1888); Georgia v. Public.Resource.Org, 590 U.S. 255 (2020)). This packaging is released under CC0 1.0. Source: CourtListener bulk export (2026-06-30), Free Law Project — https://free.law. This dataset redistributes public-domain court text; it adds no annotation and asserts no rights.
Load it
from datasets import load_dataset
ds = load_dataset("docketx/us-caselaw-ca")Part of the DocketRouter legal corpora: https://huggingface.co/docketx
