US Nursing Homes Scraper - Owners, Ratings & Staffing avatar

US Nursing Homes Scraper - Owners, Ratings & Staffing

Pricing

from $12.75 / 1,000 results

Go to Apify Store
US Nursing Homes Scraper - Owners, Ratings & Staffing

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

US Nursing Homes Scraper - Owners, Ratings & Staffing

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

Apify Coverage Output Billing

Table of contents

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

FieldTypeRequiredDefaultDescription
statesstring[]no["TX"]Two-letter US state codes, for example CA, TX, NY. One run can scan several.
citiesstring[]no(any)Filter by city, for example HOUSTON, DALLAS.
zipCodesstring[]no(any)Filter by 5-digit ZIP code.
countiesstring[]no(any)Filter by county or parish name as spelled by CMS.
nameContainsstringno(empty)Keep only nursing homes whose name contains this text.
chainNameContainsstringno(empty)Keep only nursing homes whose chain or group name contains this text.
ownershipTypesstring[]no(any)Filter by ownership type. Use exact CMS labels, for example For profit - Limited Liability company.
minOverallRatingintegerno(any)Keep only facilities with an overall 5-star rating at or above this value (1-5).
maxOverallRatingintegerno(any)Keep only facilities with an overall 5-star rating at or below this value (1-5).
minBedsintegerno(any)Keep only facilities with at least this many certified beds.
maxBedsintegerno(any)Keep only facilities with at most this many certified beds.
changedOwnershipLast12MonthsbooleannofalseKeep only nursing homes that changed ownership in the last 12 months.
specialFocusOnlybooleannofalseKeep only Special Focus Facilities or candidates (a CMS watch list).
ccnNumbersstring[]no(any)Look up specific facilities by their CMS Certification Number (CCN).
includeOwnershipbooleannotrueWhen on, attach the full list of registered owners and managers with roles and start dates.
maxFacilitiesintegerno10Maximum number of nursing homes to collect. Free Apify plans are capped at 10.
withAiSummarybooleannofalsePaid AI add-on. Concise summary of the nursing home, ownership, and ratings. Charged only on usable AI output. Requires a paid Apify plan.
withAiQualitySummarybooleannofalsePaid 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.
withAiRiskbooleannofalsePaid 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.

FieldTypeDescription
ccnstringCMS Certification Number (unique per facility).
providerNamestringFacility name.
legalBusinessNamestringLegal business name.
providerTypestringProvider type, for example Medicare and Medicaid.
residesInHospitalbooleanLocated inside a hospital.
addressstringStreet address.
citystringCity.
statestringTwo-letter state code.
zipCodestringZIP code.
countystringCounty or parish.
urbanbooleanUrban location.
phonestringPhone number.
ownershipTypestringOwnership type.
ownershipChangedLast12MonthsbooleanChanged ownership in the last 12 months.
numberOfCertifiedBedsintegerCertified beds.
averageResidentsPerDaynumberAverage residents per day.
firstApprovedDatestringFirst approved for Medicare/Medicaid (YYYY-MM-DD).
continuingCareRetirementCommunitybooleanPart of a continuing care retirement community.
specialFocusStatusstringSpecial Focus Facility status, or null.
abuseIconbooleanCMS abuse icon flag.
overallRatingintegerOverall 5-star rating (1-5), or null.
healthInspectionRatingintegerHealth inspection rating (1-5).
qmRatingintegerQuality measure rating (1-5).
longStayQmRatingintegerLong-stay quality measure rating (1-5).
shortStayQmRatingintegerShort-stay quality measure rating (1-5).
staffingRatingintegerStaffing rating (1-5).
totalNurseStaffingHoursPerResidentDaynumberTotal nurse staffing hours per resident day.
rnStaffingHoursPerResidentDaynumberRN staffing hours per resident day.
lpnStaffingHoursPerResidentDaynumberLPN staffing hours per resident day.
nurseAideStaffingHoursPerResidentDaynumberNurse aide staffing hours per resident day.
rnHoursPerResidentWeekendnumberRN hours per resident day on weekends.
totalNursingStaffTurnovernumberTotal nursing staff turnover percent.
rnTurnovernumberRN turnover percent.
administratorsLeftintegerAdministrators who left.
numberOfFinesintegerNumber of fines.
totalFinesDollarsintegerTotal fines in USD.
numberOfPaymentDenialsintegerPayment denials.
totalPenaltiesintegerTotal penalties.
infectionControlCitationsintegerInfection control citations.
chainNamestringChain or group name, or null.
chainIdstringChain ID, or null.
numberOfFacilitiesInChainintegerFacilities in the chain, or null.
chainAverageOverallRatingnumberChain average overall rating, or null.
latitudenumberLatitude.
longitudenumberLongitude.
urlstringMedicare Care Compare profile URL.
ownersCountintegerNumber of owners and managers.
ownersstring[]Owners and managers (name, type, role, since date). Requires includeOwnership.
ownerNamesstringAll owner and manager names joined.
organizationOwnerNamesstringOrganization (company) owners joined.
primaryOwnerNamestringPrimary owner name.
primaryOwnerTypestringPrimary owner type (Individual or Organization).
primaryOwnerPercentagenumberPrimary owner ownership percent, or null when not disclosed.
primaryOwnerRolestringPrimary owner role.
aiSummarystringAI facility summary, or null unless the add-on is enabled.
aiQualitySummarystringAI quality summary, or null unless the add-on is enabled.
aiRiskstring[]AI quality red flags, empty array when none, or null unless enabled.
aiRiskLevelstringAI overall risk level (low, medium, high), or null.
sourcestringData source. Always CMS Nursing Homes.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringPresent 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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). See the pricing tab for the current per-result price.
  • Paid AI add-ons. ai_summary, ai_quality_summary, and ai_risk are 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 error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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.

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.