docketx/us-caselaw-tx
Texas 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. Source & credit — Free Law Project / CourtListener Every opinion in this dataset comes from the Free Law Project / CourtListener bulk export of 2026-06-30 (10,798,347 opinions). CourtListener… See the full description on the dataset page: https://huggingface.co/datasets/docketx/us-caselaw-tx.
Texas 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.Source & credit — Free Law Project / CourtListener
Every opinion in this dataset comes from the Free Law Project / CourtListener bulk export of 2026-06-30 (10,798,347 opinions). CourtListener gathered, cleaned, deduplicated and published that record; Free Law Project — the 501(c)(3) non-profit behind it, building free public access to American law since 2010 — pays for it. We sliced and reformatted; they did the hard part. Go to the source: <https://www.courtlistener.com>.
Free Law Project is a non-profit, and it is worth supporting: <https://free.law/donate/>. If this data is useful to you, credit Free Law Project and CourtListener too, and consider going straight to the source: CourtListener runs its own API and MCP server.
Full text of 664,012 Texas appellate opinion documents from the public record. The base slice is 662,717 documents from the Free Law Project / CourtListener bulk export of 2026-06-30. data/tx-delta-2026-06-27-to-2026-09-11.jsonl.gz ADDS 1,295 opinions (all types) filed after that snapshot, harvested directly from CourtListener's own API and object storage — added 2026-09-14.
Court coverage (20 court ids, explicit allowlist — never prefix-matched): tex, texapp, texcrimapp, txctapp1, txctapp10, txctapp11, txctapp12, txctapp13, txctapp13A, txctapp13B, txctapp14, txctapp15, txctapp2, txctapp3, txctapp4, txctapp5, txctapp6, txctapp7, txctapp8, txctapp9.
Lead opinions and separate opinions; documents under 1 characters excluded.
Coverage is not uniform — three courts of appeals stop early
The court allowlist above says which courts are INCLUDED. It does not say how current each one is, and three of them are far behind. Measured 2026-09-13:
14.1% of this dataset belongs to courts that have contributed essentially nothing for ten to nineteen months, and Dallas and Houston-14 cover the two largest metropolitan areas in Texas. Nothing returned from those courts for a recent period is a gap in the record, not an absence of authority.
The gap is upstream: the same three courts stop at the same dates in CourtListener's own 2026-06-30 bulk export and in its live API, both checked directly, so a refresh will not close it. The shape is a decay through late 2024 rather than a clean edge, which looks like a scraper failing rather than a policy change — worth reporting to Free Law Project if you work with Texas appellate data.
662,717 here, 615,391 in the served index — why the two numbers differ
DocketRouter's API says it searches 615,391 Texas opinion documents while this dataset publishes 662,717. Both are measured and they count different things, so here is the arithmetic in full (taken from this dataset's own slice.manifest.json and from the served index, 2026-09-11):
615,391 + 38,008 + 9,318 = 662,717. The served index deliberately holds the documents that carry the court's holding; this dataset holds the whole opinion record, dissents and all. Slice sha256 d41113443112bee822a266a7ee5745311ee6c9da292f0025c291e47937cf4a07 (also in slice.manifest.json).
Composition
Measured on this exact slice: 469,627 documents (70.9%) carry 2,000+ characters of text, 190,256 (28.7%) carry 200-1,999, and 2,834 (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-tx")Part of the DocketRouter legal corpora: https://huggingface.co/docketx
