# Medicare Hospital Compare Scraper | Quality Ratings Data (`parseforge/hospital-compare-medicare-scraper`) Actor

Export US hospital quality ratings from Medicare Hospital Compare: name, address, type, ownership, overall star rating, mortality and safety scores. Filter by state, city, hospital type or rating. CSV, Excel, JSON or XML for healthcare research.

- **URL**: https://apify.com/parseforge/hospital-compare-medicare-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Other, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏥 Medicare Hospital Compare Scraper

> 🚀 **Export every U.S. hospital in seconds.** Pull overall star rating, hospital type, ownership, ER status, and quality-measure summaries straight from CMS Care Compare. Download as CSV, Excel, JSON, or XML.

> 🕒 **Last updated:** 2026-05-25 · **📊 30+ fields** per record · 4,500+ hospitals · United States, all states + territories

The **Medicare Hospital Compare Scraper** queries the official CMS Provider Data API used to power medicare.gov/care-compare. Every record contains the CMS facility ID, full hospital name, address, hospital type, ownership, ER availability, overall star rating, and the published summary counts for mortality, safety, readmission, patient experience, and timely/effective care measures.

**Coverage:** every U.S. hospital reporting to CMS - Acute Care, Critical Access, Children's, Psychiatric, VA, DoD.

---

### Target Audience / Use Cases

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Health plans & payers | Network composition and quality scorecards |
| Hospital operators | Competitive benchmarking |
| Healthtech vendors | Seed product catalogs with verified facility data |
| Investigative journalists | Quality and ownership investigations |
| Researchers | Quality-measure correlation studies |
| Real-estate / siting | Healthcare access analyses |

---

### 📋 What this scraper does

- Pulls the full Hospital General Information dataset
- Filters by state, city, hospital type, or overall star rating
- Returns CMS facility ID, ownership, ER status, and birthing-friendly flag
- Includes per-domain measure counts (mortality, safety, readmission, etc.)
- Outputs JSON, CSV, Excel, XML

> 💡 **Why it matters:** The CMS Provider Data search UI returns a handful of facilities at a time. This actor turns the dataset into one clean export.

---

### 🎬 Full Demo

_🚧 Coming soon_

---

### ⚙️ Input

<table><thead><tr><th>Field</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr></thead>
<tbody>
<tr><td><code>maxItems</code></td><td>integer</td><td>No</td><td>10</td><td>Max records.</td></tr>
<tr><td><code>state</code></td><td>string</td><td>No</td><td></td><td>Two-letter U.S. state code.</td></tr>
<tr><td><code>cityTown</code></td><td>string</td><td>No</td><td></td><td>Exact city match.</td></tr>
<tr><td><code>hospitalType</code></td><td>select</td><td>No</td><td>Any</td><td>Acute Care, Critical Access, etc.</td></tr>
<tr><td><code>overallRating</code></td><td>select</td><td>No</td><td>Any</td><td>1-5 stars.</td></tr>
</tbody></table>

**Example 1 - All 5-star NY hospitals:**
```json
{ "state": "NY", "overallRating": "5", "maxItems": 100 }
````

**Example 2 - Acute care California hospitals:**

```json
{ "state": "CA", "hospitalType": "Acute Care Hospitals", "maxItems": 200 }
```

> ⚠️ **Good to Know:** Star ratings are CMS' published values. Hospitals with insufficient data have a blank `hospital_overall_rating`.

***

### 📊 Output

Sample:

```json
{
    "facility_id": "330005",
    "facility_name": "KALEIDA HEALTH",
    "citytown": "BUFFALO",
    "state": "NY",
    "hospital_type": "Acute Care Hospitals",
    "hospital_ownership": "Voluntary non-profit - Private",
    "emergency_services": "Yes",
    "hospital_overall_rating": "3"
}
```

Key fields: `facility_id`, `facility_name`, `address`, `citytown`, `state`, `zip_code`, `countyparish`, `telephone_number`, `hospital_type`, `hospital_ownership`, `emergency_services`, `meets_criteria_for_birthing_friendly_designation`, `hospital_overall_rating`, and per-domain measure counts (mortality, safety, readmission, patient experience, timely-effective).

***

### ✨ Why choose this Actor

- 🟢 Backed by the official CMS Provider Data API
- 🟢 Filter combinations are first-class
- 🟢 No registration, no API key
- 🟢 Full hospital universe in one run
- 🟢 JSON / CSV / Excel / XML

***

### 📈 How it compares to alternatives

| Option | Free | Bulk export | Live | API key |
|---|---|---|---|---|
| medicare.gov Care Compare | Yes | No | Yes | No |
| Raw CSV downloads | Yes | Yes | Quarterly | No |
| **ParseForge Hospital Compare Scraper** | **Yes** | **Yes** | **Live** | **No** |

***

### 🚀 How to use

1. [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. Open this actor on Apify Console
3. Set state / type / rating filters
4. Run, download CSV / Excel / JSON / XML
5. Schedule or integrate

***

### 💼 Business use cases

#### Payer network design

Pull every hospital in a target state with star rating 3+.

#### Competitive benchmarking

Compare star ratings and measure counts to peers.

#### M\&A diligence

Build a facility universe with ownership and type.

#### Quality reporting

Reuse measure counts in custom dashboards.

***

### 🔌 Automating Hospital Compare Scraper

Integrates with **Make**, **Zapier**, **n8n**, **Slack**, **Airbyte**, **GitHub Actions**, **Google Drive**.

***

### 🌟 Beyond business use cases

#### Research

Quality-measure correlation studies.

#### Personal

Look up your local hospital's rating.

#### Non-profit

Patient-advocacy analyses by ownership type.

#### Experimentation

Pair with home health and hospice scrapers for full-continuum analyses.

***

### 🤖 Ask an AI assistant about this scraper

ChatGPT · Claude · Perplexity · Microsoft Copilot

***

### ❓ Frequently Asked Questions

**Q: Source?**
CMS Provider Data API (data.cms.gov).

**Q: API key?**
No.

**Q: Are quality measures detailed?**
Per-domain counts are included. Individual measure values are in the larger CMS measure files.

**Q: Real-time?**
Live API.

**Q: How often is the source updated?**
CMS refreshes monthly.

**Q: Output formats?**
JSON, CSV, Excel, XML.

**Q: Free preview?**
Yes, 10 records.

**Q: Bulk export size?**
Up to 1,000,000 paid.

**Q: Coverage?**
All 50 states + DC + U.S. territories.

**Q: Are VA/DoD hospitals included?**
Yes.

***

### 🔌 Integrate with any app

Webhooks, REST API, Make, Zapier, Slack, Airbyte, Google Sheets, and more.

***

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [Medicare Home Health Compare Scraper](https://apify.com/parseforge/home-health-compare-scraper) | Home health agencies |
| [CDC WONDER Mortality Scraper](https://apify.com/parseforge/cdc-wonder-mortality-scraper) | US mortality data |
| [ICD-10 Codes Scraper](https://apify.com/parseforge/icd10-codes-scraper) | Clinical code reference |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with the Centers for Medicare & Medicaid Services. Only publicly available data from data.cms.gov is collected.

# Actor input Schema

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

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

Two-letter U.S. state code.

## `cityTown` (type: `string`):

City filter (exact match).

## `hospitalType` (type: `string`):

Acute Care, Critical Access, Children, Psychiatric, etc.

## `overallRating` (type: `string`):

Overall rating 1-5.

## Actor input object example

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

# Actor output Schema

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

Scraped Medicare Hospital Compare Scraper - Quality Ratings 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/hospital-compare-medicare-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/hospital-compare-medicare-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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/hospital-compare-medicare-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/hospital-compare-medicare-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Medicare Hospital Compare Scraper | Quality Ratings Data",
        "description": "Export US hospital quality ratings from Medicare Hospital Compare: name, address, type, ownership, overall star rating, mortality and safety scores. Filter by state, city, hospital type or rating. CSV, Excel, JSON or XML for healthcare research.",
        "version": "0.1",
        "x-build-id": "SLm3CfVFeniiArSBW"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~hospital-compare-medicare-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-hospital-compare-medicare-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~hospital-compare-medicare-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-hospital-compare-medicare-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~hospital-compare-medicare-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-hospital-compare-medicare-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "Two-letter U.S. state code."
                    },
                    "cityTown": {
                        "title": "City",
                        "type": "string",
                        "description": "City filter (exact match)."
                    },
                    "hospitalType": {
                        "title": "Hospital Type",
                        "enum": [
                            "",
                            "Acute Care Hospitals",
                            "Critical Access Hospitals",
                            "Childrens",
                            "Psychiatric",
                            "Veterans Health Administration",
                            "Department of Defense",
                            "Acute Care - Department of Defense"
                        ],
                        "type": "string",
                        "description": "Acute Care, Critical Access, Children, Psychiatric, etc."
                    },
                    "overallRating": {
                        "title": "Overall Star Rating",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Overall rating 1-5."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
