# CourtListener Creditor Committee Scraper - Chapter 11 (`parseforge/courtlistener-creditor-committee-scraper`) Actor

Find chapter 11 cases with an official creditors committee in CourtListener RECAP, with the appointment entry and counsel. Export to CSV, Excel, JSON or XML.

- **URL**: https://apify.com/parseforge/courtlistener-creditor-committee-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Automation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.53 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🤝 CourtListener Creditor Committee Scraper

> 🚀 **Export the chapter 11 cases that have an official creditors committee in seconds.** One 40-field row per case with the US Trustee's appointment entry, the date the committee was formed, how many days after the petition that was, the committee party names, counsel and firms. The RECAP archive holds 20,340 cases with a committee signal, 3,863 of them chapter 11.

When a company files chapter 11, the US Trustee appoints an official committee of unsecured creditors under section 1102 of the Bankruptcy Code. That committee hires its own counsel and financial advisers, negotiates the plan, and is the single clearest signal that a case is a real restructuring rather than a quiet wind-down. CourtListener has no field for it, so this Actor reconstructs the signal from the two things the RECAP index does expose: the docket entry where the appointment happened, and the committee itself once it is added to the docket as a party.

Coverage is the whole free RECAP archive across all 94 United States bankruptcy courts. Measured on 2026-09-08: 3,476 cases carry a committee appointment entry, 19,373 carry a committee as a party, 20,340 carry at least one of the two, and 3,863 of those are chapter 11. Equity security holder committees (132 cases), tort and asbestos claimant committees (74) and retiree committees (38) are selectable too. Every row is flat, spreadsheet-ready, and carries the CourtListener IDs that let you join runs together over time.

| 🎯 Target Audience | 💡 Primary Use Cases |
| --- | --- |
| Distressed debt and restructuring desks | Catch the cases where a committee has just been appointed, days after the petition |
| Creditors-rights and bankruptcy firms | Committee counsel appointments by court, firm and year, as a business development feed |
| Claims traders and advisory shops | Screen for chapter 11 cases with an active committee, the ones where claims actually trade |
| Legal analytics vendors | Structured committee formation data with stable docket, judge and firm IDs |

### 📋 What the CourtListener Creditor Committee Scraper does

> 💡 **Why it matters:** the appointment of a creditors committee is the moment a chapter 11 case turns into a negotiation. Nothing on PACER flags it, and searching for it by hand means reading docket sheets one court at a time.

- Finds cases by either committee signal: the appointment entry, the committee as a party, or both.
- Separates the real appointment from the notice of NON-appointment, which uses almost identical wording.
- Reports the appointment date, the entry number, the entry text and the free RECAP PDF link when the document is in the archive.
- Derives `daysToCommittee`, the gap between the petition date and the committee appointment.
- Splits the party list into debtors and committee parties, and counts each.
- Carries counsel of record and law firms, the assigned judge, the chapter, the court and the PACER case ID.
- Filters by committee kind, chapter, court, case name, docket number, date range, free-PDF availability and free text.
- Exports to CSV, Excel, JSON or XML from the dataset tab.

### 🎬 Full Demo (🚧 Coming soon)

A walkthrough video is in production. Until it lands, the sample records below are a real run of the default input.

### 📊 Output

One row per bankruptcy case. Fields are never `null`: a value the source can carry but did not comes back as `Not Disclosed`, a value that does not apply comes back as `N/A`, and booleans are `Yes` or `No`.

| Field | Description |
| --- | --- |
| ⚖️ `caseName` / 🔗 `url` | Case caption and the docket page on courtlistener.com |
| 🆔 `docketId` / 🔢 `docketNumber` / 🧾 `pacerCaseId` | CourtListener docket ID, PACER docket number, PACER internal case ID |
| 🏛 `court` / 🏷 `courtId` / 📎 `courtCitationString` | Court name, CourtListener court ID (for example `txsb`), reporter-style abbreviation |
| 📕 `chapter` | The chapter as PACER records it |
| 📅 `dateFiled` / 🏁 `dateTerminated` / ⏳ `isPending` / 📆 `daysOnDocket` | Petition date, termination date (`N/A` while pending), `Yes` or `No`, and the span in days |
| 👩‍⚖️ `assignedTo` / `assignedToId` | Bankruptcy judge and their CourtListener ID |
| 🔎 `committeeEvidence` | Which signal qualified the case: appointment entry, committee party, both, or the case caption |
| 👥 `committeeKind` | Unsecured creditors, equity security holders, retirees, tort claimants, or official committee |
| 📌 `hasAppointmentEntry` | `Yes` when the appointment entry itself is in RECAP |
| 🗓 `committeeAppointedOn` / ⏱ `daysToCommittee` | Date of the appointment entry, and the days between the petition and it |
| #️⃣ `appointmentEntryNumber` / 📝 `appointmentDescription` / 🔗 `appointmentUrl` | Docket entry number, the clerk's entry text, and the entry page |
| 📄 `appointmentPdfUrl` / 🆓 `appointmentIsFree` / 📑 `appointmentPageCount` | Direct free PDF link in the RECAP archive when the document is already there, plus availability and page count |
| 🔤 `appointmentExcerpt` | The first 500 characters of the notice's indexed text, which is the caption block |
| 🤝 `committeeParties` / 🔢 `committeePartyCount` | The committee parties on the docket, semicolon-separated, with a count |
| 🏢 `debtors` / 🔢 `debtorCount` | Docket parties that are neither a committee nor the US Trustee |
| 💼 `attorneys` / `attorneyCount` / 🏛 `lawFirms` / `lawFirmCount` | Counsel of record and their firms, with counts |
| 📂 `appointmentEntries` | Every committee entry that matched, each with entry number, date, text, PDF link, availability, page count and PACER document ID |
| 👤 `parties` | Every party on the docket, each flagged `isCommittee` `Yes` or `No` |
| 🕓 `dateAddedToRecap` | When the docket entered the RECAP archive |
| 🕒 `scrapedAt` | ISO timestamp of the collection |
| ❌ `error` | `null` on success; error rows carry only this field and are never charged |

Three real records from a run of the default input, with the `appointmentEntries` array trimmed to its first entry and the text excerpts shortened for readability:

```json
[
  {
    "caseName": "Womble Contracting, Inc. dba Womble Company, Inc. and Official Committee of Unsecured Creditors",
    "url": "https://www.courtlistener.com/docket/73741140/womble-contracting-inc-dba-womble-company-inc-and-official-committee-of/",
    "docketId": 73741140,
    "docketNumber": "26-90759",
    "court": "United States Bankruptcy Court, S.D. Texas",
    "courtId": "txsb",
    "courtCitationString": "Bankr. S.D. Tex.",
    "pacerCaseId": "499316",
    "chapter": "11",
    "dateFiled": "2026-08-10",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "daysOnDocket": 29,
    "assignedTo": "Christopher Lopez",
    "assignedToId": 8975,
    "committeeEvidence": "Appointment entry",
    "committeeKind": "Unsecured Creditors",
    "hasAppointmentEntry": "Yes",
    "committeeAppointedOn": "2026-08-28",
    "daysToCommittee": 18,
    "appointmentEntryNumber": 54,
    "appointmentDescription": "Notice of Appointment of Creditors' Committee (Travis, Christopher) (Entered: 08/28/2026)",
    "appointmentUrl": "https://www.courtlistener.com/docket/73741140/54/womble-contracting-inc-dba-womble-company-inc/",
    "appointmentPdfUrl": "https://storage.courtlistener.com/recap/gov.uscourts.txsb.499316/gov.uscourts.txsb.499316.54.0.pdf",
    "appointmentIsFree": "Yes",
    "appointmentPageCount": 2,
    "appointmentExcerpt": "Case 26-90759 Document 54 Filed in TXSB on 08/28/26 Page 1 of 2 UNITED STATES BANKRUPTCY COURT SOUTHERN DISTRICT OF TEXAS HOUSTON DIVISION ) In re: ) Chapter 11 ) Womble Contracting, Inc ...",
    "committeeParties": "Not Disclosed",
    "committeePartyCount": 0,
    "debtors": "Womble Contracting, Inc. dba Womble Company, Inc.",
    "debtorCount": 1,
    "attorneys": "Christopher Ross Travis; Gabe Perez; Genevieve Marie Graham",
    "attorneyCount": 3,
    "lawFirms": "Zendeh Del & Assoc PLLC; DOJ-Ust; Genevieve Graham Law, PLLC Dba Graham PLLC",
    "lawFirmCount": 3,
    "appointmentEntries": [
      {
        "entryNumber": 54,
        "documentNumber": "54",
        "attachmentNumber": "N/A",
        "entryDateFiled": "2026-08-28",
        "description": "Notice of Appointment of Creditors' Committee (Travis, Christopher) (Entered: 08/28/2026)",
        "shortDescription": "Notice of Appointment of Creditors' Committee",
        "url": "https://www.courtlistener.com/docket/73741140/54/womble-contracting-inc-dba-womble-company-inc/",
        "pdfUrl": "https://storage.courtlistener.com/recap/gov.uscourts.txsb.499316/gov.uscourts.txsb.499316.54.0.pdf",
        "isFree": "Yes",
        "pageCount": 2,
        "pacerDocId": "178055040999",
        "excerpt": "Case 26-90759 Document 54 Filed in TXSB on 08/28/26 Page 1 of 2 UNITED STATES BANKRUPTCY COURT SOUTHERN ..."
      }
    ],
    "parties": [
      { "name": "Womble Contracting, Inc. dba Womble Company, Inc.", "isCommittee": "No" },
      { "name": "US Trustee", "isCommittee": "No" }
    ],
    "dateAddedToRecap": "2026-08-10T16:55:35.766890Z",
    "scrapedAt": "2026-09-08T07:12:29.261Z",
    "error": null
  },
  {
    "caseName": "S.M.F. Group Inc.",
    "url": "https://www.courtlistener.com/docket/73739612/smf-group-inc/",
    "docketId": 73739612,
    "docketNumber": "26-11893",
    "court": "United States Bankruptcy Court, S.D. New York",
    "courtId": "nysb",
    "courtCitationString": "Bankr. S.D.N.Y.",
    "pacerCaseId": "336678",
    "chapter": "11",
    "dateFiled": "2026-08-09",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "daysOnDocket": 30,
    "assignedTo": "Shireen a. Barday",
    "assignedToId": "Not Disclosed",
    "committeeEvidence": "Appointment entry",
    "committeeKind": "Unsecured Creditors",
    "hasAppointmentEntry": "Yes",
    "committeeAppointedOn": "2026-08-27",
    "daysToCommittee": 18,
    "appointmentEntryNumber": 64,
    "appointmentDescription": "Appointment of Official Creditors' Committee Notice of Appointment of Official Committee of Unsecured Creditors Filed by Annie Wells on behalf of United States Trustee. (Wells, Annie)",
    "appointmentUrl": "https://www.courtlistener.com/docket/73739612/64/smf-group-inc/",
    "appointmentPdfUrl": "N/A",
    "appointmentIsFree": "No",
    "appointmentPageCount": "Not Disclosed",
    "appointmentExcerpt": "N/A",
    "committeeParties": "Not Disclosed",
    "committeePartyCount": 0,
    "debtors": "S.M.F. Group Inc., a New York corporation",
    "debtorCount": 1,
    "attorneys": "Matthew P Milana; David S Forsh; Daniel Rudewicz; Scott Michael Hare",
    "attorneyCount": 4,
    "lawFirms": "Scott M. Hare, Raines Feldman Littrell LLP; Daniel Rudewicz; Raines Feldman Littrell LLP",
    "lawFirmCount": 3,
    "appointmentEntries": [
      {
        "entryNumber": 64,
        "documentNumber": "64",
        "attachmentNumber": "N/A",
        "entryDateFiled": "2026-08-27",
        "description": "Appointment of Official Creditors' Committee Notice of Appointment of Official Committee of Unsecured Creditors Filed by Annie Wells on behalf of United States Trustee. (Wells, Annie)",
        "shortDescription": "Appointment of Official Creditors' Committee",
        "url": "https://www.courtlistener.com/docket/73739612/64/smf-group-inc/",
        "pdfUrl": "N/A",
        "isFree": "No",
        "pageCount": "Not Disclosed",
        "pacerDocId": "126024722736",
        "excerpt": "N/A"
      }
    ],
    "parties": [
      { "name": "S.M.F. Group Inc., a New York corporation", "isCommittee": "No" },
      { "name": "United States Trustee", "isCommittee": "No" }
    ],
    "dateAddedToRecap": "2026-08-10T00:10:34.415703Z",
    "scrapedAt": "2026-09-08T07:12:29.261Z",
    "error": null
  },
  {
    "caseName": "Signal National LLC",
    "url": "https://www.courtlistener.com/docket/73739399/signal-national-llc/",
    "docketId": 73739399,
    "docketNumber": "26-90190",
    "court": "United States Bankruptcy Court, N.D. Texas",
    "courtId": "txnb",
    "courtCitationString": "Bankr. N.D. Tex.",
    "pacerCaseId": "545878",
    "chapter": "11",
    "dateFiled": "2026-08-09",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "daysOnDocket": 30,
    "assignedTo": "Edward L. Morris",
    "assignedToId": 8971,
    "committeeEvidence": "Committee party",
    "committeeKind": "Unsecured Creditors",
    "hasAppointmentEntry": "No",
    "committeeAppointedOn": "N/A",
    "daysToCommittee": "N/A",
    "appointmentEntryNumber": "N/A",
    "appointmentDescription": "N/A",
    "appointmentUrl": "N/A",
    "appointmentPdfUrl": "N/A",
    "appointmentIsFree": "N/A",
    "appointmentPageCount": "N/A",
    "appointmentExcerpt": "N/A",
    "committeeParties": "Official Committee of Unsecured Creditors",
    "committeePartyCount": 1,
    "debtors": "Signal National LLC",
    "debtorCount": 1,
    "attorneys": "Mark C. Taylor; Sharon I Dwoskin; Kenneth J Aulet; Bennett S. Silverberg; Robert J. Stark; Jason S. Brookner; JaKayla DaBera; Emily Meraia; John J. Kane; Steven A Tyrrell",
    "attorneyCount": 10,
    "lawFirms": "Kane Russell Coleman & Logan PC; Kane Russell Coleman Logan PC; Gray Reed; Brown Rudnick LLP",
    "lawFirmCount": 4,
    "appointmentEntries": [],
    "parties": [
      { "name": "Signal National LLC", "isCommittee": "No" },
      { "name": "United States Trustee", "isCommittee": "No" },
      { "name": "Official Committee of Unsecured Creditors", "isCommittee": "Yes" }
    ],
    "dateAddedToRecap": "2026-08-09T18:30:35.095176Z",
    "scrapedAt": "2026-09-08T07:12:29.261Z",
    "error": null
  }
]
```

### ✨ Why choose this Actor

| | What you get |
| --- | --- |
| **A committee signal the API does not have** | CourtListener exposes no committee field. This Actor rebuilds it from the docket entry text and the party list, using the appointment phrasings clerks actually type in each district. Measured 2026-09-08: 3,476 cases by appointment entry, 19,373 by committee party, 20,340 by either. |
| **Non-appointment notices removed** | "Notice of Non-Appointment of Official Committee of Unsecured Creditors" is one word away from the real thing and it is the most common false positive in this niche. It is filtered out per entry, not per case, so a case that gets a committee later still counts. On the demo search, 3 of 20 hits were non-appointments. |
| **Days to committee** | The gap between the petition date and the appointment entry is on every row that has an entry. It is the number restructuring desks use to tell a negotiated case from a quiet one, and no other tool publishes it. |
| **The free PDF, when it exists** | When the appointment notice is already in the free RECAP archive, the row carries a direct link to the PDF on CourtListener's own storage, plus the page count. No PACER login, no per-page fee. |
| **Four kinds of committee** | Unsecured creditors is the default, and equity security holders, tort and asbestos claimants and retiree committees are one dropdown away, each with its own verified phrase set. |
| **All 94 bankruptcy courts** | One run covers the whole federal bankruptcy system, or you pick the districts that matter to you from a verified list. |
| **You pay for what you keep** | Rows are billed as they are written and capped at `maxItems`. Duplicates and unevidenced hits are dropped before billing, never after. |

### 📈 How it compares to alternatives

| | This Actor | General bankruptcy docket scrapers | PACER directly |
| --- | --- | --- | --- |
| Finds cases that have a committee | Yes, by appointment entry or committee party, in one query | No, you get every petition and filter by hand | No, one docket sheet at a time |
| Non-appointment notices | Filtered out per entry | Counted as hits | You read them |
| Appointment date and days to committee | On every row with an entry | Not derived | Not derived |
| Committee member roster | **No.** The names of the appointed creditors are inside the notice PDF and CourtListener's public API returns only the first 500 characters of that text, which is the caption block | No | Yes, if you pay for the PDF |
| Committee parties, counsel and firms | Split out on the row, with counts | Mixed into one party list | Per docket sheet |
| Court coverage | 94 bankruptcy courts in one run | Varies | One court per login |
| Rows a free account can preview | 10 | Varies | None |
| Ceiling | Anonymous API throttle of 5 requests a minute and 50 an hour per IP, lifted by a free key or the proxy | Same source, same ceiling | Per-page fees |

### 🚀 How to use

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [CourtListener Creditor Committee Scraper](https://apify.com/parseforge/courtlistener-creditor-committee-scraper?fpr=vmoqkp).
3. Leave the defaults for chapter 11 unsecured creditor committees, or pick a committee kind, courts and a date range, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

One typical run: `committeeSignal` `appointment`, `committeeKind` `unsecured`, `chapters` `["11"]`, `courts` `["deb","txsb","nysb"]`, `filedAfter` `01/01/2026`, `maxItems` `200`. Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### 💼 Business use cases

#### 📡 Catch committee formations as they happen

Set `committeeSignal` to `appointment`, sort by appointment entry date, and run it on a schedule. A diff against the last run is an alert feed of every chapter 11 case where a committee was just seated, with the court, the judge and the debtor already split out. Restructuring desks use it to decide which cases to staff in the first two weeks.

#### 🧑‍💼 Track committee counsel appointments

The `lawFirms` and `attorneys` columns carry the counsel of record on each committee case. Group a year of rows by firm and court and you have a league table of who is getting committee work in Delaware, the Southern District of New York and the Southern District of Texas, which is exactly the pitch a creditors-rights practice needs for a business development plan.

#### 📊 Measure how fast committees get seated

`daysToCommittee` turns a year of filings into a distribution. Compare districts, compare judges, and see whether a case with a committee at day 12 behaves differently from one at day 45. Analytics vendors feed the stable `docketId` into their own tables and refresh on a schedule.

#### 🔍 Screen for cases where claims actually trade

A case with an active committee is a case with a negotiation, a plan process and a claims market. Claims traders and advisory shops filter for `committeeEvidence` of `Appointment entry and committee party`, add a court and a date window, and get the shortlist without reading a single docket sheet.

### 🔌 Automating CourtListener Creditor Committee Scraper

- **Make / Zapier:** trigger a run on a schedule, then push new committee cases to a CRM, a Google Sheet or a Slack channel.
- **Slack:** post each new committee appointment, with the debtor, court and judge, to a restructuring-watch channel.
- **Airbyte:** land the dataset in Snowflake, BigQuery or Postgres for analytics.
- **GitHub:** commit the JSON export to a repository to keep a versioned history of committee formations.
- **Google Drive:** drop the CSV or Excel export into a shared folder for the credit committee.

### 🌟 Beyond business use cases

- **Research:** measure how often a committee is appointed by district, by year and by case size, and how that has moved since 2020.
- **Personal:** find out whether the chapter 11 case you are a creditor in has a committee you could join or contact.
- **Non-profit:** follow the retiree and tort claimant committees appointed in mass-tort and pension cases.
- **Experimentation:** train a model on entry text to classify appointment versus non-appointment, or build a committee-formation alert bot on the JSON export.

### 🤖 Ask an AI assistant about this scraper

Give an AI agent live access to US creditors committee data through the Model Context Protocol:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/courtlistener-creditor-committee-scraper"
```

Then prompt it in plain language:

- *"Which chapter 11 cases got a creditors committee in Delaware this year?"*
- *"How many days after filing was the committee appointed in the Southern District of Texas cases?"*
- *"List the law firms appearing in chapter 11 cases with an official committee since January."*

Copy this into ChatGPT, Claude, or Cursor to start:

```
Use the Apify Actor "parseforge/courtlistener-creditor-committee-scraper" to find US bankruptcy cases with an official creditors committee. Input: { "committeeSignal": "either" | "appointment" | "party", "committeeKind": "unsecured" | "equity" | "tort" | "retirees" | "any", "chapters": ["11"], "courts": ["deb","txsb"], "filedAfter": "MM/DD/YYYY", "maxItems": <n> }. It returns the case, court, chapter, judge, the committee appointment entry with its date and free PDF link, days to committee, committee parties, counsel and firms. Call it with the ApifyClient and my APIFY_TOKEN.
```

### ❓ Frequently Asked Questions

#### ❓ Does it return the names of the committee members?

No, and no public tool can. The roster of appointed creditors is inside the notice PDF. CourtListener indexes that document's text but its public API returns only the first 500 characters, which is the court caption block, and a highlighted search fragment is about 120 characters. The document endpoints that would return the full text are authenticated. What you get is the case, the appointment entry, the appointment date, the committee party names, counsel and, when the document is already in the free archive, a direct link to the PDF you can read yourself.

#### ❓ How does it know a case has a committee?

Two signals. The first is the docket entry where the US Trustee appointed the committee, matched on the phrasings clerks actually use, which differ by district. The second is the committee itself once it is added to the docket as a party. `committeeEvidence` on every row tells you which one qualified the case, and `committeeSignal` in the input lets you demand one, the other or either.

#### ❓ Does it confuse a non-appointment notice with a real appointment?

No. "Notice of Non-Appointment of Official Committee of Unsecured Creditors" is filtered out at the entry level, so a case that gets a non-appointment notice early and a real committee later still comes back with the real appointment attached. On the default search, 3 of the first 20 hits were non-appointments and none of them were charged.

#### ❓ Do I need a CourtListener account?

No. The search API answers anonymously and the Actor runs without any key. A free CourtListener API key (Profile > API on courtlistener.com) only removes the anonymous rate limit, which matters for runs of a few thousand rows.

#### ❓ Why do so few chapter 11 cases show a committee?

Because RECAP is a mirror of what its users have already paid for on PACER, not a complete copy of PACER. Of 293,434 chapter 11 dockets in the archive, 2,655 carry a committee appointment entry. Committees are also genuinely not appointed in most small chapter 11 and subchapter V cases: the US Trustee appoints one where there is enough unsecured debt to warrant it. Both effects are real and neither is invented away.

#### ❓ What other kinds of committee can I search?

Equity security holders (132 cases), tort and asbestos personal injury claimants (74) and retirees (38), plus a catch-all for any official committee (21,113). Each has its own verified phrase set. Unsecured creditors, at 20,340 cases, is the default because it is the committee section 1102(a)(1) creates in every chapter 11 case where one is warranted.

#### ❓ Why is a case outside the date range I asked for?

CourtListener filters on the filing date that was recorded when the docket was indexed. When the court later corrects that date, the `dateFiled` returned can fall outside your window. If you need an exact window, filter the `dateFiled` column after export.

#### ❓ Why is `committeeParties` sometimes `Not Disclosed` on a case that clearly has a committee?

CourtListener truncates the party list it returns on a search hit, so a large case can come back with only the first few parties. When the committee is not in that slice, the row still qualifies on the appointment entry or the case caption, and `committeeEvidence` says so.

#### ❓ How fast is it, and what is the ceiling?

The API answers in about 0.3 to 2.3 seconds and returns 20 rows per request, so a 200-row run is about 10 requests. Anonymously CourtListener allows 5 requests a minute and 50 an hour per IP, and the lockout escalates into the hundreds of seconds if you push it. Turn the proxy on for a fresh exit IP per request, or supply a free API key, and the ceiling goes away.

#### ❓ Can I get the appointment PDF itself?

When the document is already in the free RECAP archive, `appointmentPdfUrl` is a direct link to it on CourtListener's own storage and `appointmentPageCount` tells you how long it is. When it is not, the row still carries the entry number and the entry URL, and `availableOnly` restricts a run to cases whose filings are already free. The Actor does not download files.

#### ❓ Does it cover state courts or non-bankruptcy cases?

No. Official creditors committees are a creature of the United States Bankruptcy Code, so the 94 federal bankruptcy courts are the whole universe. Setting a chapter filter keeps the run inside the bankruptcy petitions; clearing it also pulls in appellate and adversary dockets that mention a committee.

#### ❓ Why fewer rows than Max Items?

Because every filter is ANDed and the source can run out of matches. Duplicate dockets and hits with no committee evidence are also dropped before writing, so a page of 20 hits can yield fewer than 20 rows. Free accounts are capped at 10 rows per run.

#### ❓ How fresh is the data?

RECAP mirrors PACER as its users and its own feeds pull dockets down, so a case usually appears within a day of filing and the appointment entry within a day or two of being docketed. `dateAddedToRecap` on every row tells you when the archive first saw the case.

#### ❓ Does it deduplicate?

Yes, on the CourtListener docket ID, within a run. The same case can match through several entries, and it is written and charged once.

#### ❓ How many rows per run?

Up to 1,000,000 on a paid plan, 10 on the free plan. In practice the anonymous rate limit is the binding constraint, so plan on the proxy or a free CourtListener key for anything over a few thousand rows.

### 🔌 Integrate with any app

The dataset is available through the Apify API and the JavaScript and Python clients, and every run can be scheduled, triggered by webhook or wired into Make, Zapier, n8n, Airbyte, Google Sheets, Slack and GitHub from the **Integrations** tab.

### 🔗 Recommended Actors

- [CourtListener Bankruptcy Scraper](https://apify.com/parseforge/courtlistener-bankruptcy-scraper?fpr=vmoqkp): every bankruptcy petition by chapter, court, debtor and trustee, committee or not.
- [CourtListener Adversary Scraper](https://apify.com/parseforge/courtlistener-adversary-scraper?fpr=vmoqkp): the lawsuits filed inside a bankruptcy, by cover-sheet nature of suit.
- [CourtListener Party and Counsel Scraper](https://apify.com/parseforge/courtlistener-party-scraper?fpr=vmoqkp): one row per party with the law firms and attorneys that represent it.
- [CourtListener Judge Analytics Scraper](https://apify.com/parseforge/courtlistener-judge-analytics-scraper?fpr=vmoqkp): caseload, opinions and tenure for the judges these cases land in front of.
- [CourtListener Civil Cases Scraper](https://apify.com/parseforge/courtlistener-civil-cases-scraper?fpr=vmoqkp): federal civil dockets by JS-44 nature of suit.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more court, government and public-records scrapers.

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA) with your run ID, your input, and what you expected.

> **⚠️ Disclaimer:** This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Free Law Project or CourtListener. It collects only publicly available court data through the public API. You are responsible for using the data in compliance with CourtListener's terms and applicable laws. Bankruptcy records concern real people and real businesses: do not use this data to identify, profile, or target individuals.

# Actor input Schema

## `committeeSignal` (type: `string`):

Which signal marks a case as having an official committee. Appointment entry finds the docket entry where the US Trustee appointed the committee and attaches it to the row. Committee party finds cases where the committee itself is recorded as a party. Either signal is the union of the two and is the widest view. Measured 2026-09-08 across the whole RECAP archive: appointment entry 3,476 cases, committee party 19,373 cases, either signal 20,340 cases.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000. Leave empty on a paid plan for 100 rows.

## `committeeKind` (type: `string`):

Unsecured creditors is the standard section 1102(a)(1) committee and the one that exists in most chapter 11 cases. The other three are appointed far less often. Whole-archive counts measured 2026-09-08: unsecured creditors 20,340, equity security holders 132, tort claimants 74, retirees 38, any official committee 21,113.

## `chapters` (type: `array`):

Which chapters of the US Bankruptcy Code to return. Creditors committees are a chapter 11 institution, so chapter 11 is the sensible default. Clear the field to include the cases whose PACER metadata carries no chapter at all: that widens unsecured-creditor committees from 3,863 to 20,340 cases but mixes in appellate and adversary dockets.

## `courts` (type: `array`):

Restrict the search to one or more of the 94 United States bankruptcy courts. Leave empty to search all of them at once. Delaware (deb), the Southern District of New York (nysb) and the Southern District of Texas (txsb) hold most large chapter 11 cases.

## `query` (type: `string`):

Optional full-text query ANDed with the committee clause, across the case caption, party names and filing text. Supports quoted phrases and AND / OR / NOT, for example "retail" or "holdings AND texas".

## `caseName` (type: `string`):

Match words in the case caption, which on a bankruptcy petition is the debtor's name, for example "holdings" or "airlines".

## `docketNumber` (type: `string`):

Exact bankruptcy docket number, for example 26-11893 or 8:26-bk-11720. Pair it with a court for a single case.

## `filedAfter` (type: `string`):

Earliest date, as MM/DD/YYYY or YYYY-MM-DD. Measured 2026-09-08: CourtListener applies this window to the date the docket entered the RECAP archive, which is the same day for a fresh filing and can be years later for a backfilled case, so the dateFiled column can fall outside it.

## `filedBefore` (type: `string`):

Latest date, as MM/DD/YYYY or YYYY-MM-DD. Same caveat as the field above: the window applies to the RECAP ingest date, not to the dateFiled column.

## `availableOnly` (type: `boolean`):

Keep only cases whose filings are already in the free RECAP archive rather than paywalled behind PACER. Turn it on when you want the appointment notice PDF link on every row.

## `orderBy` (type: `string`):

How to order results. Relevance only means anything when an extra search query is set.

## `courtListenerKey` (type: `string`):

A free CourtListener API key (Profile > API on courtlistener.com) lifts the anonymous throttle and makes long runs faster. Leave empty to run anonymously.

## `proxyConfiguration` (type: `object`):

Off by default: the CourtListener API is open. Turn it on for long anonymous runs so each request gets a fresh exit IP and its own throttle allowance. Not used when an API key is supplied.

## Actor input object example

```json
{
  "committeeSignal": "either",
  "maxItems": 10,
  "committeeKind": "unsecured",
  "chapters": [
    "11"
  ],
  "filedAfter": "01/01/2024",
  "availableOnly": false,
  "orderBy": "dateFiled desc",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Key fields: case, court, chapter, committee evidence, appointment date, days to committee, committee parties, counsel

## `fullData` (type: `string`):

Complete dataset with all 40 fields, including the appointment entry array and the party array

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "committeeSignal": "either",
    "maxItems": 10,
    "committeeKind": "unsecured",
    "chapters": [
        "11"
    ],
    "filedAfter": "01/01/2024",
    "orderBy": "dateFiled desc",
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/courtlistener-creditor-committee-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "committeeSignal": "either",
    "maxItems": 10,
    "committeeKind": "unsecured",
    "chapters": ["11"],
    "filedAfter": "01/01/2024",
    "orderBy": "dateFiled desc",
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/courtlistener-creditor-committee-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "committeeSignal": "either",
  "maxItems": 10,
  "committeeKind": "unsecured",
  "chapters": [
    "11"
  ],
  "filedAfter": "01/01/2024",
  "orderBy": "dateFiled desc",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call parseforge/courtlistener-creditor-committee-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/courtlistener-creditor-committee-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/z4Kj8bk76s52rrSNB/builds/IZZfoBW3gWm2UIWtq/openapi.json
