# A Place for Mom Scraper \[$0.95/1K💰] | Senior Living (`ahmed_jasarevic/aplaceformom-scraper`) Actor

Scrape A Place for Mom senior-living communities with care types, pricing, room types, amenities, ratings, reviews, availability and licensing. $0.95 per 1,000 communities.

- **URL**: https://apify.com/ahmed_jasarevic/aplaceformom-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## A Place for Mom Scraper – Senior Living Communities & Pricing Data

Scrape **A Place for Mom** senior-living communities by city, ZIP, state or care type. Get operator and brand, address, phone, care types, starting prices, room types, amenities, ratings, reviews, photos, availability and licensing notes. **$0.95 per 1,000 communities.**

### Map Senior-Living Supply, Pricing And Care Types

A Place for Mom lists thousands of senior-living communities across the US. This Actor turns public community pages into structured records for operators, advisors, investors and researchers.

- **Market mapping** — count communities and care types by city or ZIP.
- **Pricing research** — compare starting rates and room-type pricing.
- **Competitive analysis** — track amenities, ratings and availability.
- **Senior-living lead research** — build operator and community lists for outreach.

### How It Works

![How the A Place for Mom Scraper works: from a local senior-living search to structured community records.](https://api.apify.com/v2/key-value-stores/oeuA0kLOyhbRM4fzt/records/how-it-works-aplaceformom-scraper.webp)

The Actor searches public A Place for Mom communities for each location you provide, then optionally opens each community for detail data. Every community becomes one row with pricing, care types, reviews and availability.

- Search by city, `City, ST`, ZIP or state.
- Add direct community URLs or IDs when you already know the property.
- Detail enrichment adds reviews, fees, floor plans and provider stats.

### Scrape Communities By City, ZIP Or Care Type

Provide one or more locations and optionally restrict the care type:

- Assisted living
- Independent living
- Memory care
- Nursing home
- Senior apartments
- Home care
- Care homes

Use `maxCommunitiesPerLocation` to control depth. The Actor caps each run at 500 communities.

### Pricing, Reviews, Availability And Licensing

Each record includes the community name, operator, brand, address, phone and website. Pricing covers starting-at rates, room-type ranges, available units and published fees. Reviews include recent ratings and sub-ratings when available.

- Care types and normalized care flags
- Room types, amenities and key amenities
- Overall rating, review count and top review
- Photos and floor-plan count
- Availability, capacity and opening dates
- State license number, expiration and Medicare provider number

### Input – Configure A Senior-Living Search

| Field | Type | Default | Notes |
|---|---|---|---|
| `locations` | array | `["Austin, TX"]` | Cities, `City, ST`, ZIP codes or state names; direct community URLs also work |
| `communityUrls` | array | — | Direct community detail URLs or numeric community IDs |
| `careType` | string | `any` | `any`, `assistedLiving`, `independentLiving`, `memoryCare`, `nursingHome`, `seniorApartments`, `homeCare` or `careHomes` |
| `maxCommunitiesPerLocation` | integer | `50` | 1–500 communities per location |
| `includeDetails` | boolean | `true` | Adds reviews, fees, availability, floor plans and provider stats |
| `maxReviewsPerCommunity` | integer | `5` | 1–300 recent reviews per community |
| `maxConcurrency` | integer | `3` | Advanced performance setting, 1–10 |
| `proxy` | object | Apify Proxy off | Standard Apify proxy configuration |

### Output – Community Fields

Each dataset item contains:

- `communityId`, `name`, `url`
- `operator`, `brand`, `provider`
- `address`, `fullAddress`, `phone`, `website`, `location`
- `careTypes`, `careTypeFlags`
- `pricing`, `roomTypes`
- `amenities`, `keyAmenities`
- `ratings`, `reviews`
- `photos`, `photoCount`, `floorPlanCount`
- `availability`
- `licensing`
- `descriptions`
- `scrapedAt`, `searchKeyword`

### Example Input – Assisted Living In Austin

```json
{
  "locations": ["Austin, TX", "78701"],
  "careType": "assistedLiving",
  "maxCommunitiesPerLocation": 50,
  "includeDetails": true,
  "maxReviewsPerCommunity": 5
}
```

### Example Output – One Community

```json
{
  "communityId": "austin-texas-assisted-living",
  "name": "Brookdale Austin",
  "url": "https://www.aplaceformom.com/community/brookdale-austin",
  "operator": "Brookdale",
  "brand": "Brookdale",
  "fullAddress": "Austin, TX 78731",
  "phone": "(512) 555-0142",
  "careTypes": ["Assisted Living", "Memory Care"],
  "pricing": {
    "currency": "USD",
    "startingAt": 4200,
    "priceMax": 6800,
    "availableUnits": 6,
    "totalUnits": 92
  },
  "roomTypes": ["Studio", "1 Bedroom", "2 Bedrooms"],
  "amenities": ["Fitness Center", "Garden", "Transportation"],
  "ratings": { "overall": 8.6, "reviewCount": 64 },
  "reviews": [
    { "title": "Caring staff", "rating": 5, "date": "2026-09-18" }
  ],
  "availability": { "available": true, "freeUnits": 6 },
  "licensing": { "licenseNumber": "TX-12345", "expirationDate": "2027-04-30" },
  "scrapedAt": "2026-10-30T09:30:00.000Z"
}
```

### Export Senior-Living Data To JSON, CSV Or Excel And Schedule Runs

Download results as JSON, CSV, Excel or XML from the run page or through the Apify API. Schedule monthly runs to track new communities, price changes and availability.

### Related Actors

- [Caring.com Scraper](https://apify.com/ahmed_jasarevic/caring-com-scraper) — senior-care reviews and community profiles
- [Psychology Today Scraper](https://apify.com/ahmed_jasarevic/psychologytoday-scraper) — therapist and provider listings
- [Google Maps Scraper](https://apify.com/apify/google-maps-scraper) — verify community locations and nearby demand
- [Zillow Scraper](https://apify.com/ahmed_jasarevic/zillow-scraper) — local housing-market context

### FAQ

#### What is A Place for Mom?

A Place for Mom is a senior-living referral and directory service. Its public community pages list care types, amenities, pricing guidance, reviews and availability.

#### Do I need an account?

No. The Actor reads public community information and does not require an A Place for Mom account or login.

#### Why is starting price missing?

Some communities do not publish rates. In that case `pricing.startingAt` stays `null`; room-type ranges may still be available.

#### Are reviews complete?

The Actor returns the most recent reviews up to `maxReviewsPerCommunity`. `ratings.reviewCount` gives the total number of reviews shown on the community page.

#### Can I scrape a specific community?

Yes. Add its A Place for Mom URL to `locations` or `communityUrls`, or use its numeric community ID.

#### How many communities can I get?

Up to **500** per run. Free Apify users get a 10-community preview.

### For AI Agents & LLM Apps

Returns one row per senior-living community with care types, pricing, amenities, reviews and availability.

Minimal working input:

```json
{ "locations": ["Austin, TX"], "careType": "assistedLiving", "maxCommunitiesPerLocation": 10 }
```

Output fields: `communityId, name, url, operator, brand, fullAddress, phone, website, careTypes, pricing, roomTypes, amenities, ratings, reviews, photos, availability, licensing, scrapedAt`.

Behaviors an agent should know:

- `locations` accepts city names, `City, ST`, ZIP codes, states or community URLs.
- `maxCommunitiesPerLocation` is capped at **500**.
- `includeDetails: false` gives a cheaper list-level run without reviews, fees or floor plans.
- `maxReviewsPerCommunity` is capped at **300**.
- Missing pricing, availability or licensing fields stay `null`.
- Free users are capped at **10** communities.

Billing: **$0.00095 per saved community** on FREE/BRONZE/SILVER ($0.95 per 1,000) and **$0.0009** on GOLD+ ($0.90 per 1,000), plus a small actor-start event.

### Legal & Compliance Disclaimer

This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by A Place for Mom.

It collects publicly available community information — no login and no private account. Pricing, availability and licensing data are published by the community and may change. Users are responsible for complying with A Place for Mom's terms and applicable law. Nothing here is legal, medical or financial advice.

### SEO Keywords

a place for mom scraper, senior living data, assisted living listings, memory care communities, senior housing data, aplaceformom scraper, senior living pricing, assisted living prices, nursing home data, senior apartments, care home directory, senior living market research, senior living leads, assisted living directory, senior care data, community pricing data, senior living availability, a place for mom api

# Actor input Schema

## `locations` (type: `array`):

Cities, "City, ST" strings or ZIP codes to search for senior-living communities, e.g. "Austin, TX", "Denver", "90210". You can also paste a community URL (https://www.aplaceformom.com/community/...) here to scrape that single community.

## `communityUrls` (type: `array`):

Direct community detail pages or numeric community IDs to scrape, in addition to the location searches. Example: https://www.aplaceformom.com/community/the-clairmont-retirement-community-52249

## `careType` (type: `string`):

Restrict results to communities offering a specific care type. Choose "any" to include every care type.

## `maxCommunitiesPerLocation` (type: `integer`):

Maximum number of communities to scrape for each location (1-500).

## `includeDetails` (type: `boolean`):

Fetch each community's detail record (reviews, fees, availability, floor plans, provider stats). Adds one extra API request per community but produces the full dataset described in the README. Disable for a cheaper, list-level run.

## `maxReviewsPerCommunity` (type: `integer`):

How many recent reviews to include for each community when detail data is enabled (1-300).

## `maxConcurrency` (type: `integer`):

Number of parallel GraphQL requests. Keep this modest to stay polite to the API.

## `proxy` (type: `object`):

Select proxies to be used by your crawler.

## Actor input object example

```json
{
  "locations": [
    "Austin, TX"
  ],
  "careType": "any",
  "maxCommunitiesPerLocation": 50,
  "includeDetails": true,
  "maxReviewsPerCommunity": 5,
  "maxConcurrency": 3,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# 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 = {
    "locations": [
        "Austin, TX"
    ],
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/aplaceformom-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 = {
    "locations": ["Austin, TX"],
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/aplaceformom-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locations": [
    "Austin, TX"
  ],
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ahmed_jasarevic/aplaceformom-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/aplaceformom-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ChlnQP3Qsf83I2sHi/builds/NdqoF8AIwyzuFvugr/openapi.json
