CourtListener Legal Opinions & Dockets Scraper
Pricing
$3.00 / 1,000 records
CourtListener Legal Opinions & Dockets Scraper
Scrape US legal opinions, dockets and judges from CourtListener. Search case law by keyword and court. Returns case name, court, date, citation and snippet. Optional token raises limits. Pay per result; empty runs free.
Pricing
$3.00 / 1,000 records
Rating
0.0
(0)
Developer
Christian Pichichero
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
CourtListener Legal Opinions & Dockets Scraper — a fast, reliable courtlistener scraper that needs no API key. You pay only for the results you get: failed or empty runs are always free.
This courtlistener scraper runs on the Apify platform, so you can call it from the API, run it on a schedule, or export results to JSON, CSV, Excel, or Google Sheets.
What this scraper does
- Extracts structured courtlistener data with no browser or API key required
- Returns clean JSON, one record per result — ready for sheets, databases, or apps
- Pay-per-result pricing: you are never charged for a run that returns nothing
- Runs on demand or on a schedule, and integrates with 5,000+ apps via the Apify API and webhooks
What data you get
Each result record includes fields such as:
- Case Name (
caseName) — e.g."SoundExchange, Inc. v. Copyright Royalty Bd." - Case Name Full (
caseNameFull) — e.g."SOUNDEXCHANGE, INC., Appellant v. COPYRIGHT ROYALTY BOARD" - Court (
court) — e.g."Court of Appeals for the D.C. Circuit" - Court Id (
courtId) — e.g."cadc" - Court Citation (
courtCitation) — e.g."D.C. Cir." - Date Filed (
dateFiled) — e.g."2018-09-18" - Date Argued (
dateArgued) — e.g.null - Docket Number (
docketNumber) — e.g."16-1159; C/w 16-1162" - Citation (
citation) — e.g."904 F.3d 41" - Citations (
citations) — e.g.["904 F.3d 41"] - Cite Count (
citeCount) — e.g.5 - Judge (
judge) — e.g."Rogers, Griffith, Srinivasan" - Status (
status) — e.g."Published" - Suit Nature (
suitNature) — e.g."" - Snippet (
snippet) — e.g."Srinivasan, Circuit Judge: This case concerns the rates..."
Input
| Field | Type | Description |
|---|---|---|
searchTerms | array | One or more full-text queries to run against CourtListener. Each term is fetched independently (e.g. "copyr... |
resultType | string | Which CourtListener search index to query: legal opinions, RECAP PACER dockets, judges/people, or oral argu... |
court | string | Optional CourtListener court ID to restrict results to a single court, e.g. "scotus", "cadc", "dcd". Leave ... |
minDateFiled | string | Optional client-side filter (YYYY-MM-DD). Only keep records whose dateFiled (or dateArgued) is on or after ... |
maxResults | integer | Maximum number of records to return per search term. Paging stops once this is reached. |
apiToken | string | Optional Free Law Project API token. Sent as "Authorization: Token |
Example output
{"type": "opinion","caseName": "SoundExchange, Inc. v. Copyright Royalty Bd.","caseNameFull": "SOUNDEXCHANGE, INC., Appellant v. COPYRIGHT ROYALTY BOARD","court": "Court of Appeals for the D.C. Circuit","courtId": "cadc","courtCitation": "D.C. Cir.","dateFiled": "2018-09-18","dateArgued": null,"docketNumber": "16-1159; C/w 16-1162","citation": "904 F.3d 41","citations": ["904 F.3d 41"],"citeCount": 5,"judge": "Rogers, Griffith, Srinivasan","status": "Published","suitNature": "","snippet": "Srinivasan, Circuit Judge: This case concerns the rates...","clusterId": 4535903,"docketId": 7892623,"opinionId": 4313156,"downloadUrl": "https://www.cadc.uscourts.gov/x.pdf","source": "CU","score": 170.80087,"absoluteUrl": "https://www.courtlistener.com/opinion/4535903/soundexchange-inc-v-copyright-royalty-bd/","url": "https://www.courtlistener.com/opinion/4535903/soundexchange-inc-v-copyright-royalty-bd/","scrapedAt": "2026-07-10T00:00:00Z"}
Use cases
- Automate research and data collection
- Feed dashboards, sheets, and databases
- Enrich records in your CRM or app
- Monitor changes on a schedule
Run it as a monitor (alerts on new courtlistener)
Schedule this courtlistener scraper to run automatically — hourly, daily, or on any cron schedule — with the built-in Apify Scheduler, and have results pushed to you by webhook, email, Slack, or your own app the moment they're ready. It's the easiest way to monitor courtlistener for changes over time and get alerted the instant something new appears — no manual runs. Because pricing is per result, a scheduled monitor only ever charges you for the data each run actually returns.
Pricing
This actor uses pay-per-result pricing at $0.0008 per record. There is no monthly fee and no start fee — and empty or failed runs cost $0, so you only ever pay for data you actually receive.
Frequently asked questions
Do I need an API key or account for the source? No. This courtlistener scraper works out of the box with no API key required.
What happens if a run returns no results? You are not charged. Billing is per result, so empty or failed runs are free.
Can I run the courtlistener scraper on a schedule? Yes. Use the Apify Scheduler to run it hourly, daily, or on any cron schedule, and get results by webhook or API.
What export formats are supported? Results can be exported as JSON, CSV, Excel, HTML, or pushed to Google Sheets, a database, or your own app via the Apify API.
Is the data structured? Yes. Every courtlistener result is a clean, flat JSON record you can use immediately.