US Court Dockets Scraper - PACER RECAP Cases avatar

US Court Dockets Scraper - PACER RECAP Cases

Pricing

from $2.00 / 1,000 docket rows

Go to Apify Store
US Court Dockets Scraper - PACER RECAP Cases

US Court Dockets Scraper - PACER RECAP Cases

Scrape US federal court dockets from PACER RECAP (CourtListener): judge, cause, nature of suit, parties, attorneys and law firms, one row per docket or one row per party. Search by keyword, court and filing date for litigation monitoring and legal lead generation.

Pricing

from $2.00 / 1,000 docket rows

Rating

0.0

(0)

Developer

Tom Awake

Tom Awake

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

What does US Court Dockets Scraper do?

Federal court cases with judge, cause, nature of suit, parties, attorneys and law firms — one row per docket, or one row per litigant.

No login. No API key. No proxies.

Two shapes, because two questions

One row per docket answers what is happening in this court: new filings, assigned judge, nature of suit, how many parties.

One row per party answers who to call: every litigant as its own row, with the firms on the case. That is the target list — and it is not a detail. An antitrust docket carries 41 parties on average; flattened into one cell, forty of them are invisible.

Coverage, measured

Coverage depends heavily on how narrow the search is. Measured 13 September 2026:

SearchJudgeFirms
D. Delaware, nature of suit 830, since 2025100 %92 %
Patent infringement, all courts73 %67 %
Antitrust, all courts70 %65 %
Opinions (published decisions)43 %0 %

Narrow beats broad. Filtering to a court and a nature-of-suit code gives near-complete records; a national free-text sweep does not. Opinions carry no firms at all — that is the dataset, not the Actor.

searchType and oneRowPerParty decide which columns fill

A docket that is still being litigated has no published citation; a decision that has been handed down has no list of appearing parties. Asking for one row per party moves the names out of the aggregated column and into their own. None of this is missing data — it is a different question being asked.

Measured 17 September 2026, 120 rows of each mode, same query:

Fielddocketsdockets + oneRowPerPartyopinions
caseName, court, docketNumber, dateFiled100%100%100%
parties (aggregated)98%0%0%
party (one per row)0%98%0%
partyRole0%31%0%
citeCount0%0%100%
status0%0%100%
dateArgued0%0%52%
citation0%0%5%
judge72%71%29%
natureOfSuit87%91%4%

partyRole is 31% by design, not by accident: the registry does not say who represents whom, so only the first-listed party is marked first-listed — the courthouse convention for the plaintiff. The rest are left blank rather than assigned a role the source never stated.

citation is thin even on opinions (5%): most decisions in the index carry no reporter citation. citeCount is the reliable one.

Output

FieldExample
caseNameBristol-Myers Squibb Company v. Amgen Inc.
docketNumber, court, courtId1:26-cv-01044, D. Delaware, ded
dateFiled, dateTerminated, dateArgued
judge, referredToassigned and referring judges
cause35:271 Patent Infringement
natureOfSuit830 Patent
jurisdictionType, juryDemandFederal Question, Plaintiff
party, partyRoleone litigant, when exploded
parties, partyCountall litigants, when not
attorneys, firms, firmCountcounsel on the case
citation, citeCount, statusfor opinions
docketId, pacerCaseId, docketUrlprovenance

partyRole marks only the first-listed party, which by clerk convention is the plaintiff. The source does not state which attorney represents which party, so this Actor does not guess — counsel stays at case level.

Input

{
"query": "patent infringement",
"searchType": "dockets",
"newestFirst": true,
"maxItems": 300
}
FieldDefaultNotes
querypatent infringementCase names and docket text
searchTypedocketsDockets, opinions, documents, oral arguments
oneRowPerPartyfalseExplode litigants into rows
newestFirsttrueFiling date descending
maxItems300Counts rows, not cases
courtcafc, ded, cand, txed, …
natureOfSuit830 patent, 840 trademark, 410 antitrust
filedAfter, filedBeforeYYYY-MM-DD

Use cases

  • Litigation monitoring — new filings in your practice area, by court, sorted newest first. Records appear within days of filing.
  • Law firm business development — who is being sued in your speciality, and which firms already have the work.
  • Competitive intelligence — track a company's litigation, as plaintiff or defendant.
  • IP and antitrust watch — patent and antitrust filings by district, by nature of suit.
  • Expert and judge research — which judges hear which kinds of case.

Running this as a scheduled watch

New filings are the point. A case filed against a company in your portfolio, or in your practice area, is worth knowing about this week — not next quarter.

{
"query": "patent infringement",
"searchType": "dockets",
"filedWithinDays": 7,
"court": "ded",
"maxItems": 300
}

Why not a fixed filedAfter date? A schedule replays the same input every time, so a fixed date returns the same dockets at every run and charges for them again. filedWithinDays moves the window on its own.


Limits, honestly

  • Coverage is partial and varies by query. The table above is measured, not promised. Narrow searches are far richer than broad ones.
  • The source is RECAP, built from PACER documents that users have purchased and contributed. It is extensive but not the complete federal docket, and older or low-traffic cases may be thin.
  • oneRowPerParty multiplies output sharply on mass litigation. Set maxItems with that in mind.
  • Attorneys and firms are listed for the case, not mapped to individual parties.
  • Party and attorney names are personal data on a public record. Using them for outreach in the EU or UK makes you the data controller.
  • Requests are paced out of courtesy to a free public service run by the non-profit Free Law Project.
  • Not affiliated with CourtListener or the Free Law Project.

How much does it cost?

You pay per docket row returned: $0.003 each, that is $3.00 per 1,000. There is no start fee, and subscription plans pay less per docket row.

The example input below asks for up to 300 docket rows, so it costs $0.90 at most.

If a run reaches the spending limit you set, the output stops at that limit and never goes past it. You are never charged for rows that were not delivered.

Use US Court Dockets Scraper as an API

Call it from your own code with the Apify client, here in Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("DataIO/pacer-recap-court-dockets").call(run_input={
'query': 'patent infringement',
'searchType': 'dockets',
'newestFirst': True,
'maxItems': 300,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

It also works from JavaScript, Make, Zapier, n8n, and from AI agents through the Apify MCP server.

FAQ

The actor reads public data from its official source, without logging in and without bypassing any access control. What you do with the data, for example contacting people listed in it, is your responsibility under the laws that apply to you, such as GDPR in Europe.

Can I run it on a schedule?

Yes. See Running this as a scheduled watch above: use the rolling-window setting so each run returns only what is new.

Can AI agents use it?

Yes. It is available through the Apify MCP server, and every input field is described in its input schema, so an agent can call it directly.

Other actors you might like