Government and public records

Patent Case Alerts: D. Del., E.D. Tex. and W.D. Tex. Dockets

This guide shows how to follow new cases in the District of Delaware (ded) and the Eastern and Western Districts of Texas (txed, txwd) from their public PACER RSS feeds, and how to narrow to patent cases. The live feeds do not say what a case is about, so the guide also covers the RECAP archive pass, which does.

Open the Actor on Apify Store

PACER RSS Docket Monitor — New Federal Court Filings. Pay per result; see the Store page for current pricing.

The source and its limits

At the Actor's 2026-10-17 sweep, all three courts published every entry type:

CodeCourtFeed at the 2026-10-17 sweepWhat it carriesEntries in its 24-hour feed
dedU.S. District Court, District of DelawareLive: all entry typesAll entry types534
txedU.S. District Court, Eastern District of TexasLive: all entry typesAll entry types974
txwdU.S. District Court, Western District of TexasLive: all entry typesAll entry types3,969

What the live feeds can and cannot tell you

Each feed entry has the case number, the case title (the lead parties, such as "Smith v. Acme Corp et al"), a short docket text in brackets, the document number with a link, and the filing time. Nature of suit, party lists, judges and the full docket text are not in the feeds. In the Actor's test data the docket text is the entry's label, such as [Notice of Filing].

So there are two ways to find patent cases:

  • New civil cases, then review. caseTypes: ["civil"] with newCasesOnly keeps document number 1 of each civil case (the complaint or notice of removal). You get every new civil case in the three courts, with the case title and docket link to review.
  • Keyword plus the RECAP archive. entryKeywords matches the docket text, case-insensitively. In the live feeds it matches only when a court's docket text contains the word. With includeHistorical and a free CourtListener API token in courtListenerApiKey, plain keywords (not regexes) are also sent to the RECAP archive's search of entry descriptions, through the Free Law Project's CourtListener API. Archive records carry natureOfSuit, cause, parties and assignedTo.

Limits worth knowing

  • Each live feed covers only the trailing 24 hours. Schedule at least daily; hourly is a good default.
  • The RECAP archive holds what RECAP users and the Free Law Project have fetched from PACER, so coverage of a given case varies.
  • The CourtListener API allows 5 requests per minute, 50 per hour and 125 per day by default, shared by anonymous callers. A free CourtListener token gives a run its own allowance.
  • This page describes public docket data and how to filter it. It is not legal advice.

Fields you get

FieldWhat it holds
court, courtName, caseNumber, caseTitleWhere and which case; the title names the lead parties
caseTypecivil for cv case numbers
entryText, entryCategoryThe docket text in the feed and a heuristic category such as complaint
documentNumber, likelyNewCaseDocument 1 marks the opening of a case
documentUrl, docketUrlLinks to the document and the docket on PACER
matchedFiltersWhich filters the entry matched
natureOfSuit, cause, parties, assignedToArchive records only (source: "courtlistener-recap")
recapUrlThe docket or entry on CourtListener, for archive records

Example output

Shape of a new-case record from the live feed (field names from the Actor; the case and its parties are placeholders):

{
  "recordType": "docket-entry",
  "court": "txed",
  "courtName": "U.S. District Court, Eastern District of Texas",
  "courtType": "district",
  "state": "TX",
  "caseNumber": "2:26-cv-01234",
  "caseNumberShort": "26-cv-1234",
  "caseTitle": "Example Patent Holdings LLC v. Sample Devices Inc.",
  "caseType": "civil",
  "entryText": "Complaint",
  "entryCategory": "complaint",
  "documentNumber": 1,
  "docketUrl": "https://ecf.txed.uscourts.gov/cgi-bin/DktRpt.pl?000000",
  "likelyNewCase": true,
  "matchedFilters": [
    "caseType:civil",
    "newCase"
  ],
  "isNew": true,
  "source": "pacer-rss",
  "recapUrl": null
}

Use cases

Hourly list of new civil cases

Run the first input below every hour with onlyNewSinceLastRun. Each run returns only cases opened since the previous one, with titles and docket links, ready to screen for patent matters.

30-day backfill of patent dockets

Run the second input to search the RECAP archive for patent-related dockets filed in the three courts in the last 30 days, with nature of suit and parties where the archive has them.

A company you follow

Add partyKeywords with the company's name to be told when a new case in these courts names it in the title, or in the party list of an archive record.

How to run it

You need an Apify account and its API token (Console → Settings → API & Integrations). Each run is billed per result to your account; set a maximum total charge for the run to cap spend.

With curl

The sync endpoint starts a run, waits up to 300 seconds and returns the dataset items. Every new civil case in the three courts since the last run:

export APIFY_TOKEN=<your Apify API token>

curl -sS -X POST \
  "https://api.apify.com/v2/acts/owlabee~pacer-docket-monitor/run-sync-get-dataset-items" \
  -H "Authorization: Bearer ${APIFY_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
  "courts": [
    "ded",
    "txed",
    "txwd"
  ],
  "caseTypes": [
    "civil"
  ],
  "newCasesOnly": true,
  "onlyNewSinceLastRun": true,
  "stateStoreName": "new-civil-ded-txed-txwd",
  "maxEntriesPerCourt": 200,
  "notifyOnlyOnResults": true
}'

The second input adds the keyword "patent" and the RECAP archive pass for the last 30 days. The keyword applies to live entries too, so live complaints whose docket text lacks the word are left out:

{
  "courts": [
    "ded",
    "txed",
    "txwd"
  ],
  "caseTypes": [
    "civil"
  ],
  "entryKeywords": [
    "patent"
  ],
  "newCasesOnly": true,
  "includeHistorical": true,
  "courtListenerApiKey": "<your free CourtListener API token>",
  "historicalSinceDays": 30,
  "maxHistoricalPerCourt": 100,
  "maxEntriesPerCourt": 200
}

From an AI agent (MCP)

Apify hosts an MCP server. This config exposes only this Actor to the agent:

{
  "mcpServers": {
    "owlabee-pacer-docket-monitor": {
      "url": "https://mcp.apify.com/?tools=owlabee/pacer-docket-monitor",
      "headers": {
        "Authorization": "Bearer ${APIFY_TOKEN}"
      }
    }
  }
}

Then ask, for example: List the new civil cases filed today in the District of Delaware and the Eastern and Western Districts of Texas, with case titles and docket links.

Python, Node.js and more examples

Runnable curl.sh, python.py, node.mjs and mcp.json files for this Actor are in examples/pacer-docket-monitor on GitHub.

No code: Zapier, Make or n8n

Apify's official apps on these platforms can run this Actor and pass its results on. Step-by-step recipes: Get New PACER Docket Entries in Slack with Zapier.

FAQ

Can the live feed tell me which new cases are patent cases?

Not directly. The feeds carry no nature of suit, and the docket text is short. Review new cases by title and docket, or use the archive pass, whose records include natureOfSuit.

Why use a plain keyword instead of a regex for the archive?

Only plain keywords are sent to the archive's search. A regex is applied locally to the records the search returns.

How many archive dockets can a run read?

Up to maxHistoricalPerCourt per court (1 to 1,000, default 100), paced at one page of 20 dockets every 12 seconds. Without your own CourtListener token, plan on about 100 dockets per court and a handful of courts per run.

Does it download complaints?

No. Documents are linked, never downloaded. Opening one on PACER is subject to PACER's fees.

Is this legal advice?

No. It describes public docket data and how to filter it.