ParseForge Scrapers

Nursing Home Compare Scraper

parseforge/nursinghome-compare-scraper

OtherLead generation

Scrapes official CMS Nursing Home Compare facility records with five-star ratings, inspection data, and provider details. Filter by state, city, or facility name and export structured rows.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
96
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

Nursing Home Compare Scraper

Scrape official CMS Nursing Home Compare ratings, inspections, and ownership data for any US state or city. Each facility row includes its five-star rating, health inspection results, staffing levels, and quality measures. Export to CSV, JSON, Excel, or XML.

CMS publishes detailed quality and safety data for every Medicare and Medicaid certified nursing home in the United States, but the official website makes it hard to pull this data in bulk. This Actor reads the public Nursing Home Compare dataset directly, letting you filter by state, city, or facility name. You get a clean, structured row for each matching nursing home, ready for analysis.

Who uses it What they scrape Nursing Home Compare for
Senior care placement agencies Build a searchable database of local facilities ranked by CMS five-star ratings.
Healthcare market researchers Analyze regional nursing home quality trends and staffing patterns across states.
Compliance and legal teams Monitor inspection histories and penalty records for facilities under review.
Data journalists Investigate nursing home ownership chains and compare quality scores by operator.

What it does

This Actor collects nursing home facility records from the CMS Nursing Home Compare dataset and returns each one as a flat row with ratings, inspection data, and provider details.

  • ๐Ÿฅ State and city filters: narrow results to a specific two-letter state code, an exact city name, or both.
  • ๐Ÿ” Facility name search: find nursing homes by provider name or keyword to target specific chains or locations.
  • ๐Ÿ“Š Structured ratings data: each row includes the overall five-star rating, health inspection score, staffing rating, and quality measure rating.
  • โš™๏ธ Volume control: set a maximum number of facilities to collect per run, from a single sample up to one million records.

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

What you can do with Nursing Home Compare data

๐Ÿ  Build a local nursing home directory.

A placement agency scrapes all facilities in California, filters by city, and publishes a searchable list with ratings and contact details for families.

๐Ÿ“ˆ Track quality trends by region.

A healthcare analyst collects nursing home data for the Midwest every quarter to spot changes in staffing levels and inspection outcomes over time.

โš–๏ธ Audit facility compliance history.

A legal team pulls inspection and penalty records for a specific nursing home chain to support a regulatory review or litigation case.

๐Ÿ”— Map ownership networks.

A researcher scrapes all facilities nationwide, groups them by legal business name, and identifies which operators run the most homes with below-average ratings.

Why choose this scraper

What you get
Official CMS source Data comes directly from the Centers for Medicare & Medicaid Services, the same source used for federal oversight.
No API key required Access the public dataset without registering an application or managing OAuth tokens.
Flat, analysis-ready rows Every facility arrives in a consistent schema, ready for spreadsheets, databases, or BI tools.
Targeted filtering Pull only the facilities you need by state, city, or name instead of downloading the entire national file.

How it compares

This Actor focuses specifically on the CMS Nursing Home Compare dataset, while some alternatives cover a broader range of healthcare facility types or offer different filtering options.

Feature ParseForge US Healthcare Facility Leads Scraper (CMS) CMS Nursing Home Compare Scraper (4 users) CMS Nursing Home Compare Scraper (2 users)
Nursing home specific dataset Yes Not listed Yes Yes
Filter by state Yes Not listed Not listed Not listed
Filter by city Yes Not listed Not listed Not listed
Search by facility name Yes Not listed Not listed Not listed
Five-star ratings included Yes Not listed Yes Yes
Ownership and chain data Yes Not listed Yes Yes

Configure the run

Drive the Actor with a state code, city name, or facility keyword, alone or in combination, and set a cap on the total number of nursing homes returned. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10
}

A larger pull:

{
  "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Nursing Home Compare Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

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 live access to Nursing Home Compare through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

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

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your state code, city name, or facility name search term is spelled correctly. City names require an exact match. Try broadening your search by removing the city or name filter and running with only a state selected.

The run finished but returned fewer records than my maxItems setting.

This means the number of nursing homes matching your filters is smaller than the maximum you set. The Actor returns all available matches. Try removing some filters to see more facilities.

I got an error or timeout during the run.

Large national scrapes with a high maxItems value can take time. Try reducing the maximum number of nursing homes or adding a state filter to narrow the request. If the problem persists, check the Apify platform status or retry the run.

Some fields in my output are empty.

CMS does not always populate every field for every facility. Empty values mean the data was not available in the source dataset for that particular nursing home.

Can I filter by rating or ownership type?

The current input schema supports filtering by state, city, and facility name only. To filter by rating or ownership, export the full dataset and apply your filters in a spreadsheet or database tool.

FAQ

Question Answer
What data does this Actor return for each nursing home? Each row includes the facility name, address, phone number, CMS Certification Number (CCN), overall five-star rating, health inspection rating, staffing rating, quality measure rating, ownership type, and more. The exact field list is shown in the sample output on the Actor's page.
Can I filter by a specific state? Yes. Use the State input to select a two-letter US state code like CA or TX. The Actor will return only nursing homes located in that state.
How do I search for a particular nursing home by name? Enter the facility name or a keyword in the Nursing home name or keyword input field. The Actor performs a partial match search against provider names.
Does this Actor require a CMS account or API key? No. It reads the publicly available Nursing Home Compare data directly. You do not need to register with CMS or manage any credentials.
How many nursing homes can I collect in one run? You set the limit with the Maximum nursing homes input. The minimum is 1 and the maximum is 1,000,000 records per run.
What export formats are supported? You can export your results to CSV, JSON, Excel, or XML directly from the Apify dataset tab after the run completes.
Is the data updated regularly? The Actor pulls the latest available data from CMS each time it runs. CMS updates the Nursing Home Compare dataset on a monthly schedule.
Can I combine state and city filters? Yes. If you select a state and enter a city name, the Actor returns only facilities that match both criteria.
Does this Actor include nursing home inspection details? Yes. The output includes health inspection ratings and related quality data that CMS publishes as part of the Five-Star Quality Rating System.
Can I get data for US territories like Puerto Rico? Yes. The State input includes options for DC, PR, and GU in addition to all 50 states.

Related actors

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 Centers for Medicare & Medicaid Services (CMS). It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many nursing homes to collect per run. 10
state string (54 options) Two-letter US state code to filter by. not set
city string Optional city name filter (exact match). not set
search string Optional provider name search (LIKE). not set

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

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~nursinghome-compare-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

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.

Related scrapers

Run Nursing Home Compare Scraper on Apify All scrapers