# Care.com Scraper (`codingfrontend/care-com-scraper`) Actor

Extract public Care.com caregiver search results and profiles, including rates, experience, services, ratings, checks, and reviews; independent and not endorsed by Care.com.

- **URL**: https://apify.com/codingfrontend/care-com-scraper.md
- **Developed by:** [Coding Frontned](https://apify.com/codingfrontend) (community)
- **Categories:** Other, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Care.com Scraper

Extract structured data from publicly accessible Care.com caregiver search pages and public profiles. Search by supported care category and US city/state slug, or submit explicit public profile URLs.

The Actor uses lightweight HTTP requests and parses the structured data Care.com publishes in each page. It does not sign in, solve CAPTCHAs, access contact details, or cross a private-profile boundary.

### What it extracts

Each dataset record can include:

- Public profile and service identifiers
- Display name, job title, care categories, city, state, and postal code
- Public profile bio, years of experience, image, and availability
- Hourly rate range, currency, and category-specific published rates
- Overall rating, review count, and rating breakdown
- CareCheck completion flag and published check status/date
- Services, care age groups, qualities, credentials, and languages
- Education, public badges, and public reviews
- Canonical profile URL, originating search URL, and scrape timestamp

Unavailable optional values are omitted rather than replaced with empty strings, nulls, or invented placeholders.

### Input

#### Search by category and location

```json
{
    "category": "babysitters",
    "locationSlug": "new-york-ny",
    "maxResults": 10,
    "maxPages": 1,
    "maxReviewsPerProfile": 10
}
```

Supported categories are `babysitters`, `nannies`, `caregivers`, `pet-sitters`, `housekeepers`, and `tutors`. The location uses the public Care.com URL slug, such as `austin-tx`.

#### Extract explicit profiles

```json
{
    "profileUrls": [
        "https://www.care.com/p/rachels6792/cc"
    ],
    "maxResults": 1,
    "maxReviewsPerProfile": 10
}
```

Only public HTTPS URLs on `care.com` with the `/p/.../...` profile pattern are accepted.

### Output example

```json
{
    "recordId": "public-profile-id",
    "displayName": "Rachel S.",
    "jobTitle": "Nanny",
    "careTypes": ["Child Care", "Pet Care"],
    "city": "New York",
    "state": "NY",
    "yearsExperience": 10,
    "hourlyRateMin": 17,
    "hourlyRateMax": 25,
    "rateCurrency": "USD",
    "rating": 5,
    "reviewCount": 1,
    "careCheckCompleted": true,
    "services": ["Carpooling", "Craft Assistance", "Light Housekeeping"],
    "profileUrl": "https://www.care.com/p/example/cc",
    "scrapedAt": "2026-01-01T00:00:00.000Z"
}
```

Values above illustrate the record shape. Actor results always come from the requested live public pages.

### Limits and responsible use

- `maxResults` is capped at 100 and `maxPages` at 5.
- Concurrency is capped at 3, with at least 750 ms pacing.
- Requests use bounded retries with backoff and an actor-side deadline below five minutes.
- Direct public access is the default; Apify Proxy can be enabled in the input.
- Duplicate records are removed by the public profile identifier.
- Unexpectedly large responses and invalid/off-site URLs are rejected.

Care.com can change its markup, URL formats, availability, or access policy without notice. Some fields differ by caregiver category. A CareCheck or background-check status is a platform-published attribute, not a safety guarantee or endorsement.

You are responsible for complying with Care.com's terms, robots directives, privacy rules, employment and anti-discrimination laws, and all applicable regulations. Do not use the output for harassment, surveillance, identity enrichment, automated eligibility decisions, or other harmful purposes. Collect and retain only the data you need.

### Dataset access

Results are written to the default Apify dataset. Download them through the Console or dataset API in JSON, CSV, Excel, XML, and other supported formats.

### Support

If a public page stops producing records, include the input (without secrets), run ID, affected public URL, and a short description of the expected field in your issue report.

# Actor input Schema

## `profileUrls` (type: `array`):

Optional public care.com/p/... profile URLs. When supplied, category and location are ignored.

## `category` (type: `string`):

Public caregiver listing category used for search.

## `locationSlug` (type: `string`):

Care.com city/state URL slug, for example new-york-ny or austin-tx.

## `maxResults` (type: `integer`):

Hard cap on unique caregiver profiles saved.

## `maxPages` (type: `integer`):

Hard cap on listing pages inspected while discovering profiles.

## `maxReviewsPerProfile` (type: `integer`):

Maximum public reviews included in each caregiver record.

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

Responsible concurrency cap for public profile pages.

## `requestDelayMillis` (type: `integer`):

Minimum pacing delay between Care.com requests.

## `maxRetries` (type: `integer`):

Bounded attempts with exponential backoff for transient failures.

## `maxPageMbytes` (type: `integer`):

Reject unexpectedly large HTML responses.

## `maxRunMillis` (type: `integer`):

Actor-side deadline capped below five minutes.

## `proxyConfiguration` (type: `object`):

Optional Apify Proxy. Direct public access is used by default.

## Actor input object example

```json
{
  "profileUrls": [],
  "category": "babysitters",
  "locationSlug": "new-york-ny",
  "maxResults": 10,
  "maxPages": 1,
  "maxReviewsPerProfile": 10,
  "maxConcurrency": 1,
  "requestDelayMillis": 1000,
  "maxRetries": 3,
  "maxPageMbytes": 8,
  "maxRunMillis": 240000,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("codingfrontend/care-com-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 = {}

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

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

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

```

## CLI example

```bash
echo '{}' |
apify call codingfrontend/care-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=codingfrontend/care-com-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/7Y5tkRxUzIhlvh0ZD/builds/bnJWaDNmFONMoTF2m/openapi.json
