CourtListener Scraper — US Case Law & Opinions
Pricing
from $3.00 / 1,000 results
CourtListener Scraper — US Case Law & Opinions
Search US case law and court opinions (plus judges, oral arguments, dockets) by keyword, court and date. Case name, court, date filed, citations, docket, judges and status. Powered by CourtListener. Keyless, no anti-bot.
Search US case law and court opinions — plus judges, oral arguments and dockets — by keyword, court and date. For every result you get the case name, court, date filed, citations, docket number, judges, precedential status and a direct link — as clean JSON/CSV/Excel.
Powered by CourtListener (a Free Law Project), via its public REST API. Keyless (optional token for higher limits), no anti-bot — built for legal research, case-law monitoring and legal datasets.
What this Actor does
Choose a search type and give it queries:
- Opinions (case law) — search millions of court opinions. Each result: case name, court & jurisdiction, date filed, citations and citation count, docket number, judges, precedential status, nature of suit and a link.
- Judges / People — find judges and people in the legal system.
- Oral arguments — search argued cases.
- Dockets (RECAP) — search federal docket data.
Filter by court (e.g. scotus, ca9) and date range, and it paginates automatically up to your limit.
Why use it
- Legal research at scale. Pull every opinion matching a topic, across courts and years, into one structured table.
- Case-law monitoring. Schedule queries for your practice areas (e.g. "data privacy", "qualified immunity") to track new decisions as they land.
- Citation & trend analysis.
citeCountand dates let you spot the most influential and the most recent cases. - Free and open. CourtListener is a non-profit legal database — no paywall, no key required (optional token just raises your rate limit).
- Clean, linkable records. Every row links straight to the full opinion on CourtListener.
Who it's for
- Lawyers & paralegals researching precedent and monitoring new decisions.
- Legal researchers & academics building case-law datasets.
- Litigation & compliance teams tracking rulings in their areas.
- Legal-tech & AI builders feeding case law into search, summarization or RAG pipelines.
Quick start
Run it in the console (no code)
-
In Search queries, add one per line:
data privacypatent infringement"qualified immunity" -
Pick a Search type (Opinions is the default).
-
(Optional) set a Court (
scotus,ca9,cand…) and a date range. -
Click Start, then export as JSON, CSV, Excel or HTML.
Leave queries empty to run a demo.
Run it via API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input = {"queries": ["data privacy", "first amendment"],"searchType": "o","court": "scotus","dateFiledAfter": "2020-01-01","maxItemsPerQuery": 200,}run = client.actor("YOUR_USERNAME/courtlistener-scraper").call(run_input=run_input)for c in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{c['dateFiled']} · {c['court']} · {c['caseName']} ({c['citeCount']} cites)")
Run it via API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('YOUR_USERNAME/courtlistener-scraper').call({queries: ['patent infringement'],searchType: 'o',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((c) => console.log(`${c.caseName} — ${c.court} (${c.dateFiled})`));
Input
| Field | Type | Description |
|---|---|---|
| Search queries | array | One legal search per line. Supports CourtListener search operators. Empty = demo. |
| Search type | select | Opinions (case law), Judges / People, Oral arguments, Dockets (RECAP). |
| Court filter | string | CourtListener court ID, e.g. scotus, ca9, cand. Empty = all. |
| Filed after / before | string | YYYY-MM-DD date bounds. |
| Max results per query | integer | Paginates automatically. Default 100. |
| CourtListener API token | string (secret) | Optional — a free token raises your rate limit. |
| Speed (parallel queries) | integer | Keep modest; CourtListener is a non-profit. Default 3. |
| Proxy configuration | object | Apify Proxy. On by default. |
Common court IDs
scotus (Supreme Court), ca1…ca11 + cadc + cafc (Circuit Courts), cand/nysd/txsd… (District Courts), and many state courts. Leave empty to search all.
Output
One record per opinion (search type o):
{"query": "data privacy","searchType": "o","caseName": "Atlas Data Privacy Corp. v. We Inform, LLC","caseNameFull": "Atlas Data Privacy Corporation v. We Inform, LLC","court": "Supreme Court of New Jersey","courtId": "nj","jurisdiction": "State Supreme","dateFiled": "2026-08-12","citation": "","neutralCite": "","citeCount": "0","docketNumber": "A-8-25","clusterId": "10945723","judge": "","panelNames": "","status": "Published","suitNature": "","posture": "","attorney": "","url": "https://www.courtlistener.com/opinion/10945723/atlas-data-privacy-corp-v-we-inform-llc/","scrapedAt": "2026-10-10T12:00:00.000Z"}
| Field | Description |
|---|---|
caseName / caseNameFull | Short and full case names. |
court / courtId / jurisdiction | Court, its ID and jurisdiction. |
dateFiled / dateArgued | Key dates. |
citation / neutralCite / citeCount | Reporter citations and how many times the case has been cited. |
docketNumber / clusterId | Docket number and CourtListener opinion-cluster ID. |
judge / panelNames | Authoring judge and panel. |
status | Precedential status (Published, Unpublished…). |
suitNature / posture / attorney | Nature of suit, procedural posture, attorneys (when available). |
url | Direct link to the full opinion. |
scrapedAt | ISO timestamp. |
Tips & notes
- Monitor a practice area. Schedule the Actor with your topics +
dateFiledAfterset to "recent" to catch new decisions. - Use
citeCount. Sort by it to surface the most influential cases on a topic. - Narrow by court.
court=scotusor a circuit ID focuses research fast. - Fields vary by case. Older/state cases may lack a judge, citation or attorney — that's the underlying data, which the Actor passes through as-is.
- Be kind. CourtListener is a non-profit — keep concurrency modest, or add a free API token for higher limits.
Frequently asked questions
Do I need an API key? No. It uses CourtListener's public REST API. A free token is optional and only raises your rate limit.
How much case law is there? Millions of opinions across federal and state courts, plus dockets, judges and oral arguments.
Can I limit to the Supreme Court or a circuit?
Yes — set the Court filter to a court ID like scotus or ca9.
Can I get only recent decisions? Yes — set Filed after (and optionally Filed before) to a date.
Is this good for legal AI / RAG? Yes — clean, linkable, structured case-law records are ideal for legal search, summarization and retrieval pipelines.
Export & integrate
Results are available as JSON, CSV, Excel, HTML and via the Apify API. Push to Google Sheets, a webhook, Make, Zapier or your database — and schedule runs for ongoing case-law monitoring.
Data from CourtListener, a project of the Free Law Project.