CMS Hospital & Healthcare Facility Crawler
CMS Hospital & Healthcare Facility Crawler
Extract hospital and healthcare facility data from the CMS Provider Data API. Covers 46,000+ Medicare-certified facilities across five types — hospitals, nursing homes, home health agencies, hospice providers, and dialysis centers — with quality ratings, staffing scores, ownership details, and contact information for every U.S. state.
CMS Hospital Crawler Features
- Crawls five facility types from a single actor: hospitals, nursing homes, home health agencies, hospice providers, and dialysis facilities
- Filters hospitals by type (Acute Care, Critical Access, Children's, Psychiatric) and by ownership (government, for-profit, non-profit, church)
- Filters by CMS overall quality rating — return only 4-star and 5-star facilities, or set no minimum and take everything
- Filters by state, partial facility name, and emergency services availability
- Reads the CMS Provider Data JSON API directly — no HTML scraping, no broken selectors when the page redesigns
- No proxy required — the CMS API is a U.S. government public service with no authentication and no rate limits worth worrying about
- Derives hospital mortality, safety, and readmission ratings by comparing measure counts against the national average
Who Uses CMS Healthcare Facility Data?
- Healthcare sales teams — build contact lists of hospitals, nursing homes, or dialysis centers filtered by state, ownership type, and quality tier
- Market researchers — analyze the distribution of facility types and ownership models across regions; compare quality rating distributions by state
- Healthcare compliance consultants — identify facilities with low safety or readmission ratings and benchmark them against state and national averages
- Benefits and insurance analysts — scope provider networks, verify facility contact details, and flag gaps in coverage by county or ZIP
- Academic and policy researchers — study correlations between ownership type, staffing ratings, and patient outcomes across the Medicare-certified population
- Real estate and site selection teams — map facility density by state and county to identify underserved markets
How CMS Hospital Crawler Works
- You select a facility type and any filters — states, ownership type, hospital type, minimum quality rating, and whether emergency services are required.
- The crawler constructs one CMS API query per state (when states are specified) or a single query for all states. Each query paginates through results in batches of 500.
- Client-side filters for rating minimums, emergency services, and name partial-match are applied before records enter the output pipeline, so they do not count toward your item limit.
- Each raw API record is normalized into a consistent output shape covering all five facility types. Fields that don't apply to a given facility type are left empty rather than dropped.
Input
Basic: all hospitals in Wyoming
{
"facilityType": "hospital",
"states": ["WY"],
"maxItems": 50,
"sp_intended_usage": "Market research",
"sp_improvement_suggestions": "None"
}
Filter: 4-star-and-above nursing homes in Texas and Florida
{
"facilityType": "nursing_home",
"states": ["TX", "FL"],
"minRating": "4",
"maxItems": 500,
"sp_intended_usage": "Lead generation",
"sp_improvement_suggestions": "None"
}
Filter: for-profit acute care hospitals with emergency services, nationwide
{
"facilityType": "hospital",
"hospitalType": "Acute Care Hospitals",
"hospitalOwnership": "Proprietary",
"emergencyServicesOnly": true,
"maxItems": 0,
"sp_intended_usage": "Sales prospecting",
"sp_improvement_suggestions": "None"
}
Input Parameters
| Field | Type | Default | Description |
|---|---|---|---|
| facilityType | string | hospital |
Facility type to crawl: hospital, nursing_home, home_health, hospice, dialysis |
| states | string[] | [] (all states) |
U.S. state abbreviations to filter by. Empty means all 50 states plus DC. |
| hospitalType | string | "" (all) |
Hospital subtype filter: Acute Care Hospitals, Critical Access Hospitals, Childrens, Psychiatric. Applies to hospitals only. |
| hospitalOwnership | string | "" (all) |
Ownership type filter: government (federal/state/local/district), for-profit (Proprietary), or non-profit (church/other/private). Applies to hospitals only. |
| minRating | string | "0" |
Minimum CMS overall quality rating, 1–5. Applies to hospitals, nursing homes, home health, and dialysis. Hospice has no star rating. |
| emergencyServicesOnly | boolean | false |
Return only hospitals that provide emergency services. Applies to hospitals only. |
| facilityName | string | "" |
Partial name search, case-insensitive. Matches anywhere in the facility name. |
| maxItems | integer | 100 |
Maximum records to return. Set to 0 for no limit. |
| proxyConfiguration | object | disabled | Proxy settings. Not needed for normal use — the CMS API is a public government service. |
| sp_intended_usage | string | — | Required. Describe how you plan to use the data. |
| sp_improvement_suggestions | string | — | Required. Feedback helps improve the actor. |
CMS Hospital Crawler Output Fields
Facility Record
{
"facility_id": "060001",
"facility_name": "PROVIDENCE LITTLE COMPANY OF MARY MEDICAL CENTER - TORRANCE",
"facility_type": "Hospital",
"address": "4101 TORRANCE BLVD",
"city": "TORRANCE",
"state": "CA",
"zip_code": "90503",
"county": "LOS ANGELES",
"phone_number": "(310) 540-7676",
"hospital_type": "Acute Care Hospitals",
"hospital_ownership": "Voluntary non-profit - Church",
"emergency_services": true,
"overall_rating": 4,
"mortality_rating": "Above the national average",
"readmission_rating": "Same as the national average",
"safety_rating": "Above the national average",
"patient_experience_rating": "",
"effectiveness_of_care_rating": "",
"timeliness_of_care_rating": "",
"efficient_use_of_imaging_rating": "",
"birthing_friendly": true,
"staffing_rating": null,
"health_inspection_rating": null
}
| Field | Type | Description |
|---|---|---|
| facility_id | string | CMS Certification Number (CCN) — unique facility identifier |
| facility_name | string | Official facility name as registered with CMS |
| facility_type | string | Facility category: Hospital, Nursing Home, Home Health, Hospice, or Dialysis |
| address | string | Street address |
| city | string | City |
| state | string | State abbreviation |
| zip_code | string | ZIP code |
| county | string | County or parish |
| phone_number | string | Phone number formatted as (XXX) XXX-XXXX |
| hospital_type | string | Hospital subtype: Acute Care, Critical Access, Psychiatric, or Children's. Hospitals only. |
| hospital_ownership | string | Ownership type. Present for hospitals, nursing homes, home health, hospice, and dialysis. |
| emergency_services | boolean | Whether the facility provides emergency services. Hospitals only. |
| overall_rating | number or null | CMS overall quality rating, 1–5 stars. Null when the facility has insufficient data or no rating program (e.g., hospice). |
| mortality_rating | string | Mortality performance vs. national average: Above, Same, or Below. Hospitals only. |
| readmission_rating | string | Readmission performance vs. national average. Hospitals only. |
| safety_rating | string | Safety of care performance vs. national average. Hospitals only. |
| patient_experience_rating | string | Patient experience rating. Not available from the CMS general info endpoint. |
| effectiveness_of_care_rating | string | Effectiveness of care rating. Not available from the CMS general info endpoint. |
| timeliness_of_care_rating | string | Timeliness of care rating. Not available from the CMS general info endpoint. |
| efficient_use_of_imaging_rating | string | Imaging efficiency rating. Not available from the CMS general info endpoint. |
| birthing_friendly | boolean | Whether the hospital holds CMS's birthing-friendly designation. Hospitals only. |
| staffing_rating | number or null | Staffing quality rating, 1–5. Nursing homes only. |
| health_inspection_rating | number or null | Health inspection rating, 1–5. Nursing homes only. |
FAQ
How many facilities does CMS Hospital Crawler cover? The CMS Provider Data API includes approximately 46,000 Medicare-certified facilities across all five supported types. The exact count shifts as facilities open, close, or change certification status. Run without state filters to get the full picture.
Does it require proxies? No. The CMS Provider Data API is a public U.S. government service — no authentication, no CAPTCHA, no rate limits that normal runs encounter. The proxy option is available if your environment requires routing through one, but it is disabled by default.
Why are some rating fields empty on hospital records? The CMS general hospital info endpoint exposes mortality, safety, and readmission group ratings — derived from measure counts — plus the overall 1–5 star score. It does not include patient experience, effectiveness, timeliness, or imaging efficiency sub-ratings. Those fields are present in the schema for future expansion.
Does the minimum rating filter apply to all facility types? It applies to hospitals, nursing homes, home health agencies, and dialysis facilities. Hospice providers have no CMS star rating system, so the minimum rating filter has no effect on hospice runs.
Can I pull all facilities in the U.S. in one run?
Yes. Leave the states array empty and set maxItems to 0. A complete hospital run across all states returns roughly 5,000–6,000 records; nursing homes are around 15,000. Budget time and cost accordingly.
How is pricing calculated? This actor uses pay-per-event pricing. You pay per facility record returned, not per run. Pulling 100 records in Wyoming costs the same per-record rate as pulling 15,000 nursing homes nationwide.
What is the difference between hospitalType and facilityType?
facilityType selects the entire dataset to query — hospitals, nursing homes, home health, hospice, or dialysis. hospitalType is a sub-filter within the hospital dataset that narrows results to a specific hospital category (Acute Care, Critical Access, etc.). It only applies when facilityType is hospital.
Need More Features?
Need additional fields, a different facility type, or integration with another CMS dataset? File an issue or get in touch.
Why Use CMS Hospital Crawler?
- One actor, five datasets — hospitals, nursing homes, home health, hospice, and dialysis all share the same output schema and run from the same interface
- Government source, structured API — data comes from CMS's official Provider Data API in JSON; it does not depend on webpage layout and does not break when CMS updates their site design
- Priced per record — you pay for what you pull, not a flat monthly fee regardless of how much you actually use