{
  "openapi": "3.0.1",
  "info": {
    "title": "PACER RSS Docket Monitor — New Federal Court Filings",
    "description": "Monitor new federal court filings from the public PACER RSS feeds of 140+ federal courts (district, bankruptcy, appeals and more): new complaints, bankruptcies, motions and orders, filtered by party name, case number or entry type, with links to the docket. No PACER account. Pay per docket entry.",
    "version": "0.1",
    "x-build-id": "AaiaKQ7sThkf8G0Xh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/owlabee~pacer-docket-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-owlabee-pacer-docket-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/owlabee~pacer-docket-monitor/runs": {
      "post": {
        "operationId": "runs-sync-owlabee-pacer-docket-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/owlabee~pacer-docket-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-owlabee-pacer-docket-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "courts"
        ],
        "properties": {
          "courts": {
            "title": "Courts",
            "minItems": 1,
            "type": "array",
            "description": "CM/ECF court codes, one per line: district courts end in \"d\" (nysd = S.D.N.Y., txwd = W.D. Tex., ded = D. Del.), bankruptcy courts in \"b\" (deb = Bankr. D. Del., nysb, txsb). Courts of appeals are ca1 to ca11, cadc and cafc (their feeds carry orders, opinions and judgments, not new appeals); cofc is the Court of Federal Claims and cit the Court of International Trade. Also accepted: \"all\" (every district and bankruptcy court with a live feed), \"all-district\", \"all-bankruptcy\", \"all-appellate\" (every court of appeals with a live feed), \"all-national\" (cofc and cit), or a two-letter state code (\"NY\", \"TX\") for every live district and bankruptcy court in that state. The README lists all 203 courts and which ones publish a feed. The prefilled value is the cheap example used by Apify's daily automated test.",
            "items": {
              "type": "string"
            }
          },
          "partyKeywords": {
            "title": "Party / case title keywords",
            "type": "array",
            "description": "Keep only entries whose case title (the party names, e.g. \"Smith v. Acme Corp\") contains one of these. Case-insensitive substrings, or regular expressions written as /pattern/flags (e.g. /\\bAcme (Corp|Inc)\\b/). Company names, debtor names, \"USA v.\" all work.",
            "items": {
              "type": "string"
            }
          },
          "caseNumbers": {
            "title": "Case numbers",
            "type": "array",
            "description": "Keep only entries in these cases. Any common form is accepted: \"1:26-cv-03810\", \"26-cv-3810\", \"26-11511\" (bankruptcy), \"25-2171\" or \"2025-1535\" (court of appeals). Matching ignores the office prefix, leading zeros and the defendant suffix.",
            "items": {
              "type": "string"
            }
          },
          "caseTypes": {
            "title": "Case types",
            "type": "array",
            "description": "Keep only these case types, derived from the case-number code: civil (cv), criminal (cr), bankruptcy (bk or a bankruptcy-court case without a code), adversary (ap), multidistrict (md), other (mc, mj, po, …).",
            "items": {
              "type": "string",
              "enum": [
                "civil",
                "criminal",
                "bankruptcy",
                "adversary",
                "multidistrict",
                "other"
              ],
              "enumTitles": [
                "Civil (cv)",
                "Criminal (cr)",
                "Bankruptcy (bk)",
                "Adversary proceeding (ap)",
                "Multidistrict litigation (md)",
                "Other (mc, mj, po, …)"
              ]
            }
          },
          "entryTypes": {
            "title": "Entry types",
            "type": "array",
            "description": "Keep only docket entries of these kinds. The kind is a heuristic read from the entry text (\"[Complaint]\", \"[Motion to Dismiss]\", \"[Order granting …]\"); courts label entries differently, so combine with keywords for precision. \"complaint\" also covers notices of removal and indictments; \"petition\" is a bankruptcy petition.",
            "items": {
              "type": "string",
              "enum": [
                "complaint",
                "petition",
                "answer",
                "motion",
                "order",
                "judgment",
                "notice",
                "appeal",
                "discovery",
                "hearing",
                "plan",
                "claim",
                "brief",
                "other"
              ],
              "enumTitles": [
                "Complaint / notice of removal / indictment",
                "Bankruptcy petition",
                "Answer / counterclaim",
                "Motion",
                "Order / opinion",
                "Judgment / verdict / sentencing",
                "Notice / summons",
                "Appeal",
                "Discovery",
                "Hearing / minutes / trial",
                "Bankruptcy plan / disclosure statement",
                "Claim",
                "Brief / memorandum / declaration",
                "Other"
              ]
            }
          },
          "entryKeywords": {
            "title": "Entry text keywords",
            "type": "array",
            "description": "Keep only entries whose docket text contains one of these (case-insensitive substrings or /regex/), e.g. \"patent\", \"class action\", \"temporary restraining order\", \"Voluntary Petition\".",
            "items": {
              "type": "string"
            }
          },
          "bankruptcyChapters": {
            "title": "Bankruptcy chapters",
            "type": "array",
            "description": "Keep only bankruptcy entries under these chapters (read from the \"Chapter: 11\" prefix most bankruptcy courts publish, or from the entry text). Entries without a chapter are dropped when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "7",
                "9",
                "11",
                "12",
                "13",
                "15"
              ],
              "enumTitles": [
                "Chapter 7 (liquidation)",
                "Chapter 9 (municipality)",
                "Chapter 11 (reorganization)",
                "Chapter 12 (family farmer / fisherman)",
                "Chapter 13 (individual repayment plan)",
                "Chapter 15 (cross-border)"
              ]
            }
          },
          "newCasesOnly": {
            "title": "New cases only",
            "type": "boolean",
            "description": "Keep only entries that opened a case: document number 1 on the docket (the complaint, petition, indictment or notice of removal). Combine with party keywords to be alerted when a company is sued or files for bankruptcy.",
            "default": false
          },
          "maxEntriesPerCourt": {
            "title": "Max entries per court",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap on dataset items per court per run, newest first, applied after filtering. Busy courts publish 2,000–4,000 entries a day.",
            "default": 5000
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Cap on docket entries across all courts per run. Use together with the run's maximum cost to control spend.",
            "default": 100000
          },
          "onlyNewSinceLastRun": {
            "title": "Only new since last run",
            "type": "boolean",
            "description": "Monitor mode for schedules: remember every docket entry seen per court in the state store and emit only entries not seen before, flagged isNew. The first run is a baseline and emits (and charges for) everything currently in the feed. Entries held back by a cap are emitted on the next run.",
            "default": false
          },
          "stateStoreName": {
            "title": "State store name",
            "pattern": "^[a-zA-Z0-9-]{3,63}$",
            "type": "string",
            "description": "Named key-value store that remembers the docket entries already seen (monitor mode). Use a different name per schedule, or delete the store to reset.",
            "default": "federal-court-docket-monitor-state"
          },
          "webhookUrl": {
            "title": "Webhook URL (optional)",
            "pattern": "^https?://.+",
            "type": "string",
            "description": "If set, the Actor POSTs a JSON run summary plus the emitted entries (max 1,000) and error items to this URL when it finishes (10 s timeout, 2 retries). Failures are logged, never fatal."
          },
          "notifyOnlyOnResults": {
            "title": "Notify only on results",
            "type": "boolean",
            "description": "Call the webhook only when at least one docket entry or error item was produced. Turn off to receive a webhook after every run.",
            "default": true
          },
          "includeHistorical": {
            "title": "Include historical dockets (RECAP archive)",
            "type": "boolean",
            "description": "Also read dockets filed in the last \"Historical window\" days from the RECAP archive through the Free Law Project's CourtListener search API, for every court listed, and emit them in the same record shape with source \"courtlistener-recap\". The live feeds cover only the trailing 24 hours; this adds the backlog. Paced at one request every 12 s (the API allows 5 per minute, 50 per hour and 125 per day), one court at a time, up to \"Max historical dockets per court\". Records are charged like live entries; the pages themselves are not charged. Needs a free CourtListener API token in the CourtListener API token field.",
            "default": false
          },
          "historicalSinceDays": {
            "title": "Historical window (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "How far back the historical pass looks, in days from today (dockets filed in the window, newest first). Only used when \"Include historical dockets\" is on.",
            "default": 30
          },
          "maxHistoricalPerCourt": {
            "title": "Max historical dockets per court",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap on dockets read from the archive per court per run, newest first (20 dockets per API page; a docket yields one record per entry the archive holds, up to three, or one docket-level record). 100 dockets take about a minute per court at the API's rate limit; 1,000 about ten minutes.",
            "default": 100
          },
          "courtListenerApiKey": {
            "title": "CourtListener API token (optional)",
            "type": "string",
            "description": "Required for the historical pass: CourtListener's API refuses anonymous requests (HTTP 401, as of 2026-11-07), and without a token the pass is skipped and nothing is charged for it. A free CourtListener account comes with an API token (profile, API token page); with it the historical pass runs against your own rate-limit bucket instead of the one shared by all anonymous requests from the platform's IP addresses. Sent as an Authorization header to courtlistener.com only, never stored or logged."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}