CourtListener Scraper — US Case Law & Opinions avatar

CourtListener Scraper — US Case Law & Opinions

Pricing

from $3.00 / 1,000 results

Go to Apify Store
CourtListener Scraper — US Case Law & Opinions

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.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

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. citeCount and 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)

  1. In Search queries, add one per line:

    data privacy
    patent infringement
    "qualified immunity"
  2. Pick a Search type (Opinions is the default).

  3. (Optional) set a Court (scotus, ca9, cand…) and a date range.

  4. 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 ApifyClient
client = 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

FieldTypeDescription
Search queriesarrayOne legal search per line. Supports CourtListener search operators. Empty = demo.
Search typeselectOpinions (case law), Judges / People, Oral arguments, Dockets (RECAP).
Court filterstringCourtListener court ID, e.g. scotus, ca9, cand. Empty = all.
Filed after / beforestringYYYY-MM-DD date bounds.
Max results per queryintegerPaginates automatically. Default 100.
CourtListener API tokenstring (secret)Optional — a free token raises your rate limit.
Speed (parallel queries)integerKeep modest; CourtListener is a non-profit. Default 3.
Proxy configurationobjectApify 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"
}
FieldDescription
caseName / caseNameFullShort and full case names.
court / courtId / jurisdictionCourt, its ID and jurisdiction.
dateFiled / dateArguedKey dates.
citation / neutralCite / citeCountReporter citations and how many times the case has been cited.
docketNumber / clusterIdDocket number and CourtListener opinion-cluster ID.
judge / panelNamesAuthoring judge and panel.
statusPrecedential status (Published, Unpublished…).
suitNature / posture / attorneyNature of suit, procedural posture, attorneys (when available).
urlDirect link to the full opinion.
scrapedAtISO timestamp.

Tips & notes

  • Monitor a practice area. Schedule the Actor with your topics + dateFiledAfter set to "recent" to catch new decisions.
  • Use citeCount. Sort by it to surface the most influential cases on a topic.
  • Narrow by court. court=scotus or 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.