# Dialysis Compare Scraper | CMS Center Ratings (`parseforge/dialysis-compare-scraper`) Actor

Scrapes dialysis facility profiles from the CMS Dialysis Facility Compare website. Returns each facility as a flat row with its five-star rating, ICH CAHPS survey scores, and clinical quality metrics.

- **URL**: https://apify.com/parseforge/dialysis-compare-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Other, Lead generation
- **Stats:** 2 total users, 1 monthly users, 90.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Dialysis Compare Scraper | CMS Center Ratings

**Scrape dialysis facility ratings, survival rates, and quality metrics from the official CMS Dialysis Facility Compare website.** Every facility row includes its five-star rating, hospitalization ratio, and patient survey results. Export to CSV, JSON, Excel, or XML.

The CMS Dialysis Facility Compare site publishes star ratings, mortality rates, and infection data for every Medicare-certified dialysis center in the US, but browsing it one facility at a time is slow and the raw datasets are hard to query. This Actor reads the public facility listings directly, filtered by state, city, or provider name, and returns each match in one flat, analysis-ready row.\n\nNo API key, no registration, no manual downloads.

| Who uses it | What they scrape CMS Dialysis Facility Compare for |
|---|---|
| Healthcare analysts | Comparing dialysis center performance across a state or region. |
| Patient advocates | Building a shortlist of highly-rated facilities for a specific city. |
| Insurance underwriters | Auditing provider quality metrics for network adequacy filings. |
| Academic researchers | Gathering a national sample of dialysis outcomes for a study. |

### What it does

This Actor collects dialysis facility profiles from the CMS Dialysis Facility Compare website and returns each one as a flat row with its star rating, quality measures, and survey scores.

- ⭐ **Five-star ratings:** overall CMS star rating, plus star ratings for survival, hospitalization, and transfusion.
- 📋 **Patient survey scores:** ICH CAHPS survey results including communication, care quality, and facility rating.
- 🏥 **Quality metrics:** standardized mortality ratio, hospitalization ratio, transfusion ratio, and infection rates.
- 🗺️ **Geographic filters:** narrow results to a single state, city, or both, or leave blank to collect nationwide.

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

### What you can do with CMS Dialysis Facility Compare data

**📊 Benchmark dialysis networks.**

A healthcare consultant runs the Actor for all facilities in Texas and Florida, then ranks chains by average star rating to support a merger review.

**📍 Find top-rated centers near a patient.**

A social worker enters a city name, collects the 10 highest-rated facilities, and shares the list with a patient choosing where to receive treatment.

**📈 Monitor quality improvement over time.**

A researcher scrapes the full national dataset each quarter, tracking changes in hospitalization ratios to evaluate a new CMS payment model.

**🛡️ Validate provider directories.**

An insurer pulls facility names and CCNs for a state, cross-checks them against its own network list, and flags missing or closed locations.

### Why choose this scraper

|  | What you get |
|---|---|
| **Official CMS data** | Ratings and outcomes published by Medicare, not self-reported marketing claims. |
| **Fixed flat schema** | Every facility returns the same columns, ready for pivot tables and joins. |
| **No API limits** | Collect up to a million facilities per run without rate-limiting or OAuth. |

### How it compares

Three other Apify actors also target CMS dialysis data, but each takes a different approach to the source and the output shape.

| Feature | ParseForge | US Healthcare Facility Leads Scraper (CMS) | CMS Dialysis Facility Compare Scraper | CMS Dialysis Facility Compare Scraper API - Quality Data |
|---|---|---|---|---|
| Five-star ratings | Yes | Not listed | Yes | Not listed |
| ICH CAHPS patient survey scores | Yes | Not listed | Yes | Not listed |
| Filter by state | Yes | Not listed | Not listed | Yes |
| Filter by city | Yes | Not listed | Not listed | Not listed |
| Search by facility name | Yes | Not listed | Not listed | Yes |
| Flat row output per facility | Yes | Not listed | Not listed | Not listed |

### Configure the run

Drive the Actor with a state code, city name, or facility keyword, alone or together, and filters run as each facility is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "maxItems": 10
}
```

A larger pull:

```json
{
  "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](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Dialysis Compare Scraper | CMS Center Ratings](https://apify.com/parseforge/dialysis-compare-scraper?fpr=vmoqkp).
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](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to CMS Dialysis Facility Compare through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/dialysis-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 keyword is spelled correctly. The city filter requires an exact match, so try broadening your search by leaving city blank and using only the state filter.

**The run stopped before collecting all facilities.**

Increase the maximum facilities setting. The Actor stops when it reaches the number you set, so raise it if you need more rows.

**Some star ratings are missing in my output.**

CMS does not publish star ratings for facilities with too few patients or too short a reporting period. Missing ratings are expected for small or new facilities and will appear as empty cells.

**The city filter is not returning the facility I expect.**

The city filter uses an exact match against the city name as listed by CMS. Try a shorter keyword in the facility name field instead, or leave city blank and scan the results.

### FAQ

| Question | Answer |
|---|---|
| What data does this Actor return? | It returns the public CMS star ratings, ICH CAHPS patient survey scores, and clinical quality measures such as mortality and hospitalization ratios for each dialysis facility. |
| Can I filter by state? | Yes. Select a two-letter state code from the dropdown to limit results to facilities in that state. |
| Can I search for a specific facility by name? | Yes. Use the facility name or keyword field to search for a provider by partial or full name. |
| Does this include the five-star rating? | Yes. The overall five-star rating and the component star ratings for survival, hospitalization, and transfusion are included. |
| Is this the same data as the CMS Dialysis Facility Compare website? | Yes. The Actor reads the public pages on data.cms.gov, so the ratings and metrics match what you see on the official site. |
| Do I need a CMS account or API key? | No. The Actor reads the public website directly, so no registration or API key is required. |
| Can I export the results? | Yes. Results can be exported to CSV, JSON, Excel, or XML from your Apify dataset. |
| How many facilities can I collect in one run? | You set the maximum. The Actor can collect up to one million facilities per run. |
| Does it include patient survey results? | Yes. The ICH CAHPS survey scores, including communication and care quality ratings, are part of each facility row. |
| Can I get data for all US states at once? | Yes. Leave the state filter blank to collect facilities from every state and territory. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) 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. 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.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of dialysis facilities to collect per run.

## `state` (type: `string`):

Two-letter US state code to filter by.

## `city` (type: `string`):

Optional city name filter (exact match).

## `search` (type: `string`):

Optional provider name search (LIKE).

## Actor input object example

```json
{
  "maxItems": 10,
  "state": ""
}
```

# Actor output Schema

## `results` (type: `string`):

Scraped records

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/dialysis-compare-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/dialysis-compare-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call parseforge/dialysis-compare-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/dialysis-compare-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7xjVfFX6kzsF5Mr07/builds/gbT2fzTrOVoeUhbGO/openapi.json
