All datasets Nursing homes and senior care

Skilled Nursing Facility Change of Ownership Tracker

We track every Medicare skilled nursing facility that changed hands since January 1, 2016, direct from CMS's own data-api. One record is one ownership transfer with both sides of the deal in a single row: the buyer's and seller's legal name, doing-business-as name, CMS Certification Number, NPI, PECOS Associate ID, state, provider type, plus the change-of-ownership type and effective date.

Size
5,227 ownership transfers since 2016
Refresh
Quarterly
Price
$50 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

SNF M&A brokers and buy-side teams

Watch who is acquiring in a state, at what pace, and identify the repeat consolidators by grouping buyerPecosAssociateId.

Lenders, REITs and underwriters

Pull the ownership history behind a CCN before pricing a facility.

Competitor BD and vendor sales teams

Work new-owner transition windows, where incumbent insurance, staffing, IT, food service and therapy contracts are up for review.

Researchers, journalists and state regulators

Study consolidation, private-equity roll-ups, and the shift of county-run homes into private hands.

Sample records

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

ideffectiveDatechowTypebuyerOrganizationNamebuyerStatesellerOrganizationName
O20260323002425|O20111206000434|2026-02-012026-02-01CHANGE OF OWNERSHIPGALENA HEALTHCARE LLCWICOUNTY OF PORTAGE
O20250701001346|O20070611000732|2024-10-012024-10-01ACQUISITION/MERGERFANNIN COUNTY HOSPITAL AUTHORITYTXPALESTINE I ENTERPRISES, LLC
O20160418001431|O20070815000417|2016-04-012016-04-01CHANGE OF OWNERSHIPHAMDEN REHABILITATION LLCCTHAMDEN HEALTH CARE LIMITED PARTNERSHIP

Sample rows taken from the CMS API 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.

id
Natural key of the transfer: buyerEnrollmentId|sellerEnrollmentId|effectiveDate, verified unique across all 5,227 rows.
effectiveDate
ISO 8601 calendar date the ownership change took effect; source publishes no time of day.
chowType
Change-of-ownership type text: CHANGE OF OWNERSHIP, ACQUISITION/MERGER, or CONSOLIDATION per the CMS reference table.
buyerOrganizationName
Buyer's legal business name.
buyerState
Buyer's CMS enrollment state.
sellerOrganizationName
Seller's legal business name.
sellerState
Seller's CMS enrollment state.
buyerCcn
Buyer's CMS Certification Number; unchanged across the transfer on 5,221 of 5,227 rows, so it is the reliable way to follow one facility.

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 code, matches when either the buyer or the seller is enrolled there.
  • effectiveDateFrom: effective date on or after this ISO date. Data starts at 2016-01-01.
  • effectiveDateTo: effective date on or before this ISO date.
  • buyerKeyword: case-insensitive substring over the buyer's legal name and DBA name.
  • sellerKeyword: case-insensitive substring over the seller's legal name and DBA name.
  • ccn: exact CMS Certification Number, matched on either side; the usual way to follow one facility through its ownership history.
  • maxResults: 1 to 10000, default 100; this is the cost cap since billing is per delivered record.
  • includeRaw: attach a raw object with the source columns under their CMS 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.

Default input (no fields set) returns the 100 most recent transfers (maxResults default 100, 1 to 10000 allowed; this is the buyer's cost cap since billing is per delivered record). The Actor fetches the complete dataset every run (one request, about 5 MB, about 1.1 s) and applies all filters locally rather than server-side, because the upstream API silently ignores filters it does not understand; a filtered run still reports fetchedRows for the whole dataset. crawl-delay: 10 is honoured before any additional page, though a normal run makes exactly one request. Pagination has never run against the live API since the dataset fits in one page.

Pricing

$50 per 1,000 records

Pay per result, billed through your Apify account at $0.05 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

Size
5,227 transfers, confirmed twice on 2026-08-23 (/data/stats total_rows and a full live fetch)
Refresh
Quarterly (CMS accrualPeriodicity R/P3M). The snapshot read on 2026-08-23 was last modified 2026-07-27, covering the quarter ending 2026-06-30; the newest effective date present in it was 2026-02-01. Schedule the Actor quarterly; running it daily will not produce fresher data.
Licence
Explicit public licence, verified at the primary source. CMS's own DCAT catalogue (data.cms.gov/data.json) records this dataset as accessLevel: public, accessRights: Open, license: https://www.usa.gov/government-works, publisher Centers for Medicare & Medicaid Services. data.cms.gov/robots.txt allows the /data-api/v1/dataset/.../data path this Actor reads and publishes crawl-delay: 10.
Attribution
Centers for Medicare & Medicaid Services (CMS). This Actor is not affiliated with or endorsed by the Centers for Medicare & Medicaid Services or the U.S. Department of Health and Human Services.

Questions buyers ask

Does this include the address or sale price of the facility?

No. The CMS dataset has 23 columns and none is a street address, a purchase price, or a bed count. Each party carries a buyerNpiLookupUrl or sellerNpiLookupUrl pointing at the NPPES registry, which is one way to resolve an address separately.

How current is the data?

CMS publishes this dataset quarterly. The snapshot read on 2026-08-23 was last modified 2026-07-27 and its newest effective date was 2026-02-01, so filings lag their own effective dates. Schedule the Actor quarterly; running it daily produces no fresher data.

Can I look up all the ownership transfers for one facility?

Yes, filter by ccn (CMS Certification Number), matched on either the buyer or seller side. The CCN is unchanged across the transfer on 5,221 of the 5,227 live rows, making it the reliable way to follow one facility through its ownership history.

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.