ParseForge Scrapers

CourtListener Litigation Party & Counsel Scraper

parseforge/courtlistener-party-scraper

Lead generationAutomation

Scrape litigation parties and their counsel from CourtListener RECAP: one row per party, with law firms, attorneys, judge and case. Export to CSV, JSON, Excel or XML.

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

This scraper was last updated on .

What does the CourtListener Litigation Party & Counsel Scraper return?

ParseForge Banner

๐Ÿง‘โ€โš–๏ธ CourtListener Litigation Party & Counsel Scraper

๐Ÿš€ Export the litigants and the law firms behind federal court cases in seconds. Search by party, attorney or firm name and get one 39-field row per party, with the firms and attorneys of record, the judge, the nature of suit and the docket it belongs to. 2,838,130 federal dockets in the RECAP archive have counsel on record.

Every federal lawsuit is a list of names: the plaintiffs, the defendants, the intervenors, and the law firms that show up for each of them. CourtListener's RECAP archive carries that list for millions of PACER dockets, but its public search returns it buried inside a case record. This Actor turns it around: one row per party, with the counsel roster of the case attached to every row, so a firm's client list, a company's litigation history or a court's most active defense bar all fall out of a single export to CSV, JSON, Excel, or XML.

Search runs on the names themselves. party:(), attorney:() and firm:() are real fielded queries on the public API, so "every case where Kirkland and Ellis appeared since 2024" is one request, not a crawl. Coverage measured on 2026-09-08 across 60 live civil dockets: parties on 60 of 60, party IDs on 58, attorneys on 58, law firms on 53. No login and no API key required.

๐ŸŽฏ Target Audience ๐Ÿ’ก Primary Use Cases
Law firm business development Which firms appear opposite you, and for whom, by court and practice area
Litigation finance and insurers Party-level exposure across dockets, with counsel quality as a signal
Corporate legal and compliance Every federal case a counterparty is named in, as plaintiff or defendant
Legal recruiters Attorneys of record by court, firm and nature of suit
Legal tech and AI teams A party-and-counsel graph with stable CourtListener IDs

๐Ÿ“‹ What the CourtListener Litigation Party & Counsel Scraper does

๐Ÿ’ก Why it matters: PACER has no cross-district party search, and CourtListener's own dockets, parties and attorneys endpoints all return 401 without a token. The one open surface is the search index, and it publishes the party, attorney and firm arrays on every RECAP docket. This Actor expands those arrays into rows, so the unit of analysis is the litigant rather than the case, and it never bills for a record it did not deliver.

Give it a party, an attorney or a firm to look for, or just a nature of suit and a date range, and it queries the CourtListener search API live, following the cursor until it has the rows you asked for.

  • ๐Ÿง‘โ€โš–๏ธ One row per party. Party name and CourtListener party ID, the side of the caption it sits on, the co-parties on the same docket, the case caption and URL, court and court ID, PACER docket number and case ID, case type, filing and termination dates, JS-44 nature of suit as raw text, code, label and category, cause of action, jurisdiction type, jury demand, the judge and any magistrate referral, and the counsel roster.
  • ๐Ÿข Firm-first search. lawFirmKeywords runs a fielded firm:() query, so one firm name returns every docket where that firm appeared. Several names are ORed. Combine a firm with an attorney and you get only the cases where both are on the record.
  • ๐Ÿ’ผ Counsel and firm IDs on every row. attorneys, attorneyIds, lawFirms and lawFirmIds come straight from RECAP with their CourtListener IDs, plus attorneyCount and lawFirmCount for sorting.
  • โœ… Represented parties only, by default. A server-side _exists_:firm_id clause keeps the 2,838,130 dockets that have a firm on record and drops the bankruptcy petition stubs that carry a single unrepresented debtor. Turn it off to take everything.
  • ๐Ÿ”ฃ JS-44 nature of suit in 14 pickable groups. Civil rights, intellectual property, labor, contract, torts and the rest, each expanding to its cover-sheet codes and searched in turn with the row budget split between them.
  • ๐Ÿ—‚ Case types split. Civil, criminal, bankruptcy petitions and bankruptcy adversary proceedings are told apart from the PACER docket number and the bankruptcy chapter, and you can keep only the ones you want.
  • ๐Ÿท๏ธ 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 party to one federal docket. Fields, in dataset order:

Field Description
๐Ÿง‘โ€โš–๏ธ partyName The litigant as PACER records it, for example ELI LILLY AND COMPANY
๐Ÿ†” partyId CourtListener party ID, stable across runs. N/A when the source ships an unequal ID list
โš–๏ธ captionSide Plaintiff side, Defendant side or Not Disclosed, derived from the case caption
๐Ÿ“Œ caseName Case caption, for example Lida Sedgh v. Eli Lilly and Company
๐Ÿ”— url Docket page on courtlistener.com
๐Ÿ†” docketId CourtListener docket ID
๐Ÿ”ข docketNumber PACER docket number as written, for example 2:26-cv-06571
๐Ÿ› court / ๐Ÿท courtId / ๐Ÿ“Ž courtCitationString Court name, CourtListener court ID (for example paed), reporter-style abbreviation
๐Ÿงพ pacerCaseId PACER's internal case ID
๐Ÿ—‚ caseType Civil, Criminal, Bankruptcy or Bankruptcy adversary
๐Ÿ“• bankruptcyChapter Chapter on a bankruptcy petition, N/A on everything else
๐Ÿ“… dateFiled / ๐Ÿ dateTerminated / โณ isPending Filing date, termination date (N/A while pending), Yes or No
๐Ÿ“ natureOfSuitRaw / ๐Ÿ”ฃ natureOfSuitCode / ๐Ÿ“„ natureOfSuit / ๐Ÿ—ƒ suitCategory The cover-sheet text as PACER wrote it, the JS-44 code, its label and its group
๐Ÿ“œ cause / ๐ŸŒ jurisdictionType / ๐Ÿ‘ฅ juryDemand Statute the complaint is brought under, basis of jurisdiction, who demanded a jury
๐Ÿ‘ฉโ€โš–๏ธ assignedTo / assignedToId / referredTo / referredToId District judge and any magistrate referral, with CourtListener IDs
๐Ÿ”ข partyCount / attorneyCount / lawFirmCount / โœ… hasCounsel How many litigants, attorneys and firms the docket carries
๐Ÿ’ผ attorneys / attorneyIds Attorneys of record on the case, semicolon-separated, with IDs
๐Ÿข lawFirms / lawFirmIds Law firms on the case, semicolon-separated, with IDs
๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง coParties The other litigants on the same docket
๐Ÿ•“ 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

Three real records from a verification run (lawFirmKeywords ["Kirkland and Ellis LLP"], filed since 01/01/2024, Max Items 5):

[
  {
    "partyName": "ELI LILLY AND COMPANY",
    "partyId": 23629769,
    "captionSide": "Defendant side",
    "caseName": "Lida Sedgh v. Eli Lilly and Company",
    "url": "https://www.courtlistener.com/docket/74735338/lida-sedgh-v-eli-lilly-and-company/",
    "docketId": 74735338,
    "docketNumber": "2:26-cv-06571",
    "court": "District Court, E.D. Pennsylvania",
    "courtId": "paed",
    "courtCitationString": "E.D. Pa.",
    "pacerCaseId": "661111",
    "caseType": "Civil",
    "bankruptcyChapter": "N/A",
    "dateFiled": "2026-09-01",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "natureOfSuitRaw": "367 P.I.: Health Care/Pharmaceutical Personal Injury Product Liability",
    "natureOfSuitCode": "367",
    "natureOfSuit": "Health care / pharmaceutical personal injury product liability",
    "suitCategory": "Torts - personal injury",
    "cause": "28:1441 Notice of Removal- Personal Injury",
    "jurisdictionType": "Diversity",
    "juryDemand": "Plaintiff",
    "assignedTo": "Karen Spencer Marston",
    "assignedToId": 15382,
    "referredTo": "N/A",
    "referredToId": "N/A",
    "partyCount": 3,
    "attorneyCount": 2,
    "lawFirmCount": 2,
    "hasCounsel": "Yes",
    "attorneys": "Daniel Setareh; David I Horowitz",
    "attorneyIds": "16012062; 16012063",
    "lawFirms": "Setareth Law APLC; Kirkland and Ellis LLP",
    "lawFirmIds": "1369015; 596983",
    "coParties": "DOES 1 THROUGH 50 INCLUSIVE; Lida Sedgh",
    "dateCreated": "2026-09-01T20:53:39.310719Z",
    "scrapedAt": "2026-09-08T06:42:29.262Z",
    "error": null
  },
  {
    "partyName": "Lida Sedgh",
    "partyId": 23629767,
    "captionSide": "Plaintiff side",
    "caseName": "Lida Sedgh v. Eli Lilly and Company",
    "url": "https://www.courtlistener.com/docket/74735338/lida-sedgh-v-eli-lilly-and-company/",
    "docketId": 74735338,
    "docketNumber": "2:26-cv-06571",
    "court": "District Court, E.D. Pennsylvania",
    "courtId": "paed",
    "courtCitationString": "E.D. Pa.",
    "pacerCaseId": "661111",
    "caseType": "Civil",
    "bankruptcyChapter": "N/A",
    "dateFiled": "2026-09-01",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "natureOfSuitRaw": "367 P.I.: Health Care/Pharmaceutical Personal Injury Product Liability",
    "natureOfSuitCode": "367",
    "natureOfSuit": "Health care / pharmaceutical personal injury product liability",
    "suitCategory": "Torts - personal injury",
    "cause": "28:1441 Notice of Removal- Personal Injury",
    "jurisdictionType": "Diversity",
    "juryDemand": "Plaintiff",
    "assignedTo": "Karen Spencer Marston",
    "assignedToId": 15382,
    "referredTo": "N/A",
    "referredToId": "N/A",
    "partyCount": 3,
    "attorneyCount": 2,
    "lawFirmCount": 2,
    "hasCounsel": "Yes",
    "attorneys": "Daniel Setareh; David I Horowitz",
    "attorneyIds": "16012062; 16012063",
    "lawFirms": "Setareth Law APLC; Kirkland and Ellis LLP",
    "lawFirmIds": "1369015; 596983",
    "coParties": "DOES 1 THROUGH 50 INCLUSIVE; ELI LILLY AND COMPANY",
    "dateCreated": "2026-09-01T20:53:39.310719Z",
    "scrapedAt": "2026-09-08T06:42:29.262Z",
    "error": null
  },
  {
    "partyName": "WWDC INDUSTRIAL PARK, LLC",
    "partyId": 23533880,
    "captionSide": "Defendant side",
    "caseName": "GREATER DC DIAPER BANK v. WWDC INDUSTRIAL PARK, LLC",
    "url": "https://www.courtlistener.com/docket/74659190/greater-dc-diaper-bank-v-wwdc-industrial-park-llc/",
    "docketId": 74659190,
    "docketNumber": "1:26-cv-02900",
    "court": "District Court, District of Columbia",
    "courtId": "dcd",
    "courtCitationString": "D.D.C.",
    "pacerCaseId": "295642",
    "caseType": "Civil",
    "bankruptcyChapter": "N/A",
    "dateFiled": "2026-08-17",
    "dateTerminated": "N/A",
    "isPending": "Yes",
    "natureOfSuitRaw": "190 Contract: Other",
    "natureOfSuitCode": "190",
    "natureOfSuit": "Other contract",
    "suitCategory": "Contract",
    "cause": "28:1332 Diversity-Breach of Contract",
    "jurisdictionType": "Diversity",
    "juryDemand": "Both",
    "assignedTo": "Timothy James Kelly",
    "assignedToId": 8589,
    "referredTo": "N/A",
    "referredToId": "N/A",
    "partyCount": 3,
    "attorneyCount": 4,
    "lawFirmCount": 3,
    "hasCounsel": "Yes",
    "attorneys": "Madelaine Kramer Katz; Michael F. Williams; Joshua M. Hoffman; Michael T. Marr",
    "attorneyIds": "15958104; 16004941; 16004942; 16004943",
    "lawFirms": "Rifkin, Weiner, Livingston, LLC; Kirkland and Ellis LLP; Franklin & Prokopik, Pc",
    "lawFirmIds": "922162; 58050; 458188",
    "coParties": "DONOHOE REAL ESTATE SERVICES, INC; GREATER DC DIAPER BANK",
    "dateCreated": "2026-08-17T20:13:48.431553Z",
    "scrapedAt": "2026-09-08T06:42:29.263Z",
    "error": null
  }
]

โœจ Why choose this Actor

What you get
The party is the row Case scrapers give you a docket with a semicolon-separated party blob. Here every litigant is its own row with its own CourtListener ID, so a group-by on party name or firm name works without any parsing on your side.
Firm and attorney search that really exists firm:(), attorney:() and party:() are fielded queries on the live index, verified on 2026-09-08. One firm name returns 1,897 dockets for Kirkland and Ellis, 4,101 when Latham & Watkins is ORed in.
Counsel with IDs, not just names attorneyIds and lawFirmIds are CourtListener IDs, so the same firm resolves across spelling variants that PACER records inconsistently.
Represented parties by default The _exists_:firm_id clause runs server side on 2,838,130 dockets, so you are not paying for pages of unrepresented bankruptcy stubs to find the litigated cases.
Honest about the caption captionSide resolves 36% of parties, measured over 612 parties in 100 dockets. The rest say Not Disclosed rather than guessing, because PACER captions name one or two litigants out of six.
No API key needed CourtListener throttles anonymous callers at 5 requests a minute and 50 an hour per IP, and each request returns 20 dockets and every party on them. 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. Duplicates and out-of-scope case types are dropped before billing, never after.

๐Ÿ“ˆ How it compares to alternatives

This Actor Federal case scrapers PACER directly
What a row is One party to a docket One docket One docket sheet, per court
Search by law firm Fielded firm:() query, several firms ORed Not exposed No
Search by attorney Fielded attorney:() query Not exposed Per court only
Party IDs CourtListener party ID per row Semicolon-separated list, no per-row ID None
Counsel roster Attorneys and firms with IDs and counts on every row Sometimes, as one blob Behind the docket sheet
Party role captionSide on 36% of parties, Not Disclosed on the rest Not exposed On the docket sheet
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 Litigation Party & Counsel Scraper.
  3. Type a party, attorney or law firm name, set your dates, and click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

One typical run: lawFirmKeywords ["Kirkland and Ellis LLP"], filedAfter 01/01/2024, maxItems 500. Run it programmatically through the Apify API or the ApifyClient for JavaScript and Python.

๐Ÿ’ผ Business use cases

๐Ÿข Build a law firm's federal client list

Put a firm name in lawFirmKeywords and every party on every docket that firm appeared in comes back, with the case, the court and the nature of suit. Business development teams use it to see which companies a rival firm actually represents, and in which practice areas, rather than relying on a website's client page.

๐Ÿ” Screen a counterparty before you sign

Put the company name in partyKeywords and you get every federal case it is named in, on either side of the caption, with the firm that defended it and the judge who heard it. Credit, procurement and M&A diligence teams run it as a standing check before a contract is signed.

๐Ÿ“ก Watch a practice area for new defendants

Pick a nature-of-suit category such as intellectual property or labor, set filedAfter to last week, and run it on a schedule. Each run returns the newest parties first, so a diff against the last run is an alert feed of companies that just got sued in your practice area.

๐Ÿง‘โ€๐Ÿ’ผ Map the bar in one court

Set court to cand, nysd or txed and pull every party filed in a date range. Group by lawFirms and attorneys to rank the firms most active before that bench, and by assignedTo to see which judge draws which counsel. Recruiters and marketing teams use attorneyIds to keep the list clean across spelling variants.

๐Ÿ”Œ Automating CourtListener Litigation Party & Counsel Scraper

  • Make / Zapier: trigger a run on a schedule, then push new parties to a CRM, a Google Sheet or a Slack channel.
  • Slack: post each new party, firm and case caption to a litigation-watch channel.
  • Airbyte: land the dataset in Snowflake, BigQuery or Postgres and join it to your customer table on party name.
  • GitHub: commit the JSON export to a repository to keep a versioned history of who is litigating what.
  • Google Drive: drop the CSV or Excel export into a shared folder for the practice group.

๐ŸŒŸ Beyond business use cases

  • Research: measure how often repeat-player firms appear opposite each other, or how counsel representation varies by district and nature of suit.
  • Personal: follow a case you are a party to, or check whether a company you deal with is in federal litigation.
  • Non-profit: track who defends civil rights and immigration cases in the districts you serve, and where parties appear without counsel.
  • Experimentation: build a party and counsel graph with CourtListener IDs, or train a model that predicts case outcome from the firms on the docket.

๐Ÿค– Ask an AI assistant about this scraper

Give an AI agent live access to federal litigation parties and counsel through the Model Context Protocol:

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

Then prompt it in plain language:

  • "Which parties has Kirkland and Ellis represented in the Northern District of California since 2024?"
  • "List every federal case where Eli Lilly is a party, with the firms on each side."
  • "Which law firms appear most often in employment discrimination cases in the Southern District of New York?"

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

Use the Apify Actor "parseforge/courtlistener-party-scraper" to search federal litigation parties and counsel. Input: { "partyKeywords": ["<company>"], "attorneyKeywords": ["<name>"], "lawFirmKeywords": ["<firm>"], "suitCategories": ["civil-rights"|"intellectual-property"|"labor"|"contract"|"torts"|...], "natureOfSuitCodes": ["830"], "court": "cand", "filedAfter": "MM/DD/YYYY", "caseTypes": ["Civil"], "maxItems": <n> }. It returns one row per party with the party ID, the caption side, the case, court, docket number, dates, JS-44 nature of suit, cause, judge, co-parties, and the attorneys and law firms of record with their IDs. Call it with the ApifyClient and my APIFY_TOKEN.

โ“ Frequently Asked Questions

โ“ What exactly is a row?

One party to one federal docket. A case with six litigants produces six rows, each carrying that party's name and ID plus the full case and counsel context. maxItems counts parties, not cases.

โ“ Are the attorneys linked to the specific party?

No, and no public CourtListener surface exposes that link. The attorney and firm arrays are recorded per docket and deduplicated across the case, so every party row repeats the same case-level counsel roster. attorneyCount and lawFirmCount tell you how big that roster is. Per-party representation needs an authenticated CourtListener API token, which this Actor does not require.

โ“ Why is captionSide often Not Disclosed?

Because PACER does not publish party roles to anonymous callers, and the case caption names only one or two litigants out of however many are on the docket. captionSide is derived from the caption itself and resolves for about 36% of parties, measured over 612 parties in 100 dockets. When a name cannot be placed on exactly one side, the field says Not Disclosed instead of guessing.

โ“ Do I need a CourtListener account?

No. Everything runs on the public search API. A free CourtListener API key is optional and only lifts the anonymous throttle.

โ“ What is the difference from the case scrapers?

The case scrapers give you one row per docket with the parties as a semicolon-separated blob. This one gives you one row per party with a party ID, the co-parties and the counsel roster, and lets you search by firm and attorney name. Use the case scrapers when the case is the unit of analysis, this one when the litigant or the firm is.

โ“ Does it cover state courts?

Not through this Actor. RECAP is the federal PACER archive: district, bankruptcy and appellate courts. State dockets live in a separate CourtListener collection.

โ“ Why am I getting no results?

Every filter is ANDed. A firm name plus a nature-of-suit code plus a narrow date range can return an empty set. Widen the dates, drop a code, or turn off "Represented parties only". Firm names must match how PACER wrote them, so try Kirkland and Ellis LLP as well as Kirkland & Ellis LLP.

โ“ Why do some parties have no partyId?

The API ships the party names and the party IDs as two arrays. On 2 dockets out of 220 measured the lengths disagreed, which makes the index pairing unsafe, so the Actor writes N/A rather than attaching an ID that might belong to someone else.

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

Each request returns 20 dockets and every party on them, so a page usually yields 40 to 100 rows. Anonymous callers are throttled at 5 requests a minute and 50 an hour per IP, and a burst escalates the wait past 300 seconds. Turn the proxy on for a fresh exit IP per request or add a free CourtListener key for volume.

โ“ Does it deduplicate?

Yes. A party is written once per docket, keyed on docket, party ID and party name, so several nature-of-suit searches that hit the same case never bill twice.

โ“ What does "Represented parties only" actually do?

It adds a server-side clause that keeps dockets where PACER recorded at least one law firm. 2,838,130 dockets in the archive pass it. Without it, the unfiltered feed is dominated by bankruptcy petition stubs with one unrepresented debtor and no counsel.

โ“ How fresh is the data?

RECAP is populated as PACER dockets are fetched, and dateCreated on each row tells you when the docket entered the archive. Newly filed cases usually appear within a day.

โ“ Can I get the filings themselves?

Not from this Actor. It returns the party and counsel view of a docket. Use the case and filing scrapers listed below for the docket entries and PDFs.

โ“ Why fewer rows than Max Items?

The search ran out of matching dockets, or the run approached its time budget and stopped cleanly with what it had. The log prints how many dockets CourtListener reported for each search.

โ“ Are error rows charged?

No. Error rows carry only the error field and are pushed without a charge event.

๐Ÿ”Œ 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 Litigation Party & Counsel Scraper accept?

FieldTypeWhat it doesDefault
partyKeywords array Names of litigants to look for, for example "Eli Lilly and Company" or "Novo Nordisk". Several names are matched as OR inside one search. Words are matched, so a surname or a brand alone works. Leave empty to browse every party in the filtered set. not set
attorneyKeywords array Names of attorneys of record, for example "David I Horowitz". Several names are matched as OR. Combined with the other name filters using AND, so an attorney plus a firm returns only the cases where both appear. not set
lawFirmKeywords array Names of law firms as PACER records them, for example "Kirkland and Ellis LLP" or "Latham & Watkins LLP". Several firms are matched as OR. This is the fastest way to pull a firm's entire federal client list. ["Kirkland and Ellis LLP"]
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000. One item is one party, so a docket with six litigants produces six rows. Leave empty on a paid plan for 100 rows. 10
suitCategories array Pick whole JS-44 groups instead of memorising codes. Each category expands to its nature-of-suit codes and is searched in turn. Leave empty to take parties from every case type. not set
natureOfSuitCodes array Exact JS-44 codes, for example 830 for patent, 850 for securities or 442 for employment discrimination. Each code is searched separately and the results are merged, with the row budget split between them. Combines with the categories above. not set
query string Full-text query across the case caption, parties and counsel. Supports quoted phrases and AND/OR/NOT. Leave empty to browse with the filters alone. not set
cause string The statute the complaint is brought under, as PACER writes it, for example "28:1332 Diversity" or "42:1983". Words are matched, so "civil rights" works too. not set
court string Restrict to one court by its CourtListener ID, for example cand, nysd, txed or ilnd. Space-separate several IDs to match any of them. not set
caseName string Match words in the case caption, for example "smith" or "united states". not set
docketNumber string Exact docket number, for example 1:20-cv-03590. Use it to pull the full party and counsel list of one case. not set
filedAfter string Earliest filing date, as MM/DD/YYYY or YYYY-MM-DD. 01/01/2024
filedBefore string Latest filing date, as MM/DD/YYYY or YYYY-MM-DD. not set
requireCounsel boolean Keep only dockets where PACER recorded at least one law firm. On by default: without it the unfiltered feed is dominated by bankruptcy petition stubs that carry a single unrepresented debtor. 2.8 million dockets in the archive pass this filter. true
caseTypes array Keep only parties from these kinds of case. The type is read from the PACER docket number and the bankruptcy chapter. Leave empty to take every type. not set
orderBy string (3 options) How to order the dockets before their parties are expanded. Relevance only means anything when a search query or a name filter is set. Oldest first returns the highest field coverage: measured 2026-09-08, party IDs land on 20 of 20 dockets against 19 of 20 for newest first. 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 Litigation Party & Counsel Scraper 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 Litigation Party & Counsel Scraper 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-party-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "lawFirmKeywords": [
      "Kirkland and Ellis LLP"
    ],
    "maxItems": 10,
    "filedAfter": "01/01/2024",
    "requireCounsel": true,
    "orderBy": "dateFiled desc"
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "lawFirmKeywords": [
    "Kirkland and Ellis LLP"
  ],
  "maxItems": 10,
  "filedAfter": "01/01/2024",
  "requireCounsel": true,
  "orderBy": "dateFiled desc"
}

What do users say about the CourtListener Litigation Party & Counsel Scraper?

No reviews yet. Be the first.

How do I report an issue with the CourtListener Litigation Party & Counsel Scraper?

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 Litigation Party & Counsel Scraper on Apify All scrapers