CourtListener Legal Search Scraper avatar

CourtListener Legal Search Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
CourtListener Legal Search Scraper

CourtListener Legal Search Scraper

Search US court opinions, federal dockets, and court listings from CourtListener.com - the Free Law Project's open database of 4M+ court opinions. No API key required. Filter by court, date range, and keyword.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Search US court opinions, court dockets, and browse available courts from CourtListener.com — the Free Law Project's open database of 4M+ court opinions from SCOTUS down to federal district courts. No API key or account required.

What You Can Scrape

  • Court Opinions — case names, courts, filing dates, docket numbers, opinion types, citation counts, and status (Published/Unpublished)
  • Court Dockets — case filings, assigned judges, causes of action, and docket numbers
  • Courts List — all available courts with jurisdiction types, short names, and official website URLs

Modes

ModeDescription
searchOpinionsSearch US court opinions / case law via REST API (default)
searchDocketsSearch federal court dockets via REST API
listCourtsList all available courts with metadata

Input Parameters

ParameterTypeDescription
modeSelectOne of searchOpinions, searchDockets, listCourts
queryStringSearch keyword or phrase (e.g. privacy rights, contract breach)
courtStringFilter to a court by its ID slug (e.g. scotus, ca9, nysd)
dateAfterStringOnly return cases filed after this date (YYYY-MM-DD)
dateBeforeStringOnly return cases filed before this date (YYYY-MM-DD)
maxItemsIntegerMax records to return (1–200, default 25)

Output Fields

Opinion Records (mode: searchOpinions)

FieldTypeDescription
clusterIdIntegerCourtListener cluster/opinion ID
caseNameStringCase name (e.g. "Roe v. Wade")
courtStringCourt ID slug (e.g. scotus, ca9)
courtNameStringCourt full name
dateFiledStringDate filed (YYYY-MM-DD)
docketNumberStringDocket/case number
absoluteUrlStringFull URL to the CourtListener opinion page
opinionTypeStringOpinion type code (e.g. 010combined)
citeCountIntegerNumber of times cited by other opinions
statusStringPrecedential status (Published, Unpublished, etc.)
scrapedAtStringISO 8601 UTC timestamp of scrape

Docket Records (mode: searchDockets)

FieldTypeDescription
docketIdIntegerCourtListener docket ID
caseNameStringCase name
courtStringCourt ID slug
courtNameStringCourt full name
dateFiledStringDate case was filed (YYYY-MM-DD)
docketNumberStringDocket/case number
absoluteUrlStringFull URL to the CourtListener docket page
assignedToStringAssigned judge name
causeOfActionStringCause of action (e.g. "42:1983 Civil Rights")
scrapedAtStringISO 8601 UTC timestamp of scrape

Court Records (mode: listCourts)

FieldTypeDescription
courtIdStringCourtListener court ID slug (e.g. scotus)
shortNameStringAbbreviated court name
fullNameStringFull official court name
jurisdictionStringJurisdiction type code (F=Federal, S=State, etc.)
urlStringCourt's official website URL
positionNumberOrdering position in CourtListener's court list
scrapedAtStringISO 8601 UTC timestamp of scrape

Example Inputs

Search SCOTUS opinions about privacy rights:

{
"mode": "searchOpinions",
"query": "privacy rights Fourth Amendment",
"court": "scotus",
"maxItems": 25
}

Search circuit court opinions in a date range:

{
"mode": "searchOpinions",
"query": "contract breach damages",
"court": "ca9",
"dateAfter": "2020-01-01",
"dateBefore": "2024-12-31",
"maxItems": 50
}

Search federal dockets by cause:

{
"mode": "searchDockets",
"query": "patent infringement Apple",
"court": "cafc",
"maxItems": 30
}

List all available courts:

{
"mode": "listCourts",
"maxItems": 200
}

Jurisdiction Codes

The jurisdiction field in court records uses the following codes:

CodeDescription
FFederal Appellate
FDFederal District
FBFederal Bankruptcy
FBPFederal Bankruptcy Panel
FSFederal Special
FTFederal Tax
FLFederal Local Rules
FCFederal Claims
SState Supreme
STState Trial
SAState Appellate
MAMilitary Appellate
TTribal
AGAttorney General
IInternational
BAPBankruptcy Appellate Panel

Supported Court IDs (Examples)

Court IDCourt
scotusSupreme Court of the United States
ca1ca11U.S. Courts of Appeals (1st–11th Circuits)
cadcCourt of Appeals for the D.C. Circuit
cafcCourt of Appeals for the Federal Circuit
nysdU.S. District Court, Southern District of New York
caedU.S. District Court, Eastern District of California
citCourt of International Trade

Use mode: listCourts to get the complete list of all supported court IDs.

FAQs

Does this require a CourtListener account or API key?
No. The scraper uses the CourtListener public REST API v4 which is free and requires no authentication.

How many records can I fetch?
Up to 200 per run. For larger datasets, run multiple times with different date ranges. CourtListener has 4M+ opinions and thousands of dockets indexed.

What courts are covered?
All US federal courts (SCOTUS, 13 circuit courts, 94 district courts, bankruptcy courts, specialty courts) plus many state appellate courts. Use mode: listCourts to see all options.

Is this data current?
CourtListener indexes new opinions within days of publication via partnerships with PACER and direct court feeds.

Are there rate limits?
CourtListener allows 5,000 API requests per day per IP address. The scraper automatically handles retries on rate limit responses (429).

What is the difference between opinions and dockets?
An opinion is the court's written decision on a case. A docket is the procedural record of a case including all filings, motions, and orders. One docket can have multiple opinions.

Technical Notes

  • Data source: CourtListener.com public REST API v4 (Free Law Project)
  • No browser automation — pure HTTP via httpx
  • No proxy, cookies, or authentication required
  • Link-based pagination (next URL field) for large result sets
  • Automatic retries on 429/5xx with exponential backoff + Retry-After header support
  • All output fields are non-null (empty fields are omitted)