US Nursing Homes Scraper - Owners, Ratings & Staffing
Pricing
from $12.75 / 1,000 results
US Nursing Homes Scraper - Owners, Ratings & Staffing
Scrape US Medicare-certified nursing homes with CCN, address, phone, ownership type, beds, 5-star ratings, staffing, fines and the full list of owners and managers (name, type, role, percentage). Filter by state, city, ZIP, ownership, rating and beds. Export to JSON, CSV or Excel.
Pricing
from $12.75 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
US Nursing Homes Scraper - Owners, Ratings & Staffing
Here is one real result, with every field the actor returns:
{"ccn": "055002","providerName": "COUNTRY MANOR HEALTHCARE","legalBusinessName": "CANYON PROPERTIES III, LLC","providerType": "Medicare and Medicaid","residesInHospital": true,"address": "11723 FENTON AVENUE","city": "LAKE VIEW TERRACE","state": "CA","zipCode": "91342","county": "Los Angeles","urban": true,"phone": "8188990251","ownershipType": "For profit - Limited Liability company","ownershipChangedLast12Months": false,"numberOfCertifiedBeds": 99,"averageResidentsPerDay": 90.1,"firstApprovedDate": "1968-09-01","continuingCareRetirementCommunity": false,"specialFocusStatus": null,"abuseIcon": false,"overallRating": 4,"healthInspectionRating": 2,"qmRating": 5,"longStayQmRating": 5,"shortStayQmRating": 4,"staffingRating": 5,"totalNurseStaffingHoursPerResidentDay": 4.30127,"rnStaffingHoursPerResidentDay": 0.76409,"lpnStaffingHoursPerResidentDay": 0.68709,"nurseAideStaffingHoursPerResidentDay": 2.85009,"rnHoursPerResidentWeekend": 0.55149,"totalNursingStaffTurnover": 20.4,"rnTurnover": 26.7,"administratorsLeft": 0,"numberOfFines": 1,"totalFinesDollars": 8018,"numberOfPaymentDenials": 0,"totalPenalties": 1,"infectionControlCitations": 1,"chainName": "CHARIS TRUST DTD 12/22/16","chainId": "136","numberOfFacilitiesInChain": 6,"chainAverageOverallRating": 3.3,"latitude": 34.2831,"longitude": -118.39,"url": "https://www.medicare.gov/care-compare/details/nursing-home/055002","aiSummary": "Country Manor Healthcare is a for-profit nursing home located in Lake View Terrace, CA, with 99 certified beds and an average of 90 residents per day. The facility has an overall rating of 4 out of 5, with strong staffing ratings but a lower health inspection rating.","aiQualitySummary": "COUNTRY MANOR HEALTHCARE has an overall rating of 4 stars, indicating good care quality, with particularly strong performance in quality measures and staffing, both rated at 5 stars. However, the health inspection rating is lower at 2 stars, reflecting some concerns, including a fine and an infection control citation. Staffing turnover is relatively high, especially among RNs, which could impact care consistency.","aiRisk": ["health-inspection rating of 2", "total nursing staff turnover %", "number of fines: 1, total fines $: 8018", "infection control citations: 1"],"aiRiskLevel": "medium","source": "CMS Nursing Homes","observedAt": "2026-08-14T07:19:33.517Z","ownersCount": 7,"owners": ["DAVID, EMMANUEL (Individual; DIRECT OWNERSHIP INTEREST / CORPORATE DIRECTOR / CORPORATE OFFICER; since 12/22/2016)", "DAVID, OFELIA (Individual; DIRECT OWNERSHIP INTEREST; since 12/22/2016)", "QUION, ANTONIO (Individual; MANAGING CONTROL - GOVERNING BODY / OPERATIONAL/MANAGERIAL CONTROL / ADP OF THE SNF; since 01/30/2003)", "STEVE, DENISE (Individual; MANAGING CONTROL - GOVERNING BODY / OPERATIONAL/MANAGERIAL CONTROL / ADP OF THE SNF; since 01/01/2021)", "AREVALO, JOSE (Individual; OPERATIONAL/MANAGERIAL CONTROL / ADP OF THE SNF; since 10/26/2020)", "OFOEGBU, KINGSLEY (Individual; OPERATIONAL/MANAGERIAL CONTROL / ADP OF THE SNF; since 03/01/2023)", "WASHINGTON INVESTMENTS III, LLC (Organization; ADP OF THE SNF; since 02/01/2023)"],"ownerNames": "DAVID, EMMANUEL | DAVID, OFELIA | QUION, ANTONIO | STEVE, DENISE | AREVALO, JOSE | OFOEGBU, KINGSLEY | WASHINGTON INVESTMENTS III, LLC","organizationOwnerNames": "WASHINGTON INVESTMENTS III, LLC","primaryOwnerName": "WASHINGTON INVESTMENTS III, LLC","primaryOwnerType": "Organization","primaryOwnerPercentage": null,"primaryOwnerRole": "ADP OF THE SNF"}
The most complete US nursing home scraper available. It returns every field the CMS Nursing Home Care Compare dataset exposes for each facility, from the full 5-star rating breakdown, staffing hours, turnover, fines, and penalties to the complete registered ownership chain, plus optional AI summaries, and gives you filters to target exactly the facilities you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor reads the CMS Nursing Home dataset behind Medicare Care Compare, applies the filters you pass as input, and writes one normalized record per facility to the run's dataset. Each record carries location and contact details, ownership type, the full 5-star rating breakdown (overall, health inspection, quality measure, long-stay and short-stay QM, staffing), staffing hours per resident day and turnover, fines, payment denials, penalties, infection control citations, and chain affiliation. With includeOwnership on, it also attaches the full list of registered owners and managers with their roles and start dates. Missing source values are returned as null, never invented.
Three optional paid AI add-ons layer on top: a facility summary, a plain-English quality summary, and quality risk flags for low performers. Each is charged only when it produces usable output.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 4 California nursing homes with full ownership and AI summary, quality summary, and risk flags.
{"states": ["CA"],"maxFacilities": 4,"withAiSummary": true,"withAiQualitySummary": true,"withAiRisk": true,"changedOwnershipLast12Months": false,"specialFocusOnly": false,"includeOwnership": true}
Every input field is optional. With an empty input the actor returns Texas facilities (default maxFacilities is 10). Combine states, ownershipTypes, rating bounds, and bed bounds to narrow the list.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
states | string[] | no | ["TX"] | Two-letter US state codes, for example CA, TX, NY. One run can scan several. |
cities | string[] | no | (any) | Filter by city, for example HOUSTON, DALLAS. |
zipCodes | string[] | no | (any) | Filter by 5-digit ZIP code. |
counties | string[] | no | (any) | Filter by county or parish name as spelled by CMS. |
nameContains | string | no | (empty) | Keep only nursing homes whose name contains this text. |
chainNameContains | string | no | (empty) | Keep only nursing homes whose chain or group name contains this text. |
ownershipTypes | string[] | no | (any) | Filter by ownership type. Use exact CMS labels, for example For profit - Limited Liability company. |
minOverallRating | integer | no | (any) | Keep only facilities with an overall 5-star rating at or above this value (1-5). |
maxOverallRating | integer | no | (any) | Keep only facilities with an overall 5-star rating at or below this value (1-5). |
minBeds | integer | no | (any) | Keep only facilities with at least this many certified beds. |
maxBeds | integer | no | (any) | Keep only facilities with at most this many certified beds. |
changedOwnershipLast12Months | boolean | no | false | Keep only nursing homes that changed ownership in the last 12 months. |
specialFocusOnly | boolean | no | false | Keep only Special Focus Facilities or candidates (a CMS watch list). |
ccnNumbers | string[] | no | (any) | Look up specific facilities by their CMS Certification Number (CCN). |
includeOwnership | boolean | no | true | When on, attach the full list of registered owners and managers with roles and start dates. |
maxFacilities | integer | no | 10 | Maximum number of nursing homes to collect. Free Apify plans are capped at 10. |
withAiSummary | boolean | no | false | Paid AI add-on. Concise summary of the nursing home, ownership, and ratings. Charged only on usable AI output. Requires a paid Apify plan. |
withAiQualitySummary | boolean | no | false | Paid AI add-on. Plain-English summary of care quality from the ratings and measures. Charged only on usable AI output. Requires a paid Apify plan. |
withAiRisk | boolean | no | false | Paid AI add-on. Surface quality red flags for low performers. Charged only on usable AI output. Requires a paid Apify plan. |
Output reference
One dataset item per facility. Types: string, number, integer, boolean, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
ccn | string | CMS Certification Number (unique per facility). |
providerName | string | Facility name. |
legalBusinessName | string | Legal business name. |
providerType | string | Provider type, for example Medicare and Medicaid. |
residesInHospital | boolean | Located inside a hospital. |
address | string | Street address. |
city | string | City. |
state | string | Two-letter state code. |
zipCode | string | ZIP code. |
county | string | County or parish. |
urban | boolean | Urban location. |
phone | string | Phone number. |
ownershipType | string | Ownership type. |
ownershipChangedLast12Months | boolean | Changed ownership in the last 12 months. |
numberOfCertifiedBeds | integer | Certified beds. |
averageResidentsPerDay | number | Average residents per day. |
firstApprovedDate | string | First approved for Medicare/Medicaid (YYYY-MM-DD). |
continuingCareRetirementCommunity | boolean | Part of a continuing care retirement community. |
specialFocusStatus | string | Special Focus Facility status, or null. |
abuseIcon | boolean | CMS abuse icon flag. |
overallRating | integer | Overall 5-star rating (1-5), or null. |
healthInspectionRating | integer | Health inspection rating (1-5). |
qmRating | integer | Quality measure rating (1-5). |
longStayQmRating | integer | Long-stay quality measure rating (1-5). |
shortStayQmRating | integer | Short-stay quality measure rating (1-5). |
staffingRating | integer | Staffing rating (1-5). |
totalNurseStaffingHoursPerResidentDay | number | Total nurse staffing hours per resident day. |
rnStaffingHoursPerResidentDay | number | RN staffing hours per resident day. |
lpnStaffingHoursPerResidentDay | number | LPN staffing hours per resident day. |
nurseAideStaffingHoursPerResidentDay | number | Nurse aide staffing hours per resident day. |
rnHoursPerResidentWeekend | number | RN hours per resident day on weekends. |
totalNursingStaffTurnover | number | Total nursing staff turnover percent. |
rnTurnover | number | RN turnover percent. |
administratorsLeft | integer | Administrators who left. |
numberOfFines | integer | Number of fines. |
totalFinesDollars | integer | Total fines in USD. |
numberOfPaymentDenials | integer | Payment denials. |
totalPenalties | integer | Total penalties. |
infectionControlCitations | integer | Infection control citations. |
chainName | string | Chain or group name, or null. |
chainId | string | Chain ID, or null. |
numberOfFacilitiesInChain | integer | Facilities in the chain, or null. |
chainAverageOverallRating | number | Chain average overall rating, or null. |
latitude | number | Latitude. |
longitude | number | Longitude. |
url | string | Medicare Care Compare profile URL. |
ownersCount | integer | Number of owners and managers. |
owners | string[] | Owners and managers (name, type, role, since date). Requires includeOwnership. |
ownerNames | string | All owner and manager names joined. |
organizationOwnerNames | string | Organization (company) owners joined. |
primaryOwnerName | string | Primary owner name. |
primaryOwnerType | string | Primary owner type (Individual or Organization). |
primaryOwnerPercentage | number | Primary owner ownership percent, or null when not disclosed. |
primaryOwnerRole | string | Primary owner role. |
aiSummary | string | AI facility summary, or null unless the add-on is enabled. |
aiQualitySummary | string | AI quality summary, or null unless the add-on is enabled. |
aiRisk | string[] | AI quality red flags, empty array when none, or null unless enabled. |
aiRiskLevel | string | AI overall risk level (low, medium, high), or null. |
source | string | Data source. Always CMS Nursing Homes. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed or empty run. A single item with a populated error field is written instead of results, and it is not charged. |
Example output record
Real record from a live run (input {"states": ["CA"], "maxFacilities": 4, "includeOwnership": true, "withAiSummary": true, "withAiQualitySummary": true, "withAiRisk": true}). The owners array below is real and lists all 7 registered owners and managers:
{"ccn": "055002","providerName": "COUNTRY MANOR HEALTHCARE","legalBusinessName": "CANYON PROPERTIES III, LLC","providerType": "Medicare and Medicaid","residesInHospital": true,"address": "11723 FENTON AVENUE","city": "LAKE VIEW TERRACE","state": "CA","zipCode": "91342","county": "Los Angeles","urban": true,"phone": "8188990251","ownershipType": "For profit - Limited Liability company","ownershipChangedLast12Months": false,"numberOfCertifiedBeds": 99,"averageResidentsPerDay": 90.1,"firstApprovedDate": "1968-09-01","continuingCareRetirementCommunity": false,"specialFocusStatus": null,"abuseIcon": false,"overallRating": 4,"healthInspectionRating": 2,"qmRating": 5,"longStayQmRating": 5,"shortStayQmRating": 4,"staffingRating": 5,"totalNurseStaffingHoursPerResidentDay": 4.30127,"rnStaffingHoursPerResidentDay": 0.76409,"lpnStaffingHoursPerResidentDay": 0.68709,"nurseAideStaffingHoursPerResidentDay": 2.85009,"rnHoursPerResidentWeekend": 0.55149,"totalNursingStaffTurnover": 20.4,"rnTurnover": 26.7,"administratorsLeft": 0,"numberOfFines": 1,"totalFinesDollars": 8018,"numberOfPaymentDenials": 0,"totalPenalties": 1,"infectionControlCitations": 1,"chainName": "CHARIS TRUST DTD 12/22/16","chainId": "136","numberOfFacilitiesInChain": 6,"chainAverageOverallRating": 3.3,"latitude": 34.2831,"longitude": -118.39,"url": "https://www.medicare.gov/care-compare/details/nursing-home/055002","ownersCount": 7,"owners": ["DAVID, EMMANUEL (Individual; DIRECT OWNERSHIP INTEREST / CORPORATE DIRECTOR / CORPORATE OFFICER; since 12/22/2016)", "DAVID, OFELIA (Individual; DIRECT OWNERSHIP INTEREST; since 12/22/2016)", "QUION, ANTONIO (Individual; MANAGING CONTROL - GOVERNING BODY / OPERATIONAL/MANAGERIAL CONTROL / ADP OF THE SNF; since 01/30/2003)", "STEVE, DENISE (Individual; MANAGING CONTROL - GOVERNING BODY / OPERATIONAL/MANAGERIAL CONTROL / ADP OF THE SNF; since 01/01/2021)", "AREVALO, JOSE (Individual; OPERATIONAL/MANAGERIAL CONTROL / ADP OF THE SNF; since 10/26/2020)", "OFOEGBU, KINGSLEY (Individual; OPERATIONAL/MANAGERIAL CONTROL / ADP OF THE SNF; since 03/01/2023)", "WASHINGTON INVESTMENTS III, LLC (Organization; ADP OF THE SNF; since 02/01/2023)"],"ownerNames": "DAVID, EMMANUEL | DAVID, OFELIA | QUION, ANTONIO | STEVE, DENISE | AREVALO, JOSE | OFOEGBU, KINGSLEY | WASHINGTON INVESTMENTS III, LLC","organizationOwnerNames": "WASHINGTON INVESTMENTS III, LLC","primaryOwnerName": "WASHINGTON INVESTMENTS III, LLC","primaryOwnerType": "Organization","primaryOwnerPercentage": null,"primaryOwnerRole": "ADP OF THE SNF","aiSummary": "Country Manor Healthcare is a for-profit nursing home located in Lake View Terrace, CA, with 99 certified beds and an average of 90 residents per day. The facility has an overall rating of 4 out of 5, with strong staffing ratings but a lower health inspection rating.","aiQualitySummary": "COUNTRY MANOR HEALTHCARE has an overall rating of 4 stars, indicating good care quality, with particularly strong performance in quality measures and staffing, both rated at 5 stars. However, the health inspection rating is lower at 2 stars, reflecting some concerns, including a fine and an infection control citation. Staffing turnover is relatively high, especially among RNs, which could impact care consistency.","aiRisk": ["health-inspection rating of 2", "total nursing staff turnover %", "number of fines: 1, total fines $: 8018", "infection control citations: 1"],"aiRiskLevel": "medium","source": "CMS Nursing Homes","observedAt": "2026-08-14T07:19:33.517Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~cms-nursing-homes-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"states":["TX"],"minOverallRating":4,"includeOwnership":true,"maxFacilities":50}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~cms-nursing-homes-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"states":["FL"],"specialFocusOnly":true,"maxFacilities":100}'
Apify CLI:
apify call scrapers_lat/cms-nursing-homes-scraper \--input '{"ccnNumbers":["055002"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per facility record returned (
resultevent). See the pricing tab for the current per-result price. - Paid AI add-ons.
ai_summary,ai_quality_summary, andai_riskare separate events, each billed only when they produce usable output. Leave them off to pay for results only. - No charge on failure. If a run errors or finds nothing, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxFacilities.
FAQ and troubleshooting
A run returned 0 records. Why?
The filter combination matched nothing. Loosen filters (for example remove ownershipTypes or widen states), and confirm state codes and CCNs. Zero-result runs are not charged.
How do I get the owners of each facility?
Keep includeOwnership on (the default). The actor attaches the full list of registered owners and managers with roles and start dates, plus a parsed primary owner.
How do I find the worst performers or a CMS watch list?
Set specialFocusOnly to keep only Special Focus Facilities and candidates, or set maxOverallRating to 1 or 2.
Why is primaryOwnerPercentage null?
CMS does not disclose an ownership percentage for every owner or role. Missing source values are returned as null, never invented.
Do the AI add-ons need a paid plan? Yes. The AI summary, quality summary, and risk add-ons require a paid Apify plan and are charged only when they return usable output.
Is this an official Medicare or CMS tool? No. This actor is independent and has no affiliation with CMS or Medicare. It reads only data that is publicly available through Medicare Care Compare.
Related scrapers
- US Hospitals Scraper: CMS hospital ratings, ownership, and quality.
- US Home Health Agencies Scraper: CMS home health agency quality and ratings.
- US Dialysis Facilities Scraper: CMS dialysis facility chain, rating, and quality.
- CMS Open Payments Scraper: industry payments to physicians and teaching hospitals.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with CMS or Medicare. Accesses only publicly available Medicare Care Compare data.
