Caring APIcaring.com ↗
Access Caring.com facility listings, ratings, amenities, pricing, and reviews via 3 structured endpoints covering assisted living, memory care, and nursing homes.
What is the Caring API?
The Caring.com API provides structured access to elder care facility data across three endpoints, returning over 15 response fields per facility including names, addresses, ratings, amenities, capacity, and resident reviews. The search_facilities endpoint lets you query by city, state, and care type to retrieve paginated summaries, while get_facility_detail and get_facility_reviews return full profiles and review arrays for any individual facility slug.
curl -X GET 'https://api.parse.bot/scraper/2f043ec7-ffb7-44db-bb73-dc1f8079fbb3/search_facilities?city=los-angeles&type=assisted-living&state=california' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace caring-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Caring.com SDK — search facilities, drill into details, read reviews."""
from parse_apis.caring_com_facility_data_api import Caring, CareType, FacilityNotFound
client = Caring()
# Search assisted-living facilities in Los Angeles
for summary in client.facilitysummaries.search(city="los-angeles", state="california", care_type=CareType.ASSISTED_LIVING, limit=5):
print(summary.name, summary.slug, summary.review_count)
# Drill into one facility's full profile
summary = client.facilitysummaries.search(city="los-angeles", state="california", limit=1).first()
if summary:
facility = summary.details()
print(facility.name, facility.full_address, facility.rating, facility.capacity)
# Walk reviews on that facility
for review in facility.reviews(limit=3):
print(review.author, review.rating, review.text[:80] if review.text else "")
# Typed error handling: attempt to fetch a non-existent facility
try:
client.facilities.get(slug="/senior-living/california/los-angeles/nonexistent-12345")
except FacilityNotFound as exc:
print(f"Facility not found: {exc.slug}")
print("exercised: facilitysummaries.search / summary.details / facility.reviews / facilities.get")Search for elder care facilities by location and care type. Returns a list of facility summaries with names, addresses, ratings, and slugs for detail lookups. Results are scoped to one city within one state. The total count reflects all matching facilities for the location/type combination, not just the returned page.
| Param | Type | Description |
|---|---|---|
| city | string | City name as a URL slug (lowercase, hyphens for spaces). |
| type | string | Care type slug. |
| state | string | State name as a URL slug (lowercase, hyphens for spaces). |
{
"type": "object",
"fields": {
"items": "array of facility summary objects with name, address, city, state, zip, rating, review_count, starting_price, care_types, slug, url, caring_stars",
"total": "integer total number of matching facilities",
"location": "string formatted as 'city, state'"
},
"sample": {
"data": {
"items": [
{
"url": "https://www.caring.com/senior-living/california/los-angeles/rayas-paradise-inc-90046",
"zip": "90046",
"city": "los-angeles",
"name": "Raya's Paradise Residential Care Communities",
"slug": "/senior-living/california/los-angeles/rayas-paradise-inc-90046",
"state": "california",
"rating": null,
"address": "849 North Gardner Street, Los Angeles, CA 90046",
"care_types": [
"Assisted Living"
],
"caring_stars": false,
"review_count": 4,
"starting_price": null
}
],
"total": 545,
"location": "los-angeles, california"
},
"status": "success"
}
}About the Caring API
Searching Facilities
The search_facilities endpoint accepts optional city, state, and type parameters — all as URL slugs — and returns a paginated response containing an items array and a total count. Each item includes the facility name, full address fields (city, state, zip), rating, review_count, starting_price, supported care_types, and a slug for use in detail lookups. Supported type values include assisted-living, memory-care, and nursing-homes.
Facility Detail
The get_facility_detail endpoint accepts a slug path in the form /senior-living/{state}/{city}/{facility-name} and returns a full facility profile. The response includes structured address data with latitude and longitude, a phone number, an HTML description, a capacity integer, a verified boolean indicating enhanced listing status, and an amenities object that maps category names to arrays of specific services or features. The reviews array on this endpoint includes each review's author, date, rating, text, and type.
Reviews Endpoint
The get_facility_reviews endpoint takes the same slug format and returns only the facility name and its reviews array. This is useful when you need review data without the overhead of the full detail payload. Review objects include author, date, rating, text, and type fields, allowing you to analyze sentiment, filter by rating, or track review volume over time.
Coverage and Data Shape
All three endpoints reflect US-based listings on Caring.com. Geographic filtering in search_facilities operates at the city and state level; there is no ZIP code or radius-based search parameter in the current endpoint set. Facility slugs obtained from search results can be passed directly into the detail or reviews endpoints without further transformation.
The Caring API is a managed, monitored endpoint for caring.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when caring.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official caring.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a senior care directory app filtered by care type (assisted-living, memory-care, nursing-homes) and location.
- Aggregate starting_price and rating data across facilities in a region to benchmark elder care costs.
- Pull the amenities object from get_facility_detail to compare service offerings across shortlisted facilities.
- Monitor review_count and rating changes over time to detect shifts in facility reputation.
- Extract latitude and longitude from address objects to plot facilities on a map.
- Use the verified flag from get_facility_detail to surface enhanced listings separately in search results.
- Compile review text and ratings from get_facility_reviews for sentiment analysis on senior care providers.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.