ParseForge Scrapers

CourtListener Adversary Proceedings Scraper - Bankruptcy

parseforge/courtlistener-adversary-scraper

BusinessLead generationAutomation

Scrape bankruptcy adversary proceedings from CourtListener RECAP by nature of suit, court, party and date, with judges and counsel. Export to CSV, JSON, Excel or XML.

Run this scraper See the API call
Total runs
29
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the CourtListener Adversary Proceedings Scraper - Bankruptcy return?

ParseForge Banner

โš”๏ธ CourtListener Adversary Proceedings Scraper

๐Ÿš€ Export bankruptcy adversary proceedings from the CourtListener RECAP archive in seconds. Pick the kind of action, a court and a date range, and get one 36-field row per proceeding with the plaintiff, the defendant, the judge, the trustee, counsel, law firms and the filings that matched. Recovery actions alone hold 18,902 proceedings.

An adversary proceeding is the lawsuit filed inside a bankruptcy case: a trustee clawing back a preference, a creditor arguing a debt should survive discharge, a fight over the priority of a lien. PACER files each one as its own docket, and this Actor pulls them out of CourtListener's RECAP archive by the Form B1040 nature of suit the complaint was filed under. No login and no API key required, and the results export to CSV, JSON, Excel, or XML.

Adversary proceedings sit in the same RECAP index as the millions of Chapter 7, 11 and 13 petitions they hang off, and nothing on the search page separates them. This Actor does it four ways at once: it searches the 21 Form B1040 codes server side, screens on the missing bankruptcy chapter, reads the separate adversary docket-number sequence (26-01087, or 2:26-ap-01234 in courts that prefix the division), and falls back to the X v. Y caption. All 94 United States bankruptcy courts are covered, and every code was queried one by one against the live API.

๐ŸŽฏ Target Audience ๐Ÿ’ก Primary Use Cases
Bankruptcy litigators New preference, fraudulent transfer and dischargeability suits by court and week
Trustees and their counsel Clawback actions filed by other trustees, and who is defending them
Creditors and collections teams 523 dischargeability complaints naming a debtor you are owed by
Litigation funders and insurers Fraudulent transfer and lien priority fights, with the sides of the caption split out
Legal tech and AI teams Structured adversary dockets with stable IDs, parties, counsel and firms

๐Ÿ“‹ What the CourtListener Adversary Proceedings Scraper does

๐Ÿ’ก Why it matters: PACER has no cross-district search for adversary proceedings, and CourtListener's public API returns them mixed into a bankruptcy feed that is overwhelmingly ordinary petitions. Measured on 2026-09-08, 1 of 10 fresh dockets in the Southern District of New York was an adversary proceeding. This Actor sends the nature-of-suit filter to the API so the separation happens server side, flattens each docket into one row, and never bills for a record it did not deliver.

Pick a type of action, or the exact B1040 codes, and the Actor queries CourtListener's search API live, following the cursor until it has the rows you asked for.

  • โš”๏ธ One row per adversary proceeding. Case caption split into plaintiff and defendant, court and court ID, docket number and the bare adversary number, PACER case ID, date filed, date terminated and whether the proceeding is still pending, nature of suit as codes and as labels, the action type, the bankruptcy judge with their CourtListener ID, the trustee, every party with IDs, counsel of record, law firms, and the filings that matched your query.
  • ๐Ÿ”ฃ 21 Form B1040 codes in 9 pickable groups. Recovery of money or property (11, 12, 13, 14), lien validity (21), sale of estate property (31), objection to discharge (41, 51), dischargeability (61 to 68), injunctive relief (71, 72), subordination (81), declaratory judgment (91) and other (02). Every code was queried against the live API on 2026-09-08.
  • ๐Ÿ› All 94 US bankruptcy courts. Read from CourtListener's own courts endpoint, pickable from a list, and the search is scoped to them whether or not you choose one.
  • ๐Ÿงน Petitions stay out. A Chapter 7, 11 or 13 filing is a petition, not an adversary proceeding, and it is screened out on the bankruptcy chapter and the docket-number sequence before a row is written or charged.
  • ๐Ÿ•ฐ๏ธ Full docket timeline (opt-in). Every entry on the proceeding, oldest first, not just the ones that matched the search. Adversary dockets are short, so this is usually one extra request each.
  • โณ Pending only. Drop proceedings that already have a termination date and keep live litigation.
  • ๐Ÿท๏ธ No blanks. Values the source can carry but did not fill read Not Disclosed; values that do not apply to that record read N/A; booleans read Yes or No.

๐ŸŽฌ Full Demo (๐Ÿšง Coming soon)

A short walkthrough video is in production.

๐Ÿ“Š Output

Each row is one bankruptcy adversary proceeding. Fields, in dataset order:

Field Description
๐Ÿ†” docketId CourtListener docket ID, stable across runs
โš”๏ธ caseName Adversary caption, for example Tonis v. Greuner
๐Ÿ”— url Docket page on courtlistener.com
๐Ÿ› court / ๐Ÿท courtId / ๐Ÿ“Ž courtCitationString Court name, CourtListener court ID (for example nysb), reporter-style abbreviation
๐Ÿ”ข docketNumber / โš–๏ธ adversaryNumber PACER docket number as written, and the bare adversary sequence with the division prefix stripped
๐Ÿงพ pacerCaseId PACER's internal case ID
๐Ÿ™‹ plaintiff / ๐Ÿ›ก defendant The two sides of the caption, split apart
๐Ÿ“… dateFiled / ๐Ÿ dateTerminated / โณ isPending Filing date, termination date (N/A while pending), Yes or No
๐Ÿ“ natureOfSuitRaw / ๐Ÿ”ฃ natureOfSuitCode / ๐Ÿ“Œ natureOfSuit / ๐Ÿ”ข natureOfSuitCodes The cover-sheet text as PACER wrote it, the primary B1040 code and its label, and every code on the proceeding
๐Ÿ—ƒ adversaryCategory / ๐Ÿ—‚ adversaryCategories The action type, for example Dischargeability of a debt, and every type the codes map to
๐Ÿ‘ฉโ€โš–๏ธ assignedTo / assignedToId Bankruptcy judge, with their CourtListener ID
๐Ÿง‘โ€๐Ÿ’ผ trustee Trustee on the underlying bankruptcy case, when RECAP carries it
๐Ÿ‘ฅ parties / partyIds / partyCount Every party, semicolon-separated, with IDs and a count
๐Ÿ’ผ attorneys / attorneyIds / ๐Ÿข lawFirms / lawFirmIds Counsel of record and their firms, with IDs
๐Ÿ“„ matchedDocumentCount / ๐Ÿ“‚ matchedDocuments / โž• hasMoreDocuments The filings that matched your query (entry number, date, type, description, PDF availability, PACER document ID, URL), and whether the docket holds more
๐Ÿ•“ dateCreated When the docket entered RECAP
๐Ÿ•’ scrapedAt ISO timestamp of the collection
โŒ error null on success; error rows carry only this field and are never charged

With includeTimeline on, two more columns appear before dateCreated: timelineEntryCount and timeline.

Three real records from a verification run (recovery of money or property, filed since 01/01/2026, Max Items 5):

[
  {
    "docketId": 74741462,
    "caseName": "Dillworth v. CHARLES SCHWAB & CO., INC.",
    "url": "https://www.courtlistener.com/docket/74741462/dillworth-v-charles-schwab-co-inc/",
    "court": "United States Bankruptcy Court, S.D. Florida.",
    "courtId": "flsb",
    "courtCitationString": "Bankr. S.D. Florida",
    "docketNumber": "26-01311",
    "adversaryNumber": "26-01311",
    "pacerCaseId": "853020",
    "plaintiff": "Dillworth",
    "defendant": "CHARLES SCHWAB & CO., INC.",
    "dateFiled": "2026-09-02",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "natureOfSuitRaw": "13 Recovery of money/property - 548 fraudulent transfer; 14 Recovery of money/property - other",
    "natureOfSuitCode": "13",
    "natureOfSuit": "Recovery of money/property - 548 fraudulent transfer",
    "natureOfSuitCodes": "13; 14",
    "adversaryCategory": "Recovery of money or property",
    "adversaryCategories": "Recovery of money or property",
    "assignedTo": "Robert Mark",
    "assignedToId": 8757,
    "trustee": "Not Disclosed",
    "parties": "Drew M. Dillworth; CHARLES SCHWAB & CO., INC.; DON R BOVELL",
    "partyIds": "23636889; 23636890; 23636891",
    "partyCount": 3,
    "attorneys": "CHARLES SCHWAB & CO., INC.; DON R BOVELL; James B Miller",
    "attorneyIds": "16016712; 16016713; 16016714; 16016715",
    "lawFirms": "James B Miller",
    "lawFirmIds": "74651",
    "matchedDocumentCount": 3,
    "matchedDocuments": [
      {
        "id": 492395156,
        "docketEntryId": 476821369,
        "documentNumber": "2",
        "attachmentNumber": "N/A",
        "entryNumber": 2,
        "entryDateFiled": "2026-09-03",
        "documentType": "PACER Document",
        "shortDescription": "Summons and Notice of Scheduling Conference in an Adversary Proceeding [Post Dec 1 2020",
        "description": "Not Disclosed",
        "isAvailable": "No",
        "pageCount": "Not Disclosed",
        "url": "https://www.courtlistener.com/docket/74741462/2/dillworth-v-charles-schwab-co-inc/",
        "filepathLocal": "N/A",
        "pacerDocId": "050061660537",
        "snippet": "N/A"
      },
      {
        "id": 492395117,
        "docketEntryId": 476821330,
        "documentNumber": "3",
        "attachmentNumber": "N/A",
        "entryNumber": 3,
        "entryDateFiled": "2026-09-03",
        "documentType": "PACER Document",
        "shortDescription": "Order Setting Scheduling Conference and Establishing Procedures [Post Dec 1 2020",
        "description": "Not Disclosed",
        "isAvailable": "No",
        "pageCount": "Not Disclosed",
        "url": "https://www.courtlistener.com/docket/74741462/3/dillworth-v-charles-schwab-co-inc/",
        "filepathLocal": "N/A",
        "pacerDocId": "050061660569",
        "snippet": "N/A"
      },
      {
        "id": 492452859,
        "docketEntryId": 476877618,
        "documentNumber": "4",
        "attachmentNumber": "N/A",
        "entryNumber": 4,
        "entryDateFiled": "2026-09-03",
        "documentType": "PACER Document",
        "shortDescription": "Summons Service Executed",
        "description": "Not Disclosed",
        "isAvailable": "No",
        "pageCount": "Not Disclosed",
        "url": "https://www.courtlistener.com/docket/74741462/4/dillworth-v-charles-schwab-co-inc/",
        "filepathLocal": "N/A",
        "pacerDocId": "050061663621",
        "snippet": "N/A"
      }
    ],
    "hasMoreDocuments": "Yes",
    "dateCreated": "2026-09-02T21:27:24.863300Z",
    "scrapedAt": "2026-09-08T05:58:22.077Z",
    "error": null
  },
  {
    "docketId": 74744983,
    "caseName": "Wyse v. Great Midwest Insurance Co.",
    "url": "https://www.courtlistener.com/docket/74744983/wyse-v-great-midwest-insurance-co/",
    "court": "United States Bankruptcy Court, S.D. New York",
    "courtId": "nysb",
    "courtCitationString": "Bankr. S.D.N.Y.",
    "docketNumber": "26-01086",
    "adversaryNumber": "26-01086",
    "pacerCaseId": "337129",
    "plaintiff": "Wyse",
    "defendant": "Great Midwest Insurance Co.",
    "dateFiled": "2026-09-03",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "natureOfSuitRaw": "91 Declaratory judgment; 14 Recovery of money/property - other",
    "natureOfSuitCode": "91",
    "natureOfSuit": "Declaratory judgment",
    "natureOfSuitCodes": "91; 14",
    "adversaryCategory": "Declaratory judgment",
    "adversaryCategories": "Declaratory judgment; Recovery of money or property",
    "assignedTo": "Michael E. Wiles",
    "assignedToId": 8909,
    "trustee": "Not Disclosed",
    "parties": "Michael Wyse,  as Plan Administrator for the Voyager Wind-Down Debtor; Great Midwest Insurance Co.",
    "partyIds": "23644965; 23644966",
    "partyCount": 2,
    "attorneys": "Great Midwest Insurance Co.; Jaimie Nawaday",
    "attorneyIds": "16019608; 16019609; 16019607",
    "lawFirms": "Taft Stettinius & Hollister LLP",
    "lawFirmIds": "1325114",
    "matchedDocumentCount": 3,
    "matchedDocuments": [
      {
        "id": 492453928,
        "docketEntryId": 476878682,
        "documentNumber": "2",
        "attachmentNumber": "N/A",
        "entryNumber": 2,
        "entryDateFiled": "2026-09-03",
        "documentType": "PACER Document",
        "shortDescription": "Auto Summons and Notice of Pre-Trial Conference",
        "description": "Not Disclosed",
        "isAvailable": "No",
        "pageCount": "Not Disclosed",
        "url": "https://www.courtlistener.com/docket/74744983/2/wyse-v-great-midwest-insurance-co/",
        "filepathLocal": "N/A",
        "pacerDocId": "126024734490",
        "snippet": "N/A"
      },
      {
        "id": 492399572,
        "docketEntryId": 476825627,
        "documentNumber": "N/A",
        "attachmentNumber": "N/A",
        "entryNumber": "N/A",
        "entryDateFiled": "2026-09-03",
        "documentType": "PACER Document",
        "shortDescription": "Auto - docket of credit card",
        "description": "Not Disclosed",
        "isAvailable": "No",
        "pageCount": "Not Disclosed",
        "url": "N/A",
        "filepathLocal": "N/A",
        "pacerDocId": "Not Disclosed",
        "snippet": "N/A"
      },
      {
        "id": 492399610,
        "docketEntryId": 476825665,
        "documentNumber": "1",
        "attachmentNumber": "N/A",
        "entryNumber": 1,
        "entryDateFiled": "2026-09-03",
        "documentType": "PACER Document",
        "shortDescription": "Complaint (fee)",
        "description": "Adversary case 26-01086. Complaint against Great Midwest Insurance Co. (Fee Amount $ 350.). Nature(s) of Suit: (91 (Declaratory judgment)), (14 (Recovery of money/property - other)) Filed by Jaimie Nawaday on behalf of Michael Wyse. (Attachments: # 1 Exhibit A # 2 Exhibit B) (Nawaday, Jaimie) (Entered: 09/03/2026)",
        "isAvailable": "No",
        "pageCount": "Not Disclosed",
        "url": "https://www.courtlistener.com/docket/74744983/1/voyager-digital-holdings-inc-and-michael-wyse-adversary-proceeding/",
        "filepathLocal": "N/A",
        "pacerDocId": "126024733897",
        "snippet": "N/A"
      }
    ],
    "hasMoreDocuments": "Yes",
    "dateCreated": "2026-09-03T16:44:25.334936Z",
    "scrapedAt": "2026-09-08T05:58:23.177Z",
    "error": null
  },
  {
    "docketId": 74679870,
    "caseName": "Jeffrey Pagtakhan and Renilda Ventura Pagtakhan - Adversary Proceeding",
    "url": "https://www.courtlistener.com/docket/74679870/jeffrey-pagtakhan-and-renilda-ventura-pagtakhan-adversary-proceeding/",
    "court": "United States Bankruptcy Court, C.D. California",
    "courtId": "cacb",
    "courtCitationString": "Bankr. C.D. Cal.",
    "docketNumber": "6:26-ap-01092",
    "adversaryNumber": "26-01092",
    "pacerCaseId": "2056006",
    "plaintiff": "N/A",
    "defendant": "N/A",
    "dateFiled": "2026-08-20",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "natureOfSuitRaw": "13 Recovery of money/property - 548 fraudulent transfer; 91 Declaratory judgment; 11 Recovery of money/property - 542 turnover of property; 01 Determination of removed claim or cause",
    "natureOfSuitCode": "13",
    "natureOfSuit": "Recovery of money/property - 548 fraudulent transfer",
    "natureOfSuitCodes": "13; 91; 11",
    "adversaryCategory": "Recovery of money or property",
    "adversaryCategories": "Recovery of money or property; Declaratory judgment",
    "assignedTo": "Magdalena Reyes Bordeaux",
    "assignedToId": "Not Disclosed",
    "trustee": "Daff, (TR) Charles W",
    "parties": "United States Trustee (RS); Leilani Lozado Venia; Mitchell Marc Lozado; Charles W Daff (TR); Charles W. Daff",
    "partyIds": "23626223; 23626224; 23626225; 23626226; 23626227",
    "partyCount": 5,
    "attorneys": "Mitchell Marc Lozado; Brandon J. Iskander; Leilani Lozado Venia",
    "attorneyIds": "16009724; 16009725; 16009726; 16009727",
    "lawFirms": "Goe Forsythe & Hodges LLP",
    "lawFirmIds": "819166",
    "matchedDocumentCount": 3,
    "matchedDocuments": [
      {
        "id": 492082166,
        "docketEntryId": 475258574,
        "documentNumber": "1",
        "attachmentNumber": 1,
        "entryNumber": 1,
        "entryDateFiled": "2026-08-20",
        "documentType": "Attachment",
        "shortDescription": "Appendix Adversary Proceeding Cover Sheet",
        "description": "Adversary case 6:26-ap-01092. Complaint by Charles W. Daff against Leilani Lozado Venia, Mitchell Marc Lozado. ($350.00 Fee Charge To Estate). Avoidance and Recovery of Intentional Fraudulent Transfer with an Automatic Preservation for the Estate 11 U.S.C. ยงยง 544, 550, 551; Cal. Civ. Code ยงยง 3439.04, 3439.07; Avoidance and Recovery of Constructive Fraudulent Transfer with an Automatic Preservation for the Estate 11 U.S.C. ยงยง 544, 550, 551; Cal. Civ. Code ยงยง 3439.04, 3439.05, 3439.07, and 3439.09; Declaratory Relief 11 U.S.C. ยงยง 544; Fed. R. Bankr. P. 7001(9); Unjust Enrichment 11 U.S.C. ยง 105; Disallowance of Claims 11 U.S.C. ยง 502(d), Including Exhibits 1 Through 5; Adversary Proceeding Sheet and Proof of Service (Attachments: # 1 Appendix Adversary Proceeding Cover Sheet) Nature of Suit: (13 (Recovery of money/property - 548 fraudulent transfer)),(91 (Declaratory judgment)),(91 (Declaratory judgment)),(11 (Recovery of money/property - 542 turnover of property)) (Iskander, Brandon) WARNING: Incorrect Nature of Suit (ADD # 01- Determination of removed claim or caused and corrected item no# 11 to show on the docket) and Demand amount selected at the time of filing, see docket no# 3 for corrective action. Modified on 8/21/2026 (SH). (Entered: 08/20/2026)",
        "isAvailable": "No",
        "pageCount": 2,
        "url": "https://www.courtlistener.com/docket/74679870/1/1/jeffrey-pagtakhan-and-renilda-ventura-pagtakhan-adversary-proceeding/",
        "filepathLocal": "N/A",
        "pacerDocId": "9730114666513",
        "snippet": "N/A"
      },
      {
        "id": 492081990,
        "docketEntryId": 476517120,
        "documentNumber": "3",
        "attachmentNumber": "N/A",
        "entryNumber": 3,
        "entryDateFiled": "2026-08-21",
        "documentType": "PACER Document",
        "shortDescription": "Not Disclosed",
        "description": "Notice to Filer of Correction Made/No Action Required: Incorrect case data/statistical information was entered at the time of filing. The Nature of Suit were incorrectly selected re: (1) for Determination of removed claim or cause and (11) Recovery of Money/Property (didn't populate the title of the name on the docket) THE COURT HAS CORRECTED THIS INFORMATION. THIS ENTRY IS PROVIDED FOR FUTURE REFERENCE. Incorrect Demand Amount entered at the time of filing. The correct amount to enter was 214, not 214000. CM/ECF will populate the demand amount by 1000, so the amount showed 214,000.000 (on the docket), and should show 214,000. THE COURT HAS CORRECTED THIS INFORMATION. THIS ENTRY IS PROVIDED FOR FUTURE REFERENCE. (RE: related document(s)1 Complaint filed by Plaintiff Charles W. Daff) (SH) (Entered: 08/21/2026)",
        "isAvailable": "No",
        "pageCount": "Not Disclosed",
        "url": "https://www.courtlistener.com/docket/74679870/3/jeffrey-pagtakhan-and-renilda-ventura-pagtakhan-adversary-proceeding/",
        "filepathLocal": "N/A",
        "pacerDocId": "Not Disclosed",
        "snippet": "N/A"
      },
      {
        "id": 490908255,
        "docketEntryId": 475378555,
        "documentNumber": "N/A",
        "attachmentNumber": "N/A",
        "entryNumber": "N/A",
        "entryDateFiled": "2026-08-21",
        "documentType": "PACER Document",
        "shortDescription": "Notice to Filer of Correction Made/No Action Required",
        "description": "Not Disclosed",
        "isAvailable": "No",
        "pageCount": "Not Disclosed",
        "url": "N/A",
        "filepathLocal": "N/A",
        "pacerDocId": "Not Disclosed",
        "snippet": "N/A"
      }
    ],
    "hasMoreDocuments": "No",
    "dateCreated": "2026-08-20T21:21:02.719700Z",
    "scrapedAt": "2026-09-08T05:58:17.372Z",
    "error": null
  }
]

โœจ Why choose this Actor

What you get
Adversary proceedings, not petitions Four measured signals separate the lawsuit from the bankruptcy it sits inside: the Form B1040 nature of suit, the missing chapter, the separate adversary docket-number sequence, and the X v. Y caption. Chapter filings never reach the dataset.
21 B1040 codes, all verified Every code was queried one by one against the live API on 2026-09-08. Recovery of other property leads with 6,710 proceedings, preference actions follow with 5,249, and revocation of confirmation is genuinely rare at 17.
The sides of the caption, split plaintiff and defendant come out of the adversary caption as their own columns, so a trustee's clawback docket sorts by who is being sued without any parsing on your side.
All 94 bankruptcy courts Read from CourtListener's own courts endpoint, not typed from memory, and pickable from a list.
Counsel and firms on the row Parties, attorneys and law firms come back with their CourtListener IDs. Measured on 20 dischargeability proceedings: 20/20 had parties and counsel, 16/20 had firms.
No API key needed CourtListener throttles anonymous callers at 5 requests a minute per IP, and each request returns 20 rows. Turn the proxy on for a fresh exit IP per request, or paste your own free CourtListener key and the throttle disappears.
You pay for what you keep Rows are billed as they are written and capped at maxItems, so a page that overshoots the cap is trimmed before it is charged. Petitions and duplicates are dropped before billing, never after.

๐Ÿ“ˆ How it compares to alternatives

This Actor Bankruptcy petition scrapers PACER directly
What a row is The adversary lawsuit inside the bankruptcy The Chapter 7, 11 or 13 petition Either, per court
Nature-of-suit filter 21 B1040 codes in 9 pickable groups, one search per code Chapter number only Per-court only, no cross-district search
Plaintiff and defendant Split out as columns Debtor name alone Behind the docket sheet
Court coverage All 94 US bankruptcy courts, pickable Varies One court at a time
Matched filings and full timeline Matched filings on the row, full timeline opt-in Sometimes Per page
Rows a free account can preview 10 Varies None
Ceiling Anonymous API throttle of 5 requests a minute 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.
  2. Open the CourtListener Adversary Proceedings Scraper.
  3. Pick a type of adversary action, set your courts and dates, and click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

One typical run: natureOfSuitCategories ["recovery"], courts ["deb","txsb"], filedAfter 01/01/2026, maxItems 200. Run it programmatically through the Apify API or the ApifyClient for JavaScript and Python.

๐Ÿ’ผ Business use cases

๐Ÿ“ก Watch clawback litigation as it is filed

Set natureOfSuitCategories to recovery, sort by filing date, and run it on a schedule. Each run returns the newest preference and fraudulent transfer suits first, so a diff against the last run is your alert feed. A defense firm can see every new 547 action in Delaware and the Southern District of Texas the morning after it is docketed.

โš”๏ธ Track a debtor or a creditor across proceedings

partyName searches the party list, which is what PACER indexes, so a company's adversary proceedings come back whether it is plaintiff or defendant. Credit and collections teams use it to see whether a debtor is already being sued for fraud before writing off a balance.

๐Ÿ›๏ธ Map one court's adversary docket

Pick a court such as deb, nysb or txsb and pull every adversary proceeding filed in a date range, grouped by the code the plaintiff wrote on the cover sheet. Firm marketing teams use assignedTo, attorneys and lawFirms to see who is filing what before which judge.

๐Ÿ“Š Measure filing trends

Every row carries the B1040 codes, the action type and the filing date, so counts by court, quarter and action type fall out of a group-by. Restructuring advisors track whether dischargeability complaints are rising in a district before staffing a practice.

๐Ÿ”Œ Automating CourtListener Adversary Proceedings Scraper

  • Make / Zapier: trigger a run on a schedule, then push new rows to a CRM, a Google Sheet or a Slack channel.
  • Slack: post each new adversary caption, court and action type to a litigation-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 filings.
  • Google Drive: drop the CSV or Excel export into a shared folder for the practice group.

๐ŸŒŸ Beyond business use cases

  • Research: count 523(a)(2) fraud complaints by district and year, or measure how often trustees win preference actions by court.
  • Personal: follow an adversary proceeding you are a party to, or watch one filed against a company you deal with.
  • Non-profit: monitor student-loan dischargeability filings and consumer discharge objections in the districts you serve.
  • Experimentation: train classifiers on cover-sheet codes versus complaint text, or build a docket-alert bot on top of the JSON export.

๐Ÿค– Ask an AI assistant about this scraper

Give an AI agent live access to bankruptcy adversary dockets through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/courtlistener-adversary-scraper"

Then prompt it in plain language:

  • "List the preference actions filed in Delaware bankruptcy court this month."
  • "Find dischargeability complaints alleging actual fraud against individuals in 2026."
  • "Which law firms file the most fraudulent transfer suits in the Southern District of Texas?"

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

Use the Apify Actor "parseforge/courtlistener-adversary-scraper" to search bankruptcy adversary proceedings. Input: { "natureOfSuitCategories": ["recovery"|"dischargeability"|"lien"|"discharge"|"injunctive"|"subordination"|"declaratory"|"sale"|"other"], "natureOfSuitCodes": ["12"], "courts": ["deb"], "filedAfter": "MM/DD/YYYY", "partyName": "<name>", "maxItems": <n> }. It returns the adversary caption split into plaintiff and defendant, court, docket and adversary number, dates, B1040 nature of suit, action type, judge, trustee, parties, counsel and firms per row. Call it with the ApifyClient and my APIFY_TOKEN.

โ“ Frequently Asked Questions

โ“ What is an adversary proceeding?

It is a lawsuit filed inside a bankruptcy case, governed by Part VII of the Federal Rules of Bankruptcy Procedure. A trustee suing to recover a preference, a creditor arguing a debt should not be discharged, or a dispute over who has priority in a piece of collateral all get their own docket, their own number and their own cover sheet.

โ“ How is it different from a bankruptcy filing?

The petition opens the bankruptcy; the adversary proceeding is litigation inside it. A petition carries a chapter (7, 11, 13) and is captioned with the debtor's name. An adversary proceeding carries no chapter, carries a Form B1040 nature of suit instead, uses a separate docket-number sequence, and is captioned X v. Y. This Actor returns only the second kind. For the petitions, use the CourtListener Business Bankruptcy Scraper.

โ“ Do I need a CourtListener account?

No. Every endpoint this Actor reads is public and anonymous. A free CourtListener API key is supported (courtListenerKey) and lifts the 5-requests-a-minute throttle for long runs, but it is optional.

โ“ What are the Form B1040 codes?

The two-digit codes on the adversary proceeding cover sheet, for example 12 for a 547 preference action, 62 for a 523(a)(2) fraud dischargeability complaint, or 21 for a lien priority fight. They are unrelated to the three-digit JS-44 codes used for district-court civil cases, which is part of why the two never get confused here.

โ“ Does it cover state courts?

No. RECAP is the federal PACER archive, and adversary proceedings only exist in the 94 United States bankruptcy courts.

โ“ Why am I getting no results?

Every filter is ANDed, and an over-narrow combination returns an empty set rather than an error. Drop one filter at a time. Some codes are genuinely rare: revocation of confirmation matched 17 proceedings in the whole archive.

โ“ Why is a proceeding missing its nature of suit or judge?

A docket enters RECAP with whatever the first donated filing carried, and the cover-sheet fields arrive later. Those cells read Not Disclosed until the data lands. When no nature-of-suit filter is set, the Actor still catches those dockets through the chapter, docket-number and caption signals.

โ“ How fast is it, and what is the ceiling?

CourtListener throttles anonymous callers at 5 requests a minute per IP, and each request returns 20 rows, so a direct run tops out around 100 rows a minute. The penalty escalates on a burst: one measured 429 asked for a 272-second cooldown, and the Actor waits it out as the Retry-After header asks. Turn on the proxy for a fresh exit IP per request, or add a free CourtListener key, and the throttle no longer binds.

โ“ Why does picking a category make a run faster?

nature_of_suit is a server-side filter, so CourtListener returns only adversary proceedings and every row on the page counts. With no category or code set the Actor has to screen the whole bankruptcy feed itself, and most of that feed is ordinary petitions.

โ“ Can I get the documents themselves?

The ones already donated to the free RECAP archive, yes: each filing carries the archive path in filepathLocal and isAvailable tells you whether the PDF is there. Turn on availableOnly to keep only proceedings with free PDFs.

โ“ Does it return the full docket?

On request. includeTimeline fetches every entry per proceeding as a second search and adds timelineEntryCount and timeline to the row. It is off by default because it adds at least one request per proceeding.

โ“ Can I find the bankruptcy case an adversary proceeding belongs to?

Not as a linked field. CourtListener's public search hit does not carry the lead case ID, so the Actor does not invent one. The adversary caption, the court and pacerCaseId are what the public surface gives you, and url takes you to the docket where the lead case is named.

โ“ Why fewer rows than Max Items?

Either your query has that many matches, or petitions, closed proceedings and duplicates were dropped. The log prints CourtListener's own total per search and how many records were skipped.

โ“ Does it deduplicate?

Yes. One proceeding often carries three B1040 codes and so matches three of the Actor's searches. Rows are keyed by docket ID across every search in a run, so it is written and charged once.

โ“ How fresh is the data?

It is read at run time from the same index that powers courtlistener.com. Dockets appear as RECAP receives them from the courts' RSS feeds and from RECAP extension users.

โ“ How many rows per run?

Free plan: 10, as a preview. Paid plans: up to 1,000,000, bounded by how many proceedings your query actually matches.

๐Ÿ”Œ 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

๐Ÿ’ก Pro Tip: browse the complete ParseForge collection for more court, government and public-records scrapers.

๐Ÿ†˜ Need Help? Open our contact form 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. Court records concern real people: do not use this data to identify, profile, or target individuals.

What input does the CourtListener Adversary Proceedings Scraper - Bankruptcy accept?

FieldTypeWhat it doesDefault
natureOfSuitCategories array The kind of lawsuit to collect, using the Form B1040 nature-of-suit groups every adversary complaint is filed under. Each group expands to its codes and is searched in turn. Leave empty to screen the whole bankruptcy feed instead, which is slower because CourtListener can no longer filter server side. ["recovery"]
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000. Split evenly across the selected nature-of-suit codes. Leave empty on a paid plan for 100 rows. 10
natureOfSuitCodes array Pick individual Form B1040 codes instead of whole groups, for example 12 for a preference action or 68 for willful and malicious injury. Combines with the groups above. not set
courts array Restrict the search to one or more of the 94 United States bankruptcy courts. Leave empty to search all of them. not set
query string Full-text query across the case caption, parties and filing text. Supports quoted phrases and AND/OR/NOT. Leave empty to browse with the filters alone. not set
caseName string Match words in the adversary caption, for example "trustee" or a debtor surname. not set
docketNumber string Exact adversary docket number, for example 26-01087 or 2:26-ap-01234. not set
partyName string Name of a plaintiff, defendant or trustee in the proceeding, for example "Wells Fargo". not set
filedAfter string Earliest filing date of the adversary complaint, as MM/DD/YYYY or YYYY-MM-DD. 01/01/2026
filedBefore string Latest filing date of the adversary complaint, as MM/DD/YYYY or YYYY-MM-DD. not set
pendingOnly boolean Drop proceedings that already have a termination date, leaving only live litigation. false
availableOnly boolean Keep only proceedings whose filings are already in the free RECAP archive rather than paywalled behind PACER. false
entryDescription string Match words in the docket entry description, for example complaint, summons or default judgment. not set
documentNumber string Filter to a specific document number within the adversary docket, for example 1 for the complaint. not set
includeTimeline boolean Look up every docket entry for each proceeding, not just the ones that matched the query. Adds the timeline and timelineEntryCount columns and costs at least one extra request per proceeding. false
timelineLimit integer How many docket entries to attach when the timeline is on. Older entries come first. 20
orderBy string (5 options) How to order results. Relevance only means anything when a search query is set. dateFiled desc
courtListenerKey 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. not set
proxyConfiguration 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. {"useApifyProxy":false}

How much does the CourtListener Adversary Proceedings Scraper - Bankruptcy cost?

from $3.62 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.00362 to $0.004

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the CourtListener Adversary Proceedings Scraper - Bankruptcy API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~courtlistener-adversary-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "natureOfSuitCategories": [
      "recovery"
    ],
    "maxItems": 10,
    "filedAfter": "01/01/2026",
    "pendingOnly": false,
    "availableOnly": false
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "natureOfSuitCategories": [
    "recovery"
  ],
  "maxItems": 10,
  "filedAfter": "01/01/2026",
  "pendingOnly": false,
  "availableOnly": false
}

What do users say about the CourtListener Adversary Proceedings Scraper - Bankruptcy?

No reviews yet. Be the first.

How do I report an issue with the CourtListener Adversary Proceedings Scraper - Bankruptcy?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run CourtListener Adversary Proceedings Scraper - Bankruptcy on Apify All scrapers