All datasets Nursing homes and senior care

Nursing Home Penalties and Fines (CMS)

We turn CMS's Penalties dataset into clean records of every civil money penalty and payment denial levied on a US nursing home in the last three years. One record is a single penalty: a dollar fine with an amount, or a Medicare and Medicaid payment denial with a start date and a length in days.

Size
16,166 penalties (rolling three years)
Refresh
Monthly
Price
$10 per 1,000 records

This listing is being published to the Apify Store. If the link is not live yet, contact us and we will run it for you.

Who uses this

Elder-law and nursing home abuse attorneys

Build the enforcement history of a defendant facility: every fine and payment denial with dates and dollar amounts from one CCN, one run.

Long-term care liability underwriters

Price a facility or a book using penalty frequency and severity per CCN as a loss signal star ratings alone do not give.

Nursing home lenders, brokers, credit and bond analysts covering SNF operators

Roll a chain's penalty exposure up across every facility it runs by provider-name filter, or size regulatory pressure in a market by state.

Senior placement and referral services

Screen facilities before they go on a shortlist for a family.

Sample records

Real records from the source, shown with a subset of the fields. Every run returns the full field set below.

ccnproviderNamestatepenaltyDatepenaltyTypefineAmount
315044MOHAWK MEADOWSNJ2023-11-21Fine713795
375284Arbor VillageOK2026-06-11Fine14385
465137Red Cliffs Health and RehabUT2024-06-06Payment Denial

Sample rows taken from the CMS Provider Data Catalog on 2026-08-23, shown in the actor's output shape.

Fields

The most used fields in each record. The Apify listing documents the full output schema.

ccn
CMS Certification Number identifying the facility
providerName
Facility name
state
Two-letter state or territory postal code
penaltyDate
Date of the inspection that triggered the penalty, per CMS's own definition
penaltyType
Fine or Payment Denial
fineAmount
Whole-dollar fine amount, null on a payment denial
paymentDenialStartDate
First day new-admission payments stopped, null on a fine
paymentDenialEndDate
Derived last day of the suspension, inclusive (start plus length minus 1 day), null on a fine

How it works

1

Run it on Apify

Open the listing, sign in to Apify, and press Start. The actor reads the public source directly, normalizes each record, and writes the results to your Apify dataset. You can also schedule it to run on a cadence.

2

Filter to what you need

  • state: two-letter postal abbreviation, exact match, 53 appear in the data
  • ccn: six-character CMS Certification Number, exact match
  • providerNameContains: literal case-insensitive substring of the facility name
  • penaltyType: any, Fine, or Payment Denial
  • penaltyDateFrom / penaltyDateTo: ISO date range on the penalty date
  • minFineAmount: keeps only fines of at least this many dollars, applied client-side
  • maxResults: 1 to 20000, your cost cap
  • includeRaw: attach the original CMS columns under their raw API names

3

Export or connect

Download the dataset as CSV, JSON, or Excel from the Apify console, or pull it straight into your own system through the Apify API and integrations.

Run with no input and you get the 100 most recent penalties nationwide. maxResults ranges 1 to 20,000 and is a ceiling, not a quota. Requests honor CMS's crawl-delay:10 with retries backing off further, never below the crawl delay. A default 100-record run is a single request, completing in 3.129s in the build 1.1.1 platform smoke run. A locally measured worst case of the full 16,166-row table (maxResults 20000, includeRaw true) took 11 requests and 125.7s, 100s of which was the crawl delay, peaking at 130 MB memory.

Pricing

$10 per 1,000 records

Pay per result, billed through your Apify account at $0.01 per record. You are charged only for the records the run delivers to your dataset, so a filtered run that matches nothing costs nothing. No subscription, no minimum.

Source, refresh, and licence

Source
Centers for Medicare & Medicaid Services (CMS): Penalties, CMS Provider Data Catalog (g6vv-u9sr)
Size
16,166 penalties (13,687 fines totalling $464,165,281; 2,479 payment denials), July 2026 extract, counted 2026-08-23
Refresh
Monthly (CMS refreshes this table monthly; catalog metadata for the current extract gave nextUpdateDate 2026-08-26)
Licence
No licence declared for this dataset by the Provider Data Catalog that publishes it. CMS's sibling data.cms.gov catalog declares US Government Works (https://www.usa.gov/government-works) on its own 159 datasets, but this Penalties dataset is not among them, so that declaration does not literally cover it. Attribution is carried on every record; the Actor is not affiliated with or endorsed by CMS, and buyers are responsible for their own use of the data.
Attribution
Centers for Medicare & Medicaid Services (CMS)

Questions buyers ask

How do I find out if a nursing home has been fined?

Run with the facility's ccn (the six-character CMS Certification Number shown on its Care Compare page) or with providerNameContains. Every fine and payment denial CMS has published for that facility in the last three years comes back with the penalty date and the dollar amount.

What is the difference between a civil money penalty and a denial of payment for new admissions?

A civil money penalty is a fine CMS imposes after a survey finds noncompliance serious enough to penalize, appearing as penaltyType Fine with a whole-dollar fineAmount and CMS's own fineId. A denial of payment means Medicare and Medicaid stop paying for new admissions for a set number of days, appearing as penaltyType Payment Denial with a start date, a length in days, and a derived end date.

Does the fine amount show what was actually paid?

No. CMS publishes the amount imposed; appeals, reductions, waivers and collection status are not in this dataset. Treat fineAmount as the amount CMS published, not as money known to have changed hands.

Pull the data you need

Run it yourself on Apify, or ask us for a custom extract, a join against another dataset, or a scheduled delivery.

We are not affiliated with or endorsed by Centers for Medicare & Medicaid Services (CMS). The actor reads the public dataset linked above and adds no data of its own.