CourtListener Federal Docket Scraper — RECAP API avatar

CourtListener Federal Docket Scraper — RECAP API

Pricing

from $100.00 / 1,000 docket returneds

Go to Apify Store
CourtListener Federal Docket Scraper — RECAP API

CourtListener Federal Docket Scraper — RECAP API

Scrape federal court dockets via CourtListener / Free Law Project — case name, docket number, court, parties, attorneys, filings, hearing schedule, jurisdiction. PACER alternative for litigation paralegals, legal-tech, e-discovery vendors, journalists tracking federal litigation.

Pricing

from $100.00 / 1,000 docket returneds

Rating

0.0

(0)

Developer

NexGenData

NexGenData

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

3

Monthly active users

4 days ago

Last modified

Categories

Share

⚖️ CourtListener Federal Docket Scraper — federal court dockets from the RECAP archive

Scrape federal court dockets — district courts, appellate courts, and the Supreme Court — via CourtListener's RECAP archive. Search by case name, party, attorney, court, nature of suit, or date filed. Every row is one docket, returned as structured JSON.

Pricing

This actor uses pay-per-event pricing on Apify.

EventPrice
Docket returned (primary — one delivered docket row)$0.10
Actor start$0.00005 per run, per GB of memory (minimum 1)

You are charged only for docket rows actually delivered to the dataset. A run that matches nothing charges nothing beyond the start fee. A run that cannot reach CourtListener fails and charges nothing beyond the start fee.

For high-volume use (100K+ records/month), contact NexGenData about volume terms.

What You Get

Each dataset row is one docket, with these fields (populated wherever CourtListener's RECAP search index provides them):

FieldNotes
case_name, case_name_full, docket_number, docket_idCase identity
court, court_id, court_citatione.g. txed / "E.D. Tex."
date_filed, date_argued, date_terminatedISO dates
assigned_to, assigned_to_id, referred_to, referred_to_idPresiding and referral judge, where indexed
nature_of_suit, cause, jurisdiction_type, jury_demandCivil cover-sheet metadata
chapter, trusteeBankruptcy dockets
parties, party_idsParty names as indexed
attorneys, attorney_ids, firms, firm_idsCounsel as indexed
pacer_case_id, docket_urlLink back to the CourtListener docket page
recap_documents_countHow many RECAP documents the search hit carried
sourceAlways courtlistener.com

The field set is stable across runs — safe to load into a warehouse without re-mapping each refresh.

What this actor does not return: individual docket-entry text, PDF byte content, attorney contact details or bar admissions, related/consolidated case graphs, or appellate history. Those are not in the v4 RECAP search index this actor reads. Many CourtListener fields are sparse — attorneys, firms, cause and nature_of_suit are frequently empty on newly-filed dockets, and the row reflects that honestly rather than guessing.

Input

FieldTypeNotes
search_querystringFree-text search across case name, parties, counsel, filing text.
courtstringCourt ID filter, e.g. scotus, ca9, cand, nysd, txed.
date_filed_after / date_filed_beforestringYYYY-MM-DD.
nature_of_suitstringFederal nature-of-suit code, e.g. 830 (patent).
max_resultsinteger1–2000. Each result is one docket and one charge.
apiTokenstring (secret)Optional CourtListener API token.

At least one of search_query, court or nature_of_suit is required. If none is supplied the run succeeds with 0 rows and a status message naming the missing field — nothing is charged.

About the API token

CourtListener throttles anonymous callers hard. Runs without a token share one small quota across every anonymous datacenter IP, and can be refused with HTTP 429 for over an hour at a time. A personal token is free at https://www.courtlistener.com/help/api/rest/ and raises the limit substantially. Supply apiToken for any run larger than a few pages.

Quick Start

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgendata/courtlistener-federal-docket-scraper").call(run_input={
"search_query": "patent infringement",
"date_filed_after": "2025-01-01",
"max_results": 50,
"apiToken": "YOUR_COURTLISTENER_TOKEN",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["case_name"], item["docket_number"], item["court_id"])
curl -X POST "https://api.apify.com/v2/acts/nexgendata~courtlistener-federal-docket-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"search_query": "patent infringement", "max_results": 50}'

Schedule it on Apify's built-in scheduler for daily or hourly refreshes.

How Runs End

This actor is explicit about outcomes so you are never billed for silence:

  • Rows delivered — status message reports how many dockets were returned and charged.
  • Nothing matched — the run succeeds with 0 rows and says so, including CourtListener's own match count. Nothing is charged.
  • Source unreachable, throttled, or its response shape changed — the run FAILS with a status message naming the cause. A blocked source is never reported as an empty result.
  • Run time limit reached — the run stops cleanly before the platform timeout, keeps the rows already delivered, and says "stopped early at the run time limit". Only delivered rows are charged.

Why This Beats Paying PACER Directly

  • PACER charges $0.10 per page with a $3-per-document cap; a complex docket can run to tens of dollars. This actor reads CourtListener's free RECAP mirror and charges a flat rate per docket row.
  • No Westlaw or Bloomberg Law seat — those are per-seat annual licences. This is per-row with no minimum.
  • Full-text search across indexed filing text, not just case metadata.

Use Cases

  • Litigation analysts — track newly-filed federal suits in a sector (patent, antitrust, class actions).
  • Law firms — prospecting: identify companies newly named as defendants in your practice area.
  • Journalists — build a feed of new filings against named companies.
  • Academic researchers — empirical legal-studies panels: case duration, court effects, filing volumes.
  • Compliance teams — monitor litigation exposure across a portfolio.

FAQ

Q: Is this PACER or CourtListener? A: CourtListener's RECAP archive — an open mirror of PACER documents contributed by users, run by the Free Law Project (a 501(c)(3) nonprofit). Coverage is good but not complete; documents nobody has contributed are not in RECAP.

Q: Is this legal? A: Yes. These are public-record federal court filings served by a public API.

Q: How fresh is the data? A: CourtListener mirrors PACER on an ongoing basis, typically within hours. This actor reads the API live on each run.

Q: Can I search by judge? A: Put the judge's name in search_query — CourtListener's full-text index covers the judge field. There is no separate judge input.

Q: What about state courts or sealed cases? A: Federal only. Sealed dockets are not available on CourtListener or on PACER public access.

Q: Why did my run fail with HTTP 429? A: You ran without an apiToken and hit CourtListener's anonymous quota. Get a free token (link above) and set it. The run fails rather than returning a silent empty dataset so you know the difference between "no matches" and "we were blocked".

Sister Actors in the NexGenData Fleet

Use caseActor
FTC enforcement actionsftc-enforcement-actions-scraper
CFPB consumer complaintscfpb-consumer-complaints-scraper
EPA enforcement and complianceepa-echo-enforcement-scraper
Federal Register rule filingsfederal-register-rules-scraper
SEC 8-K material eventssec-form-8k-material-events-scraper
USAspending federal awardsusaspending-federal-awards-scraper

Browse the catalog at https://apify.com/nexgendata?fpr=2ayu9b.

Built by independent regulatory-data engineers. Reach out via the Apify message form for custom integrations.