CourtListener Scraper: Opinions, Dockets & Full Text
Under maintenancePricing
from $5.00 / 1,000 opinion with full texts
CourtListener Scraper: Opinions, Dockets & Full Text
Under maintenanceScrape CourtListener US court opinions with full text, dockets, oral arguments, judges, citations, and RAG-ready chunks. Includes a private-build token pool and optional per-run token override.
Pricing
from $5.00 / 1,000 opinion with full texts
Rating
0.0
(0)
Developer
Richard Feng
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Share
Scrape US case law from CourtListener (Free Law Project): court opinions with complete full text — not just the search snippets every other scraper returns — plus dockets, oral arguments, judges and citation lookups. Built to survive CourtListener's 2026 rate-limit changes.
Why this one
- Full opinion text, not snippets. Competing actors return the ~300-character search snippet. This Actor follows each result into the database endpoint and returns the complete opinion (
html_with_citations), cleaned and chunked for RAG. - Rate-limit aware. In May 2026 CourtListener cut the free tier to 5/min, 50/hr, 125/day. This Actor paces itself to your tier and handles throttling responses in both formats CourtListener uses (DRF text and the citation-lookup
wait_untilJSON), backing off precisely instead of failing. - Token-aware private build. Private builds can embed a CourtListener token in code, and
apiTokenremains available as a per-run override.
Features
| Feature | Description |
|---|---|
| ⚖️ Opinions | Case-law search with full opinion text + RAG chunks |
| 📁 Dockets / RECAP | Federal dockets and RECAP documents with parties, judges, nature of suit |
| 🎧 Oral arguments | Argument audio metadata with download URLs |
| 👤 Judges | Judge profiles (the "people" database) |
| 🔎 Citation lookup | Resolve citation strings (e.g. 576 U.S. 644) to cases |
Quick Start
{"apiToken": "OPTIONAL_COURTLISTENER_TOKEN_OVERRIDE","searchType": "opinions","query": "qualified immunity","court": "scotus","includeFullText": true,"maxItems": 50}
Input
| Field | Type | Description |
|---|---|---|
apiToken | string (secret) | Optional free token override from courtlistener.com/profile/apikeys. Private builds can embed fallback tokens in code |
searchType | string | opinions, dockets, recap_docs, oral_arguments, judges, citation |
query | string | Full-text query with boolean operators (AND/OR/NOT) and field prefixes |
citations | array | Citation strings to resolve (when searchType is citation) |
court | string | Court ID, e.g. scotus, ca9, nyed |
dateFrom / dateTo | string | Filing-date range (YYYY-MM-DD) |
orderBy | string | score desc, dateFiled desc, citeCount desc… |
includeFullText | boolean | Fetch complete opinion text + chunks (opinions only; default true) |
chunking | string | paragraph (~2000 chars) or none |
requestsPerMinute | integer | Throttle to your tier — keep at 4 for the free tier, raise it with a membership |
maxItems | integer | Max items to save (default 100) |
Output
{"itemType": "legal","searchType": "opinions","id": "10380001","title": "Climate United Fund v. Citibank, N.A.","court": "Court of Appeals for the D.C. Circuit","date": "2025-04-16","url": "https://www.courtlistener.com/opinion/10380001/...","citations": [],"citeCount": 0,"fullText": "...","chunks": [{ "text": "...", "order": 0 }],"meta": { "courtId": "cadc", "clusterId": 10380001 }}
Recipes
1. Build a case-law RAG corpus
Pull a court's opinions with full text, chunked for embeddings:
{"apiToken": "OPTIONAL_TOKEN_OVERRIDE","searchType": "opinions","query": "first amendment retaliation","court": "ca9","includeFullText": true,"chunking": "paragraph","maxItems": 200}
2. Resolve a brief's citations
Turn a list of citations into linked cases:
{"apiToken": "OPTIONAL_TOKEN_OVERRIDE","searchType": "citation","citations": ["576 U.S. 644", "410 U.S. 113", "347 U.S. 483"]}
3. Track a court's docket activity
{"apiToken": "OPTIONAL_TOKEN_OVERRIDE","searchType": "dockets","query": "antitrust","court": "nysd","dateFrom": "2026-01-01","maxItems": 100}
Pricing
Pay-per-event: $0.005 per opinion (with full text), $0.002 per docket / oral argument / judge / citation. A 1,000-opinion corpus costs $5.00.
FAQ
Do I need a token?
Yes. CourtListener requires a token. Private builds can embed a fallback token in code; apiToken lets callers use their own token and rate budget. Tokens are free at courtlistener.com/profile/apikeys. Researchers can request an EDU membership for higher limits.
How fast can it go?
As fast as your tier allows. The free tier is 5 requests/minute since May 2026 — set requestsPerMinute to 4 and the Actor paces itself and backs off on throttling. With a membership, raise it.
Why is full text better than what other scrapers return?
The search API only returns a short snippet. This Actor fetches the opinion record itself, so you get the entire decision — essential for RAG, citation analysis, or fine-tuning.
Legal & Compliance
CourtListener is operated by the non-profit Free Law Project and serves public-domain US court records. This Actor respects the rate limits attached to the token it uses and accesses only public data. Keep private builds private while fallback tokens are embedded in code. Please review CourtListener's terms.