Medicare Change of Ownership (CHOW) Scraper
Pricing
from $6.23 / 1,000 ownership changes
Medicare Change of Ownership (CHOW) Scraper
Scrape CMS Medicare change of ownership records: 6,000 hospital and skilled nursing facility ownership changes since 2016 with buyer, seller, effective date and the owners behind both sides, including investment firms and holding companies.
Pricing
from $6.23 / 1,000 ownership changes
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Medicare Change of Ownership Scraper - CHOW Data
Every Medicare change of ownership CMS has published since 2016: 5,999 hospital and skilled nursing facility deals with the buyer, the seller, the effective date and the owners behind both sides. No login, no API key, no browser. Export to CSV, JSON, Excel, or XML.
CMS puts the CHOW files behind a data viewer that pages through them a screen at a time, and it keeps the owner records in a separate file that nobody joins for you. This Actor pulls both, matches the owners to each side of every deal, and adds what the raw files do not carry: whether an investment firm or holding company sits behind the buyer, whether the deal converts a non-profit to a for-profit, how many other facilities the same party has bought, and which other changes belong to the same chain.
| Who uses it | What they use CHOW data for |
|---|---|
| Healthcare M&A and PE deal teams | Who is buying in a state, at what pace, and who else the buyer's owners control |
| Health policy researchers and journalists | Private-equity and chain consolidation in nursing homes, with named owners |
| Hospital and SNF operators | Competitor transactions in their market, with CCNs to join to quality data |
| Healthcare lenders and valuation firms | Transaction comparables by facility type, state and year |
| State regulators and advocacy groups | Non-profit to for-profit conversions and out-of-state acquirers |
What it does
CMS publishes two change of ownership files: 772 hospital changes and 5,227 skilled nursing facility changes, effective from 1 January 2016 onward, plus two companion files with 23,857 and 119,419 owner records. Every row this Actor writes is one ownership change, carrying:
- π§Ύ The transaction: facility type, change type (change of ownership or acquisition/merger), effective date with its year and month, and days since it took effect.
- π₯ The buyer: organisation name, doing-business-as name, enrollment id, associate id, NPI, CCN, state and provider type.
- π·οΈ The seller: the same fields, so both sides of the deal are on one row.
- π© Deal flags: cross-state deal, whether the CCN was retained, and whether buyer and seller share a name, which is how an internal restructuring looks in the data.
- π€ The owners (optional): every owner CMS lists for each side, individual or organisation, with role, ownership percentage, address, association date and the entity-type flags, including investment firm, holding company, financial institution, management services company, for profit and non profit.
- π The ownership profile (optional): owner counts by type on each side, an investor-backed flag, owners created for the acquisition, and the profit-status conversion.
- π Deal history (optional): how many other changes the buyer or the seller appears in, split into acquisitions and divestitures, with the states touched and a serial-acquirer flag.
- πΈοΈ The owner network (optional): for the buyer's organisation owners, every Medicare enrollment those owners are attached to and the other ownership changes among them. A recent SNF deal resolved to a holding company attached to 15 enrollments and 14 other changes.
Every row contains: changeId, facilityType, chowTypeCode, chowType, effectiveDate, effectiveYear, effectiveMonth, daysSinceEffective, buyerOrganizationName, buyerDoingBusinessAs, buyerEnrollmentId, buyerAssociateId, buyerNpi, buyerCcn, buyerState, buyerProviderType, buyerMultipleNpiFlag, sellerOrganizationName, sellerDoingBusinessAs, sellerEnrollmentId, sellerAssociateId, sellerNpi, sellerCcn, sellerState, sellerProviderType, crossStateDeal, sameCcnRetained, relatedPartyDeal, sourceDataset, sourceUrl and scrapedAt.
What you can do with change of ownership data
Find the private equity behind a nursing home.
Turn on buyer owners and the ownership profile: buyerInvestmentFirmOwners, buyerHoldingCompanyOwners and buyerHasInvestorOwner come straight from CMS's own entity-type flags on the owner record, not from a guess about the name.
Map a chain.
The owner network follows the buyer's organisation owners into every enrollment they own, then lists the other ownership changes among them. That is how a roll-up shows up in Medicare data before it shows up in a press release.
Track conversions.
conversionType marks a change where the seller's owners are non-profit and the buyer's are for-profit, which is the transaction state regulators and advocacy groups look for.
Build transaction comparables.
Filter by facility type, state and effective date, then export. Every row carries the CCN, so the deals join to CMS quality, staffing and cost report data.
Why choose this scraper
| What you get | |
|---|---|
| Both files joined | Hospital and SNF changes in one feed with a common schema |
| Owners attached | CMS keeps owners in a separate file keyed on the enrollment id; this Actor does the join for you |
| Investor flags from CMS | Investment firm, holding company and financial institution come from the owner record itself |
| Chain detection | The owner network resolves the enrollments behind a buyer, not just the deal in hand |
| Serial acquirers | Deal history counts every other change the same party made, in both directions |
| Cheap filtering | Both files are pulled in full in three requests, so combining ten filters costs nothing extra |
How it compares
Nobody else on the Apify Store publishes the CHOW files. The comparison that matters is against reading them yourself on data.cms.gov, where the deal file and the owner file are separate downloads with no key in the interface to join them.
| Feature | ParseForge | data.cms.gov | General CMS dataset scrapers |
|---|---|---|---|
| Hospital and SNF changes in one feed | Yes | Two separate files | Two separate datasets |
| Owners joined to buyer and seller | Yes | Manual join on the enrollment id | No |
| Investor and holding company flags surfaced | Yes | Raw column | Raw column |
| Serial acquirer and chain network | Yes | No | No |
| Bulk export to CSV, JSON, Excel | Yes | CSV download | Yes |
| Price per row | $0.007 | Free, manual | $0.002 to $0.01 |
What an ownership change looks like
{"changeId": "hospital-O20260408002087-O20071114000584-2026-04-12","facilityType": "Hospital","chowTypeCode": "CH","chowType": "CHANGE OF OWNERSHIP","effectiveDate": "2026-04-12","effectiveYear": 2026,"effectiveMonth": 4,"daysSinceEffective": 138,"buyerOrganizationName": "SUTTER VALLEY HOSPITALS","buyerDoingBusinessAs": "SUTTER SURGICAL HOSPITAL-NORTH VALLEY","buyerEnrollmentId": "O20260408002087","buyerAssociateId": "3375531635","buyerNpi": "1053281519","buyerCcn": "050766","buyerState": "CA","buyerProviderType": "PART A PROVIDER - HOSPITAL","buyerMultipleNpiFlag": "No","sellerOrganizationName": "TWIN CITIES SURGICAL HOSPITAL LLC","sellerDoingBusinessAs": "SUTTER SURGICAL HOSPITAL-NORTH VALLEY","sellerEnrollmentId": "O20071114000584","sellerAssociateId": "2567550122","sellerNpi": "1336333954","sellerCcn": "050766","sellerState": "CA","sellerProviderType": "PART A PROVIDER - HOSPITAL","crossStateDeal": "No","sameCcnRetained": "Yes","relatedPartyDeal": "No","sourceDataset": "Hospital Change of Ownership","sourceUrl": "https://data.cms.gov/provider-characteristics/hospitals-and-other-facilities/hospital-change-of-ownership","scrapedAt": "2026-08-27T17:47:48.722Z"}
With the owner blocks on, the row also carries buyerOwners and sellerOwners as arrays, plus buyerOwnerCount, buyerInvestmentFirmOwners, buyerHoldingCompanyOwners, buyerHasInvestorOwner, conversionType, buyerTotalChanges, buyerIsSerialAcquirer, ownerNetworkOwners, ownerNetworkEnrollmentCount and ownerLinkedChanges.
Configure the run
Run it with no input for the most recent changes across both files. Every filter is applied after the two files are downloaded, so combining them is free.
The 100 most recent ownership changes:
{ "maxItems": 100 }
Nursing home deals in Texas since 2024, with the owners and the investor flags:
{"facilityTypes": ["Skilled Nursing Facility"],"states": ["TX"],"effectiveFrom": "2024-01-01","includeBuyerOwners": true,"includeOwnershipProfile": true,"maxItems": 500}
Out-of-state hospital acquisitions with the buyer's other deals:
{"facilityTypes": ["Hospital"],"chowTypes": ["ACQUISITION/MERGER"],"onlyCrossStateDeals": true,"includeBuyerDealHistory": true,"maxItems": 200}
One operator's full transaction history and chain:
{"buyerNameContains": "healthcare","includeBuyerOwners": true,"includeOwnerNetwork": true,"maxItems": 50}
Pricing
Pay-per-event. $7 per 1,000 ownership changes plus $0.02 per run start and $0.004 per CMS file page. The owner blocks are opt-in and charged only when CMS has the records.
| Event | Price | When |
|---|---|---|
ownership-change | $0.007 | Every change written |
dataset-page | $0.004 | Each CMS file page read, never more than the rows written |
buyer-owners | $0.006 | The buying enrollment has owners on file |
seller-owners | $0.006 | The selling enrollment has owners on file |
ownership-profile | $0.006 | At least one side has owners to profile |
buyer-deal-history | $0.005 | The buyer appears in the change files |
seller-deal-history | $0.005 | The seller appears in the change files |
owner-network | $0.008 | The buyer's owners are attached to other enrollments |
| Run | Approximate cost |
|---|---|
| 100 most recent changes | $0.75 |
| 500 changes with buyer owners and the profile | $9.52 |
| 1,000 changes, transaction fields only | $7.03 |
| All 5,999 changes with owners, profile and history | up to $203 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 ownership changes as a preview. Upgrade your Apify plan to pull the whole file.
Run it
- Create a free Apify account with $5 in credit.
- Open the Medicare Change of Ownership (CHOW) Scraper.
- Pick a facility type, state or date range, tick the owner blocks you want, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab, or schedule a monthly run to catch new changes.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent the CHOW files through the Model Context Protocol:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/medicare-change-of-ownership-scraper"
Then ask: "Which nursing homes changed hands in Ohio last year and who owns the buyers?", "Find hospital acquisitions where an investment firm sits behind the buyer" or "Which buyers made more than three acquisitions?"
Troubleshooting
Why does a deal have no owners?
CMS only lists owners for enrollments that filed them. When the owner file has no record for that enrollment id, the row keeps the transaction fields and the block is not charged.
Why is percentageOwnership empty?
Because CMS leaves it blank on most owner records; it is populated mainly for direct ownership interests of 5% or more. That is the source's own gap, not a parsing miss.
Why does the buyer look like the seller?
Related-party transfers are common: an operator moves a facility between its own entities. relatedPartyDeal marks the rows where buyer and seller names start the same, and sameCcnRetained marks the ones that kept the CMS certification number.
Why is nothing newer than a few months ago?
CMS refreshes the CHOW files quarterly. The sourceUrl on every row is the landing page where CMS states the release date.
Why is the run slow with the owner blocks on?
Each enrollment's owners are a separate CMS query, and the owner network adds up to three more per row. The transaction fields alone need three requests for the whole file; 200 changes with owners take a few minutes.
FAQ
| Question | Answer |
|---|---|
| What is a CHOW? | A change of ownership: the Medicare enrollment for a facility moves from one owner to another, either as a change of ownership or as an acquisition or merger. |
| How many changes are there? | 5,999 as published: 772 hospital and 5,227 skilled nursing facility changes effective from 1 January 2016. |
| Is the data public? | Yes. It comes from the CMS Provider Characteristics files on data.cms.gov, which are open data. |
| Does it cover other provider types? | CMS publishes CHOW files for hospitals and skilled nursing facilities only. Other provider types are not in the source. |
| Can I tell if private equity bought a facility? | The owner record carries CMS's own investment firm, holding company and financial institution flags, which is the closest public signal. It names the entity, not the fund's marketing name. |
| What is the owner network? | For the buyer's organisation owners, every Medicare enrollment those owners are attached to, and the other ownership changes among them. |
| Can I join this to quality ratings? | Yes. Every row carries the CCN and NPI for both sides, which join to Care Compare, cost reports and staffing files. |
| How current is it? | The files are refreshed quarterly; the most recent change in the data when this Actor was built was effective April 2026. |
| How many rows per run? | Free plan: 10. Paid: all 5,999. |
| Is this an official CMS product? | No. It is unofficial and reads only public CMS open data. |
Related actors
- Hospital Compare Medicare Scraper: hospital quality, staffing and patient survey measures by CCN.
- OIG Exclusion List (LEIE) Scraper: excluded providers with NPI, authority and dates.
- NPI Registry Scraper: provider identity and taxonomy from NPPES.
- CMS Hospital General Info Scraper: every Medicare hospital with type, ownership and location.
- SEC Litigation Releases Scraper: SEC enforcement actions with defendants.
Browse the full ParseForge collection for more scrapers.
π Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
β οΈ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by the Centers for Medicare & Medicaid Services. It reads only public CMS open data. Owner records name real people, so you are responsible for using the data in compliance with applicable laws, including GDPR, CCPA, and PIPL. Do not use it to identify, profile, or target individuals.
