Nursing Home Report - CMS Quality & Safety Analysis
Nursing home report generator that delivers a comprehensive elder care facility intelligence report from a single facility name. Built for families, attorneys, regulators, and healthcare investors, it queries 9 independent data sources in parallel and applies 4 scoring algorithms to produce a composite risk verdict — from RECOMMENDED to HIGH_RISK — with actionable recommendations in under 90 seconds.
Maintenance Pulse
90/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| analysis-run | Full intelligence analysis run | $0.30 |
Example: 100 events = $30.00 · 1,000 events = $300.00
Documentation
Nursing home report generator that delivers a comprehensive elder care facility intelligence report from a single facility name. Built for families, attorneys, regulators, and healthcare investors, it queries 9 independent data sources in parallel and applies 4 scoring algorithms to produce a composite risk verdict — from RECOMMENDED to HIGH_RISK — with actionable recommendations in under 90 seconds.
The actor aggregates OSHA inspection records, CFPB consumer complaints, multi-platform review sentiment, corporate ownership structure, nonprofit IRS verification, Google Maps presence, and web contact data. Every data point feeds into a weighted risk formula: facility safety (30%), complaint severity (25%), ownership transparency (20%), and quality rating (25%). The result is a structured intelligence report you can download as JSON, CSV, or Excel.
What data can you extract?
| Data Point | Source | Example |
|---|---|---|
| 📊 Composite risk score | 4 scoring models | 38 / 100 (CAUTION) |
| ⚖️ OSHA violation count | OSHA Inspection Search | 8 total, 3 serious, 1 repeat |
| 💰 OSHA penalty total | OSHA Inspection Search | $32,500 in assessed penalties |
| 📋 CFPB complaint severity | CFPB Consumer Complaints | 2 high, 5 medium, 5 low |
| ⭐ Multi-platform average rating | Trustpilot + Multi-Review | 3.8 / 5 from 67 reviews |
| 📍 Google Maps rating | Google Maps Lead Enricher | 4.1 / 5 (142 reviews) |
| 🏢 Corporate entity count | OpenCorporates + Companies House | 4 entities found |
| 🔍 Nonprofit 501(c)(3) status | ProPublica IRS Form 990 | Not verified (for-profit) |
| 🌐 Jurisdictions in ownership chain | OpenCorporates | 2 jurisdictions |
| 📣 Risk signals list | All sources combined | 5 signals flagged |
| ✅ Actionable recommendations | Scoring engine | 3 recommendations |
| 🗃️ Data source record counts | All 9 sub-actors | Per-source summary |
Why use Nursing Home Report?
Choosing the right elder care facility is one of the most consequential decisions a family makes. Manual research means hours spent reading through state inspection databases, piecing together Yelp and Google reviews, searching corporate registries, and hoping you haven't missed a critical violation. Attorneys and regulators face the same problem at volume. A thorough background check on a single facility can take a full day without the right tools.
This actor automates the entire research process — querying 9 authoritative data sources simultaneously, normalizing the outputs, and applying quantitative scoring to produce a structured report in under 2 minutes.
- Scheduling — run weekly or monthly to monitor a facility over time and detect emerging risk trends
- API access — trigger reports from Python, JavaScript, or any HTTP client to integrate into existing workflows
- Proxy rotation — sub-actors execute with Apify's built-in proxy infrastructure for reliable data retrieval
- Monitoring — get Slack or email alerts when runs fail or produce HIGH_RISK verdicts
- Integrations — connect to Zapier, Make, Google Sheets, HubSpot, or webhooks to automate family notification or case management workflows
Features
- 9 parallel data source queries — OSHA inspections, CFPB complaints, Trustpilot, multi-platform reviews, OpenCorporates, UK Companies House, ProPublica nonprofit data, Google Maps, and website contact scraping all run simultaneously, completing in under 90 seconds
- OSHA violation severity scoring — willful violations score 15 points each, repeat violations 10 points, serious violations 5 points, and general violations 2 points, capped at 50 within the safety sub-score
- Violation density calculation — total violations normalized against inspection count to distinguish patterns from isolated incidents
- Penalty dollar analysis — tracks cumulative OSHA penalty amounts with tiered scoring: $5,000+, $25,000+, $100,000+
- Violation recency weighting — violations within 12 months score 3 additional points each; violations within 24 months score 1 point, rewarding facilities that have addressed historical issues
- CFPB complaint severity classification — responses classified as "closed without relief" or "untimely" are flagged as high-severity (8 points each); "closed with explanation" as medium (3 points); others as low (1 point)
- Cross-platform complaint correlation — when CFPB high-severity complaints co-occur with negative reviews across platforms, a systemic issue flag is raised (+10 pattern score)
- Nonprofit 501(c)(3) verification — queries ProPublica's Nonprofit Explorer (IRS Form 990 data) to confirm tax-exempt status and surface revenue figures for large organizations
- Corporate structure complexity analysis — counts jurisdictions, dissolved entities, shell company indicators (LLPs, trusts, holding companies), and zero-filing entities to score ownership opacity
- Multi-platform review aggregation — combines Trustpilot scores, multi-platform review ratings, and Google Maps ratings with cross-platform consistency scoring (gap under 0.5 stars = consistent)
- Physical presence verification — Google Maps presence confirms the facility has a verifiable local listing with contact details
- Composite weighted verdict — facility safety (30%) + complaint severity (25%) + ownership transparency (20%) + inverted quality score (25%) = composite risk score with 5-tier verdict: RECOMMENDED, ACCEPTABLE, CAUTION, AVOID, HIGH_RISK
- Actionable recommendation generation — specific recommendations triggered by risk thresholds, such as requesting beneficial ownership disclosure or scheduling independent safety inspections
Use cases for nursing home reports
Family due diligence before placement
Families placing a parent or spouse in a nursing home or assisted living facility face critical care decisions with incomplete information. Run a nursing home report before signing any admission agreement to surface OSHA safety violations, unresolved consumer complaints, and ownership structures that may signal financial instability or care quality issues. A 90-second report replaces hours of manual database searching across state inspection portals and review sites.
Elder care attorney investigation
Attorneys representing clients in neglect, abuse, or wrongful death cases need rapid facility background research to identify patterns of non-compliance before filing. The OSHA violation timeline (recency weighting, willful vs. repeat classification), CFPB complaint severity breakdown, and corporate ownership structure provide a factual foundation for discovery requests and deposition preparation.
State regulator risk-based inspection targeting
Long-term care regulators and ombudsmen managing large facility portfolios cannot inspect every facility equally. Use composite risk scores and violation density metrics to prioritize inspection schedules, focusing resources on facilities scoring POOR or CRITICAL on the safety dimension or TOXIC on the complaint severity scale.
Healthcare investor acquisition screening
Private equity and healthcare investment firms evaluating nursing home acquisition targets need operational risk data alongside financial metrics. The ownership transparency score surfaces complex multi-jurisdiction structures, dissolved predecessor entities, and shell company indicators that may signal hidden liabilities. Combined with the complaint severity and quality rating scores, it provides a rapid pre-LOI screening layer.
Healthcare compliance monitoring
Hospital discharge planning teams recommending post-acute care facilities to patients benefit from up-to-date risk profiles. Schedule weekly reports on a panel of referral partners to detect deteriorating safety records, emerging complaint patterns, or ownership changes that could affect patient outcomes.
Insurance underwriting and claims investigation
Long-term care insurers and specialty liability underwriters can use facility risk scores to tier premiums, flag high-risk accounts, and investigate claims involving facilities with documented OSHA violations or CFPB complaint patterns.
How to generate a nursing home report
- Enter the facility name — Type the full or partial name of the nursing home, assisted living community, or elder care provider (e.g., "Brookdale Senior Living" or "Sunrise at Pinehurst"). The more specific the name, the more targeted the results.
- Add location context — Optionally enter a city (e.g., "Arlington") and state (e.g., "VA") to narrow OSHA inspection lookups, Google Maps results, and review data to the correct geographic location.
- Click Start and wait — The actor calls all 9 data sources in parallel. Most runs complete in 60–90 seconds.
- Download your report — Open the Dataset tab, then export as JSON for programmatic use, CSV for spreadsheet analysis, or Excel for sharing with clients and stakeholders.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
facilityName | string | Yes | "Sunrise Senior Living" | Full or partial name of the nursing home, assisted living facility, or elder care provider to investigate |
location | string | No | null | City or region to narrow OSHA, review, and Maps results (e.g., "Arlington", "Chicago North") |
state | string | No | null | US state abbreviation or full name to further narrow results (e.g., "VA", "California", "TX") |
Input examples
Standard facility lookup with location:
{
"facilityName": "Brookdale Senior Living",
"location": "Denver",
"state": "CO"
}
National chain — name only:
{
"facilityName": "Kindred Healthcare",
"state": "TX"
}
Minimal input — facility name only:
{
"facilityName": "Maple Grove Nursing Center"
}
Input tips
- Include the state for common facility names — Names like "Sunrise Senior Living" or "Brookdale" exist in many states. Adding the state ensures OSHA and review results match the correct facility.
- Use the legal entity name for ownership research — If you know the operator's legal name differs from the branded facility name, try both to maximize corporate record matches.
- Run one facility at a time — Each run produces one report. To compare multiple facilities, run the actor once per facility and compare composite scores in the Dataset view.
Output example
{
"facility": "Maplewood Care Center",
"compositeScore": 38,
"verdict": "CAUTION",
"facilitySafety": {
"score": 42,
"oshaViolations": 8,
"seriousViolations": 3,
"repeatViolations": 1,
"riskLevel": "FAIR",
"signals": [
"1 repeat violations — pattern of non-compliance",
"3 serious violations — significant safety concerns",
"$32,500 in OSHA penalties"
]
},
"complaintSeverity": {
"score": 35,
"totalComplaints": 14,
"severityBreakdown": {
"high": 2,
"medium": 5,
"low": 7
},
"reputationLevel": "MIXED",
"signals": [
"Average rating 3.2/5 — poor resident/family satisfaction",
"7 negative reviews — reputation concern"
]
},
"ownershipTransparency": {
"score": 22,
"entitiesFound": 4,
"nonprofitStatus": false,
"corporateComplexity": 18,
"transparencyLevel": "ADEQUATE",
"signals": [
"2 holding/management entities — potential layered ownership"
]
},
"qualityRating": {
"score": 55,
"avgRating": 3.8,
"reviewCount": 67,
"hasPhysicalPresence": true,
"qualityLevel": "AVERAGE",
"signals": [
"Google Maps 4.1/5 with 142 reviews — strong local reputation"
]
},
"allSignals": [
"1 repeat violations — pattern of non-compliance",
"3 serious violations — significant safety concerns",
"$32,500 in OSHA penalties",
"Average rating 3.2/5 — poor resident/family satisfaction",
"7 negative reviews — reputation concern",
"2 holding/management entities — potential layered ownership",
"Google Maps 4.1/5 with 142 reviews — strong local reputation"
],
"recommendations": [
"Repeat violations indicate systemic safety management failure",
"For-profit facility — verify pricing transparency and care-to-revenue ratios"
],
"meta": {
"location": "Springfield",
"state": "IL",
"query": "Maplewood Care Center Springfield IL",
"generatedAt": "2026-03-20T14:22:11.000Z",
"actorsSummary": {
"osha-inspection-search": 8,
"cfpb-consumer-complaints": 14,
"multi-review-analyzer": 34,
"trustpilot-review-analyzer": 12,
"opencorporates-search": 4,
"uk-companies-house": 0,
"propublica-nonprofit-search": 0,
"google-maps-lead-enricher": 1,
"website-contact-scraper": 1
}
}
}
Output fields
| Field | Type | Description |
|---|---|---|
facility | string | Facility name as provided in input |
compositeScore | number | Weighted composite risk score 0–100 (higher = more risk) |
verdict | string | Risk classification: RECOMMENDED, ACCEPTABLE, CAUTION, AVOID, HIGH_RISK |
facilitySafety.score | number | OSHA safety risk sub-score 0–100 |
facilitySafety.oshaViolations | number | Total OSHA violations found |
facilitySafety.seriousViolations | number | Violations classified as "serious" |
facilitySafety.repeatViolations | number | Violations classified as "repeat" |
facilitySafety.riskLevel | string | EXCELLENT, GOOD, FAIR, POOR, or CRITICAL |
facilitySafety.signals | string[] | Human-readable risk signals from OSHA data |
complaintSeverity.score | number | Consumer complaint risk sub-score 0–100 |
complaintSeverity.totalComplaints | number | Total complaints across CFPB and review platforms |
complaintSeverity.severityBreakdown | object | Counts of high, medium, and low severity complaints |
complaintSeverity.reputationLevel | string | EXCELLENT, GOOD, MIXED, POOR, or TOXIC |
complaintSeverity.signals | string[] | Risk signals from complaint and review analysis |
ownershipTransparency.score | number | Ownership opacity risk sub-score 0–100 |
ownershipTransparency.entitiesFound | number | Corporate entities identified |
ownershipTransparency.nonprofitStatus | boolean | True if verified 501(c)(3) via ProPublica |
ownershipTransparency.corporateComplexity | number | Raw complexity score before capping |
ownershipTransparency.transparencyLevel | string | TRANSPARENT, ADEQUATE, OPAQUE, CONCERNING, or HIDDEN |
ownershipTransparency.signals | string[] | Ownership risk signals |
qualityRating.score | number | Quality rating score 0–100 (higher = better quality) |
qualityRating.avgRating | number | Average rating across review platforms (0–5 scale) |
qualityRating.reviewCount | number | Total reviews aggregated across all platforms |
qualityRating.hasPhysicalPresence | boolean | True if facility found on Google Maps |
qualityRating.qualityLevel | string | POOR, BELOW_AVERAGE, AVERAGE, GOOD, or EXCELLENT |
qualityRating.signals | string[] | Quality signals from review data |
allSignals | string[] | Consolidated list of all risk and quality signals |
recommendations | string[] | Actionable recommendations based on risk thresholds |
meta.location | string | Location input value, or null |
meta.state | string | State input value, or null |
meta.query | string | Full query string sent to sub-actors |
meta.generatedAt | string | ISO 8601 timestamp of report generation |
meta.actorsSummary | object | Record count from each of the 9 sub-actors |
How much does it cost to run a nursing home report?
Nursing Home Report uses pay-per-result pricing — you pay approximately $0.20 per facility report. Platform compute costs are included.
| Scenario | Facilities | Cost per report | Total cost |
|---|---|---|---|
| Quick test | 1 | $0.20 | $0.20 |
| Small batch | 5 | $0.20 | $1.00 |
| Medium batch | 25 | $0.20 | $5.00 |
| Large batch | 100 | $0.20 | $20.00 |
| Enterprise | 500 | $0.20 | $100.00 |
You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached.
Apify's free tier includes $5 of monthly platform credits — enough for approximately 25 facility reports at no charge. Compare this to specialist elder care research services charging $50–200 per facility report, or attorney-hour rates for manual database research. Most users conducting facility due diligence spend $1–10 per month.
Nursing home report using the API
Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("ryanclinton/nursing-home-report").call(run_input={
"facilityName": "Maplewood Care Center",
"location": "Springfield",
"state": "IL"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"Facility: {item['facility']}")
print(f"Verdict: {item['verdict']} (score: {item['compositeScore']})")
print(f"Safety risk: {item['facilitySafety']['riskLevel']}")
print(f"OSHA violations: {item['facilitySafety']['oshaViolations']}")
print(f"Reputation: {item['complaintSeverity']['reputationLevel']}")
print(f"Signals: {item['allSignals']}")
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("ryanclinton/nursing-home-report").call({
facilityName: "Maplewood Care Center",
location: "Springfield",
state: "IL"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
console.log(`Facility: ${item.facility}`);
console.log(`Verdict: ${item.verdict} (score: ${item.compositeScore})`);
console.log(`Safety: ${item.facilitySafety.riskLevel} — ${item.facilitySafety.oshaViolations} OSHA violations`);
console.log(`Quality: ${item.qualityRating.qualityLevel} — avg rating ${item.qualityRating.avgRating}/5`);
console.log(`Recommendations:`, item.recommendations);
}
cURL
# Start the actor run
curl -X POST "https://api.apify.com/v2/acts/ryanclinton~nursing-home-report/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"facilityName": "Maplewood Care Center",
"location": "Springfield",
"state": "IL"
}'
# Fetch results (replace DATASET_ID from the run response above)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"
How Nursing Home Report works
Phase 1 — Parallel data collection (9 sources)
The actor builds a composite query string from the facilityName, location, and state inputs, then calls 9 sub-actors concurrently via Promise.all. Each sub-actor runs with 512 MB memory and a 120-second timeout. Results are collected from each sub-actor's default dataset (up to 1,000 items per source). If a sub-actor fails, that source returns an empty array and scoring continues with available data — the report always produces an output.
The 9 sources are: OSHA Inspection Search (workplace safety violations and penalty records), CFPB Consumer Complaints (financial and billing complaints), Multi-Review Analyzer (aggregated review platforms), Trustpilot Review Analyzer (Trustpilot-specific ratings and sentiment), OpenCorporates Search (corporate registry records), UK Companies House (UK entity records for international operators), ProPublica Nonprofit Explorer (IRS Form 990 filings), Google Maps Lead Enricher (physical presence, ratings, and review counts), and Website Contact Scraper (web presence and contact verification).
Phase 2 — Four-model scoring
Each scoring function receives the full data map keyed by source name and computes a 0–100 sub-score:
Facility Safety — OSHA data drives four additive components: violation type scoring (willful ×15, repeat ×10, serious ×5, general ×2, capped at 50), violation density per unique inspection number (violations/inspections × 8, capped at 25), penalty dollar tier ($5K+ = 5pts, $25K+ = 10pts, $100K+ = 15pts), and recency weighting (violations within 12 months +3 pts each, within 24 months +1 pt each, capped at 10). Risk levels: EXCELLENT (<20), GOOD (20–39), FAIR (40–59), POOR (60–79), CRITICAL (80+).
Complaint Severity — CFPB records are classified by company response string matching: responses containing "closed without" or "untimely" = high-severity (8 pts each, capped at 35); "closed with explanation" = medium (3 pts each); others = low (1 pt). Review data from both multi-platform and Trustpilot sources drives a parallel sentiment score based on average rating deviation from 5.0, amplified by negative review counts. Volume (total complaints ≥5/10/20) and cross-platform correlation (high CFPB + negative reviews co-occurring) add up to 30 additional points.
Ownership Transparency — Not being a verified nonprofit adds 15 base risk points. Corporate structure complexity is scored from jurisdiction count (×3), dissolved entities (×5), and holding/management/LLP/trust entity types (×4), capped at 35. Absence of web presence or contact records adds up to 25 points. The combination of for-profit status, zero corporate records, and no web presence triggers maximum opacity.
Quality Rating — Inverted from risk: review scores aggregate from multi-platform and Trustpilot data (avgRating × 8, capped at 40), Google Maps rating and review volume add up to 25 points, total review count across all platforms adds up to 20 points, and cross-platform rating consistency (gap <0.5 stars = 15 pts, gap <1.0 = 10 pts) adds up to 15 points. This score is inverted in the composite formula.
Phase 3 — Composite scoring and output assembly
The composite risk score = facilitySafety.score × 0.30 + complaintSeverity.score × 0.25 + ownershipTransparency.score × 0.20 + (100 - qualityRating.score) × 0.25. Verdicts: RECOMMENDED (<20), ACCEPTABLE (20–39), CAUTION (40–59), AVOID (60–79), HIGH_RISK (80+). Signals from all four models are merged into a single allSignals array. Threshold-based recommendations are generated: critical OSHA risk triggers a safety inspection recommendation; TOXIC/POOR reputation triggers a resident rights review; HIDDEN/CONCERNING ownership triggers a beneficial ownership disclosure request; repeat violations trigger a systemic management failure flag; for-profit status triggers a care-to-revenue ratio verification recommendation.
Tips for best results
- Include state for common chain names. National chains like Sunrise Senior Living, Brookdale, or Kindred have hundreds of locations. Adding the state narrows OSHA inspections and review results to the correct geographic match.
- Try both the brand name and legal entity name. The facility's branded name may differ from the operating entity registered with OSHA or state corporate registries. Running the report with both names improves corporate record coverage.
- Interpret zero sub-actor results carefully. If
actorsSummaryshows 0 results for OSHA, it may mean the facility has a clean record — or that the name didn't match. A location input typically resolves ambiguous matches. - Compare composite scores across shortlisted facilities. The verdict scale (RECOMMENDED through HIGH_RISK) and sub-scores are calibrated to allow direct comparison. A family evaluating three facilities can sort by
compositeScoreto prioritize deeper research. - Schedule recurring reports for monitoring. For facilities where a family member is already a resident, schedule weekly or monthly runs to detect new OSHA violations, emerging complaint patterns, or ownership changes before they become crises.
- Cross-reference with CMS Nursing Home Compare. This actor's OSHA and complaint data is independent from CMS star ratings. The two sources are complementary — a facility can have a 5-star CMS rating and still have OSHA safety violations or unresolved consumer complaints.
- Export to Google Sheets for multi-facility comparison. Connect the actor to Google Sheets via Apify integration to maintain a running comparison table across all facilities under review.
Combine with other Apify actors
| Actor | How to combine |
|---|---|
| Website Contact Scraper | Pull administrator and admissions contact details from the facility's website to follow up on findings from the report |
| Trustpilot Review Analyzer | Run a deeper Trustpilot analysis on facilities that score POOR or TOXIC on complaint severity for full review text and sentiment breakdown |
| Multi-Review Analyzer | Extract complete review text and reviewer metadata from Google, Yelp, and Facebook for facilities flagged as CAUTION or worse |
| Company Deep Research | Run comprehensive corporate intelligence on the ownership entity when ownership transparency scores CONCERNING or HIDDEN |
| Google Maps Lead Enricher | Enrich physical location data, verify operating hours, and confirm contact details for facilities lacking web presence |
| Waterfall Contact Enrichment | Enrich executive and administrator contacts from corporate ownership records through a 10-step enrichment cascade |
| B2B Lead Qualifier | Score and rank a portfolio of facilities as acquisition or referral targets based on operational and reputational signals |
Limitations
- Does not query CMS Nursing Home Compare directly. Medicare star ratings, staffing data, and health inspection citations from CMS are not included. The actor provides independent cross-source intelligence that complements rather than replaces CMS data.
- OSHA data covers workplace safety, not resident care citations. OSHA records reflect employee-facing violations (worker safety, sanitation, equipment). State Department of Health survey deficiencies affecting resident care are a separate data source not included in this actor.
- Facility name matching is text-based, not licensed-ID-based. Results depend on sub-actors matching the exact facility name provided. Common names, spelling variations, or recently rebranded facilities may return incomplete data. Adding location and state significantly improves match accuracy.
- International coverage is limited. The actor is optimized for US-based facilities. OpenCorporates provides some international coverage and UK Companies House is queried, but non-US elder care regulation databases are not included.
- Historical data depth varies by source. CFPB complaint records are available from 2011 onwards; OSHA inspection records vary by reporting completeness. Newer facilities or those with recent name changes may have limited histories.
- Review data reflects public sentiment, not inspections. Review scores are influenced by family experiences, not clinical assessments. Facilities with excellent clinical records can score poorly on reviews due to billing disputes or isolated staff interactions.
- No real-time data. All sources are queried at run time. Data reflects what is publicly available in source databases at the moment of the run, not a continuously updated live feed. For ongoing monitoring, schedule recurring runs.
- Corporate records may not reflect current ownership. OpenCorporates and Companies House data has varying update latency. Recent ownership changes (private equity acquisitions, management company changes) may not yet appear in registry records.
Integrations
- Zapier — Trigger a nursing home report automatically when a new facility name is added to a spreadsheet, CRM, or intake form, and route HIGH_RISK verdicts to a Slack channel or email notification
- Make — Build multi-step automations that run reports on shortlisted facilities, filter by verdict threshold, and push results to Google Sheets, Airtable, or a case management system
- Google Sheets — Export facility reports directly to a comparison spreadsheet, enabling families or case managers to sort and filter by composite score, OSHA violation count, or reputation level
- Apify API — Integrate facility screening into admission workflows, legal intake systems, or healthcare compliance platforms using the REST API with JSON output
- Webhooks — Post report results to any endpoint on run completion, enabling real-time integration with case management, EHR, or compliance monitoring systems
- LangChain / LlamaIndex — Feed structured facility intelligence reports into RAG pipelines or AI assistants for natural-language elder care research and summarization workflows
Troubleshooting
- All sub-actor result counts show 0 in actorsSummary — This usually means the facility name is too generic or doesn't match any records. Try adding the city and state to narrow the query. Very new facilities (opened in the last 12 months) may have limited public records across all sources.
- Report returns RECOMMENDED but I know the facility has violations — OSHA inspection records are indexed by the legal employer name, not the branded facility name. If the facility operates under a parent company or management entity name, rerun the report using that legal name instead. Combine with Company Deep Research to find the correct operating entity.
- Run takes longer than 90 seconds — If several sub-actors are slow to respond (high-traffic periods or rate-limited source APIs), total run time can reach 2–3 minutes. The actor waits for all 9 sub-actors via
Promise.allbefore scoring. Increasing the actor's memory allocation to 512 MB typically has no effect on sub-actor speed, but ensures sufficient headroom for scoring. - Complaint severity score is high despite few CFPB results — The complaint severity model also incorporates review platform sentiment. A high score may reflect consistently low ratings on Trustpilot or multi-platform review sites rather than formal CFPB complaints. Check
complaintSeverity.signalsfor the specific contributing factors. - Ownership transparency shows HIDDEN for a well-known nonprofit — Ensure the facility name matches its IRS-registered entity name exactly. Large nonprofit chains often operate under different legal entity names than their branded facility names. Adding the full organization name to the search typically resolves this.
Responsible use
- This actor only accesses publicly available regulatory records, consumer complaint databases, corporate registry filings, and published review data.
- Respect the terms of service of source data providers including CFPB, OSHA, ProPublica, and OpenCorporates.
- Comply with HIPAA, GDPR, and applicable data protection laws when using facility data in healthcare workflows or legal proceedings.
- Do not use extracted data to harass facility staff, residents, or families, or for any purpose that violates privacy rights.
- For guidance on web scraping legality, see Apify's guide.
FAQ
How accurate is the nursing home report composite score? The composite score is a data-driven synthesis of publicly available records, not a clinical assessment. Accuracy depends on record availability in OSHA, CFPB, and review databases. Facilities with incomplete public records may receive lower confidence scores. Always cross-reference findings with CMS Nursing Home Compare, state health department citations, and direct facility visits for high-stakes placement decisions.
How many nursing home reports can I run in one session? You can run as many as your Apify credit balance supports. Each report costs approximately $0.20. The free tier includes $5 of credits per month, supporting roughly 25 facility reports. There is no per-session limit — you can run reports sequentially or automate batch runs via the API.
Does the nursing home report include CMS star ratings? No. CMS Nursing Home Compare star ratings, staffing scores, and health inspection deficiencies are not queried. The actor provides independent intelligence from OSHA, CFPB, corporate registries, and review platforms — a complementary data layer that captures information CMS ratings do not cover, such as financial complaint patterns and ownership opacity.
What types of OSHA violations are most serious in a nursing home context? Willful violations (the employer knowingly committed the violation) and repeat violations (the same violation cited in a prior inspection) are the most significant. These indicate systemic failures rather than isolated incidents and carry the highest penalty multiples. The scoring model weights willful violations at 15 points each versus 2 points for general violations, reflecting this severity difference.
Can I use nursing home reports to compare multiple facilities?
Yes. Run the actor once per facility and compare compositeScore values directly. The five-tier verdict (RECOMMENDED, ACCEPTABLE, CAUTION, AVOID, HIGH_RISK) allows quick shortlisting. Export all reports to Google Sheets via the integration to sort and filter across all quality and risk dimensions simultaneously.
How is nonprofit status verified in the nursing home report?
The actor queries ProPublica's Nonprofit Explorer, which indexes IRS Form 990 filings for all 501(c)(3) organizations. A facility is marked nonprofitStatus: true when a matching record with an EIN or organization name is found. Verified nonprofits also surface revenue figures when available, which provides transparency into the organization's financial scale.
How long does a typical nursing home report run take?
Most runs complete in 60–90 seconds. The 9 sub-actors execute in parallel via Promise.all, so total run time is determined by the slowest sub-actor rather than the sum of all sub-actor times. Run time can extend to 2–3 minutes during peak load periods on external data sources.
Is it legal to generate a nursing home report using public records? Yes. All data sources queried — OSHA inspection records, CFPB consumer complaints, corporate registry filings, IRS Form 990 data via ProPublica, and publicly published reviews — are publicly available records. Generating reports for due diligence, legal research, or regulatory purposes is consistent with fair use of public information. See Apify's web scraping legality guide for a detailed overview.
How is this different from just searching Google for nursing home reviews? Google searches return unstructured, unverified information without scoring or synthesis. This actor queries 9 authoritative regulatory and data sources simultaneously, applies consistent quantitative scoring, detects cross-source patterns (e.g., CFPB complaints correlating with negative reviews), and verifies corporate ownership and nonprofit status — producing a structured, comparable report in 90 seconds rather than hours of manual research.
What does the CAUTION verdict mean in a nursing home report? CAUTION (composite score 40–59) means the facility has identifiable risk signals that warrant closer scrutiny before proceeding. Typical CAUTION scenarios include a moderate number of serious OSHA violations without repeat offenses, mixed review sentiment, or a for-profit ownership structure with limited corporate transparency. A CAUTION verdict is not a disqualifier — it is a flag to investigate specific signals further before making a placement or investment decision.
Can I schedule nursing home reports to run automatically? Yes. Use Apify's built-in scheduler to run reports on a daily, weekly, or monthly basis for any set of facilities. Pair scheduling with webhooks to receive automated alerts when a previously ACCEPTABLE facility moves to CAUTION or worse, enabling proactive monitoring without manual re-checking.
What happens if a sub-actor fails during the run?
The actor handles sub-actor failures gracefully — each failed call returns an empty array and the report continues with the remaining data sources. The meta.actorsSummary field shows exactly how many records each sub-actor returned, making it easy to identify which sources had issues. Rerunning the report typically resolves transient failures.
Help us improve
If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:
- Go to Account Settings > Privacy
- Enable Share runs with public Actor creators
This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.
Support
Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.
How it works
Configure
Set your parameters in the Apify Console or pass them via API.
Run
Click Start, trigger via API, webhook, or set up a schedule.
Get results
Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.
Use cases
Sales Teams
Build targeted lead lists with verified contact data.
Marketing
Research competitors and identify outreach opportunities.
Data Teams
Automate data collection pipelines with scheduled runs.
Developers
Integrate via REST API or use as an MCP tool in AI workflows.
Related actors
Bulk Email Verifier
Verify email deliverability at scale. MX record validation, SMTP mailbox checks, disposable and role-based detection, catch-all flagging, and confidence scoring. No external API costs.
GitHub Repository Search
Search GitHub repositories by keyword, language, topic, stars, forks. Sort by stars, forks, or recently updated. Returns metadata, topics, license, owner info, URLs. Free API, optional token for higher limits.
Website Content to Markdown
Convert any website to clean Markdown for RAG pipelines, LLM training, and AI apps. Crawls pages, strips boilerplate, preserves headings, tables, and code blocks. GFM support.
Website Tech Stack Detector
Detect 100+ web technologies on any website. Identifies CMS, frameworks, analytics, marketing tools, chat widgets, CDNs, payment systems, hosting, and more. Batch-analyze multiple sites with version detection and confidence scoring.
Ready to try Nursing Home Report - CMS Quality & Safety Analysis?
Start for free on Apify. No credit card required.
Open on Apify Store