ParseForge Scrapers

CourtListener Opinions Scraper

parseforge/court-listener-opinions-scraper

OtherNews & media

Scrapes court opinions from CourtListener's public feeds by court. Returns each opinion as a flat row with full text and metadata.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
97
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

CourtListener Opinions Scraper

Scrape US court opinions from CourtListener by court, up to a million per run. Each opinion comes with its full text, case metadata, and citation details. No API key or login. Export to CSV, JSON, Excel, or XML.

CourtListener's official API requires registration and rate limits. This Actor reads the public opinion feeds directly, filtered by court, and returns each match in one fixed schema. It covers the Supreme Court, all federal appellate circuits, and dozens of district courts.

Who uses it What they scrape CourtListener for
Legal researchers Pull recent opinions from a specific court to track new rulings
Law firms Monitor courts where they practice for decisions affecting clients
Journalists Gather opinions on a topic from multiple courts for reporting
Data analysts Build datasets of case law for empirical legal studies
Legal tech developers Feed opinion data into applications for search and analysis

What it does

This Actor collects court opinions from CourtListener by court and returns each one as a flat row with full text and metadata.

  • ๐Ÿ›๏ธ Court selection: Choose from 46 courts, including SCOTUS, all circuits, and major district courts, or use 'all' for the high-volume feed.
  • ๐Ÿ“„ Full opinion text: Each row includes the complete opinion text as published on CourtListener.
  • ๐Ÿ”ข Flexible volume: Set maxItems from 1 to 1,000,000 opinions per run.
  • ๐Ÿ“Š Structured output: Flat rows with case name, docket number, date filed, court, and more.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with CourtListener data

๐Ÿ“ˆ Track new rulings.

A legal researcher sets the court to 'scotus' and maxItems to 50 to get the latest Supreme Court opinions for a weekly digest.

๐Ÿข Monitor client-relevant cases.

A law firm runs the Actor daily for the Northern District of California to catch new decisions involving their clients' industries.

๐Ÿ“ฐ Support investigative reporting.

A journalist scrapes opinions from multiple circuit courts to identify trends in rulings on a specific legal issue.

๐Ÿ“Š Build empirical datasets.

A data analyst collects thousands of opinions from the Tax Court to study outcomes by judge and case type.

โš–๏ธ Power legal applications.

A developer uses the Actor to populate a searchable database of recent opinions for a legal research tool.

Why choose this scraper

What you get
No API key Uses CourtListener's public feeds, no registration or OAuth
Full text included Get the complete opinion text, not summaries
Wide court coverage 46 courts from SCOTUS to district courts
Scalable Collect up to a million opinions in one run

How it compares

This Actor focuses on high-volume opinion scraping from CourtListener's public feeds, while competitors offer broader search or API access.

Feature ParseForge Court Records Scraper CourtListener Opinion Scraper - US Court Case Law API CourtListener Legal Data Scraper
Full opinion text Yes Not listed Not listed Not listed
Court selection Yes, 46 courts Yes, 400+ courts Yes, 3,350+ courts Not listed
No API key required Yes Yes Not listed Not listed
Max items per run Yes, up to 1,000,000 Not listed Not listed Not listed
Filter by judge No Not listed Yes Not listed
Filter by date range No Yes Yes Not listed
Filter by keyword No Yes Yes Not listed

Configure the run

Drive the Actor with a court selection and a maximum number of opinions. The court filter runs as opinions are read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the CourtListener Opinions Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to CourtListener through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/court-listener-opinions-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that the selected court has recent opinions. Some courts may have low volume. Try setting court to 'all' or a higher-volume court like 'scotus'.

The run is taking too long.

Reduce maxItems to limit the number of opinions collected. The Actor stops once it reaches that number.

I got fewer results than maxItems.

The court may not have enough opinions to reach your maxItems. Try a different court or 'all' for the high-volume feed.

The output is missing some fields.

CourtListener's feeds may not include every field for every opinion. Check the sample output to see which fields are typically populated.

Can I get opinions from a specific judge?

This Actor does not filter by judge. You can export the data and filter locally, or use the CourtListener API for more granular queries.

FAQ

Question Answer
Do I need an API key or login? No. This Actor reads CourtListener's public feeds directly, so no registration or authentication is required.
Which courts can I scrape? You can choose from 46 courts, including the Supreme Court, all federal appellate circuits, and many district courts. Select 'all' for the high-volume feed across all courts.
Does the output include the full opinion text? Yes, each row includes the complete opinion text as published on CourtListener, along with metadata like case name, docket number, and date filed.
How many opinions can I get in one run? You can set maxItems from 1 to 1,000,000. The Actor will collect up to that many opinions from the selected court.
What formats can I export to? You can export the results to CSV, JSON, Excel, or XML using Apify's standard dataset export options.
Is this legal to scrape? CourtListener provides public feeds for bulk access to court opinions. Scraping public court data is generally permissible, but you should review CourtListener's terms of service and any applicable laws.
Can I filter by date or keyword? This Actor filters by court only. For date or keyword filtering, you can post-process the results or use a different tool that queries the CourtListener API.
How current is the data? The Actor pulls from CourtListener's live feeds, so you get the most recent opinions available at the time of the run.
What is the difference between this and the CourtListener API? The official API requires registration and has rate limits. This Actor bypasses those by reading the public feeds directly, with no key needed.
Can I scrape state court opinions? The current court list focuses on federal courts. State court opinions are not included in this Actor's options.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Free Law Project. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
court string (46 options) Court to scrape opinions from. 'all' returns the latest high-volume feed across all courts. scotus
maxItems integer How many opinions to collect per run. 10

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~court-listener-opinions-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "court": "scotus",
    "maxItems": 3
  }'

Examples

Input that runs as-is.

input.json
{
  "court": "scotus",
  "maxItems": 3
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run CourtListener Opinions Scraper on Apify All scrapers