ParseForge Scrapers

NY Court Decisions Scraper - Official Reports & Slip Opinions

parseforge/ny-court-decisions-scraper

News & mediaOther

Reads New York State court decisions from the Law Reporting Bureau: Court of Appeals, all four Appellate Divisions, both Appellate Terms, the Supreme Court Commercial Division and the trial courts, with full opinion text, judge, counsel and index numbers, back to 2003.

Run this scraper See the API call
Total runs
8
Bookmarked
0
Last modified
29 hours ago

This scraper was last updated on .

What does the NY Court Decisions Scraper - Official Reports & Slip Opinions return?

ParseForge

NY Court Decisions Scraper - Official Reports & Slip Opinions

Scrape New York State court decisions straight from the Law Reporting Bureau, the official publisher, across all nine court families and back to 2003. Each row carries the case title, court, county, decision date, judge, slip opinion number, docket and index numbers, and on request the full text of the opinion, the parties, counsel of record and the Bureau's own subject classification. No login, no API key. Export to CSV, JSON, Excel or XML.

New York publishes its decisions as static monthly index pages, one per court per month, with the opinions behind them. There is no search API on the public site. This Actor walks those indexes, reads the opinions, and hands back one flat row per decision, with a keyword filter that can run against the full opinion text so you can build a subject feed the site itself does not offer.

Who uses it What they scrape New York decisions for
Litigation finance and specialty lenders Merchant cash advance, factoring and confession of judgment rulings as they land
Law firms and legal research teams Every decision by a named judge, or on a named subject, across the Commercial Division
Insurers and claims analysts Trial level rulings by county on coverage, premises and no fault disputes
Legal tech and AI teams A clean, licensed, official corpus of state court opinions with full text
Journalists and policy researchers What the trial courts of a county actually decided, month by month

What it does

This Actor reads the New York State Law Reporting Bureau's slip opinion service on www.nycourts.gov and returns each decision as a flat row. Every decision carries:

  • โš–๏ธ Case identity: case title, slip opinion number, decision date, the month it was posted and the batch caption it appeared under.
  • ๐Ÿ›๏ธ Court: the deciding court and county as printed, plus the court family it belongs to and its key.
  • ๐Ÿ‘ค Judge and numbers: the judge or panel, and the docket number where the index table publishes one.
  • ๐Ÿ”— Links: the decision page and the monthly index it was listed on.
  • ๐Ÿ“„ Optional blocks: full opinion text, parties split into plaintiff and defendant, counsel of record, the Bureau's digest classification, every index and indictment number printed on the decision, the footnotes, and the publication note that says whether the opinion is final or still subject to revision.
  • ๐Ÿ—“๏ธ A second output: the directory of every archived month the Bureau publishes for the courts you picked, so you can see what exists before you pay to read it. Pick it with outputs.

Results export to CSV, JSON, Excel or XML, or stream from the API.

The nine court families

Court Archive reaches back to
Court of Appeals 2003
Appellate Division, First Department 2003
Appellate Division, Second Department 2003
Appellate Division, Third Department 2003
Appellate Division, Fourth Department 2003
Appellate Term, First Department 2003
Appellate Term, Second Department 2003
Supreme Court, Commercial Division 2013
Other Courts (trial level) 2003

That is 274 archived monthly indexes for most families and 157 for the Commercial Division, plus the month in progress. monthsBack decides how far back a run walks.

What you can do with New York decision data

๐Ÿ”Ž Build a subject feed the courts do not publish.

Set keywords to ["merchant cash advance"] and keywordScope to fullText, point it at the Commercial Division and Other Courts, and you get every trial level ruling that mentions the subject, with the full opinion attached. The Bureau publishes no such feed and its own search sits on a host that forbids crawling.

๐Ÿ‘ค Follow a judge.

Filter by judges and get every decision that judge issued, in order, with the text.

๐Ÿ“ Read one county.

Filter by counties with "New York County" or "Kings" and get the trial court output of that county alone.

๐Ÿ“š Build a training or research corpus.

Set monthsBack to 274 with includeFullText, and the run walks the whole published archive of a court family, one flat row per opinion.

๐Ÿ—“๏ธ Scope the job first.

Run with "outputs": ["months"] to get the directory of available months, then decide what to read.

Why choose this scraper

What you get
The official source The Law Reporting Bureau is the publisher of record under Judiciary Law ยง 431. This reads it directly, not a third party mirror with its own gaps and its own terms.
All nine families, one shape The nine index families do not share a column layout, and the opinion pages come in two different templates. The parser is header driven and covers both, so a run that reaches back across the 2015 template change does not change shape halfway through.
Full text keyword filtering The one thing the public site cannot do. Matching against the opinion body is what turns a court calendar into a subject feed.
Optional blocks, billed only when they return Full text, parties, counsel, digest classification, case numbers, footnotes and the publication note are each a checkbox. Untouched blocks are neither fetched nor billed.
No proxy, no browser Measured from the Apify container: the site serves this Actor without either. That cost saving is in the price.
The crawlable surface only The Bureau's own case search lives on iapps.courts.state.ny.us, whose robots file is Disallow: / for every agent. This Actor never touches that host. It reads www.nycourts.gov, which permits crawling, and nothing else.

How it compares

There is no other New York Official Reports scraper on Apify. The closest actors are general case law tools that cover federal or aggregator sources.

Feature ParseForge NY Court Decisions pink_comic/courtlistener-legal-opinions johnvc/google-scholar-case-law moving_beacon-owner1/findlaw-case-law-scraper
New York state trial courts Yes, Commercial Division and Other Courts Appellate only Appellate only Appellate only
Official publisher as the source Yes No, aggregator No, aggregator No, aggregator
Full text keyword filter Yes No Search only No
Judge, county and date filters Yes Partial No No
Digest classification and counsel Yes No No No
Archived month directory Yes No No No
Price per row $0.005 $0.002 Per search $0.00999

What a New York decision looks like

{
  "rowType": "decision",
  "court": "Supreme Court, New York County",
  "courtFamily": "Supreme Court, Commercial Division",
  "courtKey": "commercial-division",
  "caseTitle": "A & L 444 LLC v Ankura Trust Co., LLC",
  "slipOpinionNumber": "2026 NY Slip Op 51347(U)",
  "decisionDate": "August 20, 2026",
  "judge": "Robert R. Reed, J.",
  "docketNumber": "Not Disclosed",
  "postedLabel": "Cases Posted August 31st",
  "monthLabel": "Current month",
  "decisionUrl": "https://www.nycourts.gov/reporter/current/3dseries/2026/2026_51347.shtml",
  "indexUrl": "https://www.nycourts.gov/reporter/current/index/com_div_idxtable.shtml",
  "wordCount": 1266,
  "parties": "A & L 444 LLC, 444 PARK AVENUE SOUTH ASSOCIATES LLC, DAVID MOIN MOINIAN, Plaintiff, v Ankura Trust Company, LLC, FEOH CAPITAL, LLC, ROYAL ABSTRACT OF NEW YORK LLC, 444 PARK AVE SOUTH OWNER LLC, Defendant.",
  "plaintiff": "A & L 444 LLC, 444 PARK AVENUE SOUTH ASSOCIATES LLC, DAVID MOIN MOINIAN, Plaintiff,",
  "defendant": "Ankura Trust Company, LLC, FEOH CAPITAL, LLC, ROYAL ABSTRACT OF NEW YORK LLC, 444 PARK AVE SOUTH OWNER LLC, Defendant.",
  "digestClassification": "Attorney and Client: Withdrawal from Representation: Failure to Pay Fees-Application for Stay",
  "caseNumbers": ["Index No. 653212/2023"],
  "scrapedAt": "2026-09-02T19:59:40.348Z"
}

A field the source does not publish for a given decision comes back as Not Disclosed, never as null and never missing. docketNumber above is empty because the Commercial Division index table has no Docket column; the Court of Appeals and Appellate Division tables do.

Configure the run

Input What it does
courts Which of the nine index families to read. Default: Commercial Division.
monthsBack How many archived months to walk after the current one, newest first. 0 is the month in progress only; 274 is the whole archive.
maxItems Stop after this many rows.
keywords Keep only decisions containing these.
keywordScope title matches the case name and costs nothing extra. fullText opens every decision in range to test it.
matchAllKeywords Off keeps any match, on requires all of them.
counties Substring match on the court line, for example New York County, Kings, Westchester.
judges Substring match on the judge line.
decidedAfter, decidedBefore ISO dates.
startUrls Specific decision pages or monthly index pages to read instead of walking the courts.
outputs decisions, months, or both.
includeFullText, includeParties, includeCounsel, includeDigest, includeCaseNumbers, includeFootnotes, includePublicationNote The optional blocks. Each one opens the decision page.
proxyMode, countryCode Off by default. The site geo-filters, so a run from outside the United States needs datacenter.

Free users

Apify free plan runs are capped at 10 rows so the plan limit is never the surprise. Paid plans run to maxItems.

Run it

{
  "courts": ["commercial-division", "other-courts"],
  "monthsBack": 6,
  "keywords": ["merchant cash advance"],
  "keywordScope": "fullText",
  "includeFullText": true,
  "includeParties": true,
  "maxItems": 50
}

Use with AI agents (MCP)

The Actor is exposed over Apify's MCP server, so an agent can call it as a tool. Point the agent at https://mcp.apify.com with this Actor enabled and it can ask for, say, every Commercial Division decision mentioning a lender in the last six months and get structured rows back.

Troubleshooting

Zero rows and a 403 in the log. The site geo-filters and reads the TLS handshake, not the headers. On the Apify platform it serves this Actor directly. Running the code outside the United States needs proxyMode: "datacenter".

A month came back empty. The archive pages list months the Bureau never posted, for example a court's summer recess. The run logs it and moves on.

The full text scan is slow. It is one page read per decision in range, paced so the site is not hammered. Narrow courts and monthsBack, or filter by counties and dates first, which happens off the index table and costs no page reads.

docketNumber is empty. Only the Court of Appeals and the four Appellate Divisions publish a Docket column in their index tables. Tick includeCaseNumbers to get every number printed on the decision itself.

FAQ

Where does the data come from? www.nycourts.gov/reporter, the New York State Law Reporting Bureau, which publishes these decisions under Judiciary Law ยง 431.

Does it touch the case search? No. NYSCEF and WebCivil live on iapps.courts.state.ny.us, whose robots file forbids all crawling. This Actor reads only www.nycourts.gov, which permits it.

How far back does it go? 2003 for eight of the nine families, 2013 for the Commercial Division.

Are the opinions final? Tick includePublicationNote. Slip opinions marked uncorrected are subject to revision before they appear in the printed Official Reports.

Can I get one specific decision? Yes, put its URL in startUrls.

What input does the NY Court Decisions Scraper - Official Reports & Slip Opinions accept?

FieldTypeWhat it doesDefault
courts array Which of the nine index families published by the New York State Law Reporting Bureau to read. Commercial Division and Other Courts are the trial level, where contract, lending and merchant cash advance disputes are decided; the Appellate Divisions and the Court of Appeals are the appeals above them. ["commercial-division"]
monthsBack integer How many archived monthly indexes to walk after the current month, newest first. 0 reads only the month in progress. The archive reaches back to 2003 for most courts and to 2013 for the Commercial Division, so 274 is the whole record. 1
maxItems integer Stop after this many rows. 20
keywords array Keep only decisions whose text contains these. Matching against the case title is free; matching against the full opinion opens every decision page and costs a page read each, which is what makes a subject feed such as "merchant cash advance" possible. []
keywordScope string (2 options) Case title only, or the full text of the opinion. title
matchAllKeywords boolean Off keeps a decision that matches any keyword; on requires all of them. false
counties array Keep only decisions whose court line contains one of these, for example "New York County", "Kings", "Westchester". []
judges array Keep only decisions by these judges. Matched as a substring of the judge line. []
decidedAfter string ISO date, for example 2026-01-01. not set
decidedBefore string ISO date, for example 2026-12-31. not set
startUrls array Specific decision pages or monthly index pages on www.nycourts.gov to read instead of walking the courts above. []
outputs array Decisions is the case rows. Months is the directory of every archived monthly index the Bureau publishes for the selected courts, which is how you find out what is available before asking for it. ["decisions"]
includeFullText boolean The complete text of the decision, opens the decision page. false
includeParties boolean The caption split into plaintiff and defendant sides. false
includeCounsel boolean The attorneys and firms of record, as the opinion lists them. false
includeDigest boolean The Bureau's own subject classification for the decision. false
includeCaseNumbers boolean Every index, indictment, docket, motion and appeal number printed on the decision. false
includeFootnotes boolean The numbered footnotes of the opinion. false
includePublicationNote boolean Whether the opinion is uncorrected, subject to revision, or final in the printed Official Reports. false
includePdfText boolean About three quarters of the archived trial court decisions are published as PDF rather than HTML. Tick this to download and read those PDFs for the rows a run keeps. It cannot be used to search: one opinion PDF measured 10.4 MB, so scanning them is not practical and the full text keyword filter skips them. false
proxyMode string (3 options) The site answers this actor without a proxy from Apify, which is why none is the default. Datacenter exists for running from outside the United States, where the site geo-filters. none
countryCode string Two letter country code used when a proxy is on. US

How much does the NY Court Decisions Scraper - Official Reports & Slip Opinions cost?

from $0.36 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.00178 to $0.002
Court decision One decision delivered, with the case title, court, county, decision date, judge, slip opinion number, docket number, the month index it was listed on and the link to the opinion. $0.00445 to $0.005
Decision page opened One opinion page read. Charged on the read and not on the row, because a full text keyword search opens every decision in range to find out whether it matches and keeps only the matches. A run that keeps five rows out of four hundred pages is billed four hundred reads and five rows. $0.000712 to $0.0008
Monthly index read One monthly index page of a court, read and parsed. Charged only when that page produced at least one row you kept. $0.001335 to $0.0015
Archive directory read One court's archive page, which lists every monthly index back to 2003. Read once per court per run. $0.001335 to $0.0015
Archived month One row of the archived month directory output: the court, the month and the index URL. $0.000534 to $0.0006
Full opinion text The complete text of the decision as published, plus its word count. $0.00089 to $0.001
Parties The caption split into the plaintiff and defendant sides, plus the caption as printed. $0.000712 to $0.0008
Counsel of record The attorneys and firms the opinion names, with their addresses where it gives them. Charged only when the decision lists counsel. $0.000712 to $0.0008
Digest classification The Law Reporting Bureau's own subject classification for the decision. Charged only when the decision carries one. $0.000534 to $0.0006
Index and docket numbers Every index, indictment, docket, motion, appeal and claim number printed on the decision. Charged only when at least one was found. $0.000534 to $0.0006
Footnotes The numbered footnotes of the opinion. Charged only when the decision has them. $0.000445 to $0.0005
Publication note Whether the slip opinion is uncorrected and subject to revision, or final in the printed Official Reports. $0.000356 to $0.0004
Text of a PDF decision About three quarters of the archived trial court decisions are published as PDF rather than HTML. This downloads and reads one of them: an opinion PDF measured 10.4 MB, which is why it costs more than an HTML page and why the keyword search does not scan them. $0.00356 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 NY Court Decisions Scraper - Official Reports & Slip Opinions 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~ny-court-decisions-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "courts": [
      "commercial-division"
    ],
    "monthsBack": 1,
    "maxItems": 20,
    "keywords": [],
    "keywordScope": "title"
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "courts": [
    "commercial-division"
  ],
  "monthsBack": 1,
  "maxItems": 20,
  "keywords": [],
  "keywordScope": "title"
}

What do users say about the NY Court Decisions Scraper - Official Reports & Slip Opinions?

No reviews yet. Be the first.

How do I report an issue with the NY Court Decisions Scraper - Official Reports & Slip Opinions?

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 NY Court Decisions Scraper - Official Reports & Slip Opinions on Apify All scrapers