Federal Court Case Monitor — New Cases & Filings, No Login avatar

Federal Court Case Monitor — New Cases & Filings, No Login

Pricing

from $20.00 / 1,000 alerts

Go to Apify Store
Federal Court Case Monitor — New Cases & Filings, No Login

Federal Court Case Monitor — New Cases & Filings, No Login

Watch parties, keywords or courts on CourtListener (PACER/RECAP) and get only NEW federal cases, new docket filings and opinions since the last run, with judge, nature of suit, parties and latest entry. Daily schedule. No login required. MCP-ready. $20 per 1,000 alerts.

Pricing

from $20.00 / 1,000 alerts

Rating

0.0

(0)

Developer

Khrystyna Skotte

Khrystyna Skotte

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Federal Court Case Monitor — new lawsuits, docket filings and opinions, daily

Watch company names, people, keywords or whole courts and get only the new federal cases, new docket entries and new court opinions since the last run, straight from CourtListener / the RECAP archive of PACER. The monitor remembers every case it has already reported, so a scheduled run emits just the delta (new_case, new_filing, new_opinion), posts a summary to your webhook, and costs you only for what changed. No PACER account, no login; a CourtListener API token is optional.

Use it for litigation monitoring (is our client, competitor, supplier or portfolio company being sued?), credit and KYC screening, insurance and compliance alerts, legal-news leads, or tracking your own dockets — without paying $100+/month per watch to a legacy docket-alert vendor.

How it works

  1. For each watch (every party name, every keyword, or the court list when neither is given) it queries CourtListener's search API for dockets filed within filedSinceDays, newest first, optionally limited to courts.
  2. Every docket not in the monitor's saved state is emitted as new_case (up to maxNewPerWatch per watch and maxItems per run) and recorded with the date of its latest docket entry.
  3. With trackDocketEntries on, it re-checks up to 100 known dockets (most recently active first) and emits new_filing for any whose newest docket entry is later than the one recorded.
  4. With opinions in caseTypes it does the same for published opinions (new_opinion).
  5. Saves the state, then POSTs a run summary to webhookUrl if set.

State lives in a named key-value store court-monitor-<hash of monitorId> in your Apify account, capped at 50,000 dockets and 50,000 opinions (oldest dropped). Delete the store to reset a monitor.

Input

FieldDefaultNotes
partyNames["Amazon.com", "Tesla, Inc."]One watch per name, phrase-matched against the docket's parties (case name for opinions)
keywords[]One full-text watch per entry across case names, parties, entries and documents. CourtListener query syntax works ("data breach", patent AND infringement)
courts[]CourtListener court IDs, e.g. cand, nysd, txed, ded, ca9, scotus. Restricts every watch; alone, it becomes the watch. Full list
caseTypes["dockets"]dockets (PACER/RECAP cases) and/or opinions
filedSinceDays7Only cases filed within N days count as new. 3–7 gives a safe overlap for a daily schedule
trackDocketEntriesfalseAlso re-check known dockets for new entries (≤100 dockets per run, 20 per API call)
maxNewPerWatch5Cap per watch; the rest stays unseen and comes out next run
maxItems10Hard cap on records per run
firstRunModeemitAllemitAll reports every current match on the first run; baseline records them silently
webhookUrl""Optional POST target for the run summary
monitorIddefaultOne state store per ID — run several watchlists side by side
courtlistenerApiToken(none)Optional, secret. Sent as Authorization: Token …

Rate limits and the API token

CourtListener's search API answers without authentication, but anonymous and default accounts are throttled to about 5 requests per minute (rolling; documented account defaults are 5/min, 50/hour, 125/day). The actor spaces its calls, honours the Retry-After-style hint in 429 responses, batches docket-entry checks 20 dockets per call and stops after 60 calls per run. A default run uses 2 calls; each extra party name, keyword or case type adds one, and tracking 100 dockets adds five.

For bigger watchlists create a free account at courtlistener.com, copy the token from your profile's API page into courtlistenerApiToken, and consider a Free Law Project membership which raises the limits. Do not create several accounts to multiply quota — CourtListener forbids it.

  1. Create a task with your party names / keywords / courts and a meaningful monitorId.
  2. First run: set firstRunMode to baseline and filedSinceDays to 30. It records everything currently matching and emits nothing, so day one is not a 300-row backlog.
  3. Switch firstRunMode back to emitAll (it only matters while the state is empty), set filedSinceDays to 3–7, maxNewPerWatch to 50 and maxItems to 500. Turn on trackDocketEntries if you want to follow filings on the cases already found.
  4. Schedule the task daily, e.g. 07:00 America/New_York. RECAP receives most new filings during the US business day, and a morning run catches the previous day's cases.
  5. Point webhookUrl at Slack (incoming webhook), Zapier, Make, or your own endpoint.

The default settings ({}) run in emitAll mode on Amazon.com and Tesla, Inc. so you see real output on the first try.

Example: watch three clients in the courts that matter

{
"partyNames": ["Acme Robotics, Inc.", "Northwind Logistics LLC", "Jane Q. Founder"],
"keywords": [],
"courts": ["cand", "nysd", "ded", "txed", "ca9", "ca2"],
"caseTypes": ["dockets", "opinions"],
"filedSinceDays": 5,
"trackDocketEntries": true,
"maxNewPerWatch": 50,
"maxItems": 500,
"firstRunMode": "baseline",
"webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ",
"monitorId": "clients-litigation"
}

Other quick profiles:

  • Every new case in one court: partyNames: [], courts: ["txed"]
  • Topic watch: partyNames: [], keywords: ["\"data breach\"", "\"class action\" AND privacy"]
  • Portfolio screening: 50 company names, filedSinceDays: 3, trackDocketEntries: false, with an API token

Output

new_case / new_filing record:

{
"changeType": "new_case",
"docketId": 74859270,
"caseName": "Cox v. Amazon.com Inc.",
"docketNumber": "4:26-cv-04306",
"court": "scd",
"courtName": "District Court, D. South Carolina",
"dateFiled": "2026-09-28",
"dateLastFiling": "2026-09-28",
"natureOfSuit": "350 Motor Vehicle",
"cause": "28:1332 Diversity-Personal Injury",
"juryDemand": "Plaintiff",
"assignedJudge": "Joseph Dawson III",
"parties": ["Amazon.com Services, LLC", "Amazon.com Inc.", "Timothy Elwin Cox", "Ashley Roberts Cox", "Amazon Logistics, Inc."],
"latestEntry": { "date": "2026-09-28", "description": "NOTICE OF STANDING ORDER (Attachments: # 1 AO 85) (mgod, ) (Entered: 09/28/2026)", "documentNumber": 5, "docketEntryId": 479623294 },
"pacerCaseId": "324808",
"courtListenerUrl": "https://www.courtlistener.com/docket/74859270/cox-v-amazoncom-inc/",
"matchedWatch": "Amazon.com",
"firstSeenAt": "2026-09-28T20:27:58.376Z",
"monitorId": "default"
}

new_filing records carry the same docket fields, latestEntry is the entry that triggered the alert, matchedWatch is "tracked" and firstSeenAt is null. parties lists the first 10 parties.

new_opinion record:

{
"changeType": "new_opinion",
"opinionId": 10983012,
"caseName": "Perez v. v Wax Studio, LLC",
"docketNumber": "Civil Action No. 2025-3897",
"court": "dcd",
"courtName": "District Court, District of Columbia",
"dateFiled": "2026-09-24",
"assignedJudge": "Judge Rudolph Contreras",
"citation": null,
"status": "Published",
"snippet": "UNITED STATES DISTRICT COURT FOR THE DISTRICT OF COLUMBIA …",
"downloadUrl": "https://ecf.dcd.uscourts.gov/cgi-bin/show_public_doc?2025cv3897-16",
"courtListenerUrl": "https://www.courtlistener.com/opinion/10983012/perez-v-v-wax-studio-llc/",
"matchedWatch": "Tesla",
"firstSeenAt": "2026-09-28T21:03:47.011Z",
"monitorId": "default"
}

Webhook payload

POSTed once per run as application/json, also saved as the SUMMARY record in the run's key-value store:

{
"monitorId": "clients-litigation",
"runAt": "2026-09-29T11:00:03.118Z",
"newCases": 2,
"newFilings": 5,
"newOpinions": 0,
"scanned": 61,
"seenDockets": 812,
"seenOpinions": 40,
"apiRequests": 11,
"throttled": 0,
"baseline": false,
"records": [ { "...first 50 records, same shape as the dataset..." } ]
}

Pricing

Pay per event: a small start fee plus a per-alert fee only for records emitted. A daily monitor that finds nothing new costs just the start fee.

Notes

  • Coverage is CourtListener's: all federal district, bankruptcy and appellate courts via RECAP (cases appear once any RECAP user or the free-law crawlers touch them, which for new civil cases is usually the same day), plus published opinions from federal and state courts.
  • The search API nests at most three docket entries per case. For a busy docket the monitor records "seen through today" instead of guessing, and trackDocketEntries reports anything filed after that.
  • A watch scans at most 100 dockets (5 pages) per run; use narrower courts or a shorter window if a watch matches more than that every day.