# Childcare Provider Leads — Daycare Contact Lists + Compliance (`malonestar/childcare-provider-leads`) Actor

Licensed childcare provider lead lists from official state licensing data with direct phone AND email contacts (Texas HHSC). Filter by county, type, capacity, ages served; each lead scored with 2-year deficiency counts + high-risk flag. Delta mode alerts on newly licensed operations.

- **URL**: https://apify.com/malonestar/childcare-provider-leads.md
- **Developed by:** [Kyle Maloney](https://apify.com/malonestar) (community)
- **Categories:** Lead generation, Agents, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.60 / 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/platform/actors/running/actors-in-store#pay-per-event

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

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

## Childcare Provider Leads — Licensed Daycare Contact Lists + Compliance Scoring

Build **contact-complete lead lists of licensed childcare providers** straight from official
state licensing data — including the two fields most provider datasets never give you:
**direct phone number AND email address** (Texas HHSC Child Care Licensing publishes both).

Every lead is enriched with a **compliance score** from the state's non-compliance
(deficiency) records: 2-year deficiency count, a risk-weighted score, the most recent
deficiency dates, and a `high_risk_flag` — so you can segment outreach by quality, not
just geography.

### Who this is for

- **Childcare SaaS & management platforms** (billing, enrollment, parent-communication apps) — build county-by-county outreach lists with emails, not just addresses.
- **EdTech & curriculum vendors** — target licensed centers by capacity and ages served (Infant / Toddler / Pre-K / School).
- **CACFP food-program sponsors** — find providers accepting subsidies and newly licensed operations to sponsor.
- **Insurance brokers & risk underwriters** — use deficiency counts and the high-risk flag to segment or pre-screen.
- **Suppliers** (furniture, playgrounds, food service, safety equipment) — filter to larger centers with `minCapacity`.
- **Researchers & journalists** — compliance-scored roster of licensed operations, refreshed from the state's ~daily feed.

### Example input

```json
{
  "state": "TX",
  "county": "Harris",
  "operationType": "Licensed Center",
  "agesServed": "Infant",
  "minCapacity": 50,
  "maxResults": 500,
  "includeCompliance": true
}
````

### Modes

- **`roster`** (default): the current filtered provider list.
- **`new_operations`**: keeps a baseline of seen operation IDs in the key-value store; the
  first run saves the baseline, and every later run emits **only newly licensed operations**.
  Schedule it weekly for a fresh new-provider lead alert.

### Output fields

One record per provider: `state`, `operation_id`, `operation_number`, `operation_name`,
`operation_type`, `address`, `city`, `county`, `zip`, **`phone`**, **`email`**, `website`,
`capacity`, `ages_served`, `programs_provided`, `accepts_subsidies`, `issuance_date`,
`deficiency_count_2y`, `deficiency_weighted_score_2y`, `recent_deficiency_dates` (up to 3),
`high_risk_flag`, `is_new_operation`, `source_url`.

`email` is populated for many — not all — Texas operations; it is null when the provider has
no email on file with the state.

### Compliance scoring (editorial heuristic — read this)

The compliance join pulls each provider's non-compliance records from the official TX HHSC
deficiency dataset and rolls them up over a trailing 2-year window:

- **Window**: the source dataset has no inspection-date column, so the 2-year window keys off
  `corrected_date` (the date the deficiency was corrected). Uncorrected/undated records are
  excluded from the window.
- **Weights** (our editorial choice, not the state's): High = 5, Medium High = 3, Medium = 2,
  Medium Low = 1, Low = 0.5.
- **`high_risk_flag`** = weighted 2-year score ≥ `highRiskThreshold` (default 10). This is a
  screening heuristic to prioritize/deprioritize outreach — it is **not an official state
  designation** and should not be used as one.

### Coverage (honest note)

**v1 covers Texas only** — the TX HHSC dataset is uniquely valuable because it includes
provider phone and email. Florida (DCF) and California (CCLD) are scaffolded in the source
config for v1.1; CA's licensing download page is a browser-gated JavaScript shell with no
keyless machine endpoint, so it is excluded until a stable source is verified.

### Use as an MCP tool

This actor works as an MCP tool for AI agents (via mcp.apify.com): clean input schema,
described output fields, and one flat record per provider make it easy for Claude, Cursor,
or any agent to chain "find licensed daycare centers in X county with emails, low
deficiencies, capacity ≥ 50" into larger lead-gen workflows.

### FAQ

**How do I get a list of licensed daycare centers in Texas with email addresses?**
Run with `state: "TX"`, your `county`, and `operationType: "Licensed Center"` — records
include phone and, where on file, email.

**Can I find newly licensed childcare providers?**
Yes — set `mode: "new_operations"` and schedule the actor; after the baseline run it emits
only operations it hasn't seen before.

**How current is the data?**
The TX HHSC datasets on data.texas.gov are refreshed approximately daily.

**Does a deficiency mean a provider is bad?**
No. Deficiencies range from paperwork issues to serious violations; the weighted score and
`recent_deficiency_dates` help you judge severity and recency. Always verify with the state's
official search before making decisions about a specific provider.

**Do I need an API key?**
No — the actor uses keyless public open-data endpoints.

### Pricing

Pay per result: you are charged only for the provider records actually returned.

# Actor input Schema

## `state` (type: `string`):

US state to pull licensed childcare providers from. v1 supports TX (Texas HHSC Child Care Licensing — includes provider phone AND email). FL and CA are scaffolded for v1.1. An unsupported state exits gracefully with 0 results.

## `county` (type: `string`):

Filter to one county (case-insensitive, e.g. "Harris", "Dallas", "Travis"). Leave empty for statewide.

## `operationType` (type: `string`):

Exact operation type (case-insensitive). Common TX values: "Licensed Center", "Licensed Child-Care Home", "Registered Child-Care Home", "Listed Family Home". Leave empty for all types.

## `agesServed` (type: `string`):

Substring match on the licensed-to-serve ages field, e.g. "Infant", "Toddler", "Pre-Kindergarten", "School". Leave empty for any.

## `minCapacity` (type: `integer`):

Only include operations with total licensed capacity at or above this number (e.g. 50 targets larger centers). 0 = no minimum.

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

Maximum number of provider lead records to return (each record = one billed Result).

## `includeCompliance` (type: `boolean`):

Join each provider to Texas non-compliance (deficiency) records from the last 2 years and add deficiency\_count\_2y, deficiency\_weighted\_score\_2y, recent\_deficiency\_dates, and high\_risk\_flag.

## `highRiskThreshold` (type: `integer`):

Editorial heuristic: an operation is flagged high\_risk when its 2-year risk-weighted deficiency score (High=5, Medium High=3, Medium=2, Medium Low=1, Low=0.5) meets or exceeds this value.

## `mode` (type: `string`):

"roster" (default) returns the current filtered provider list. "new\_operations" keeps a baseline of seen operation IDs in the key-value store and, after the first baseline run, emits only newly licensed operations — ideal for scheduled new-provider lead alerts.

## `activeOnly` (type: `boolean`):

Only include currently active operations (operation\_status = Y). Disable to include all statuses.

## Actor input object example

```json
{
  "state": "TX",
  "county": "Harris",
  "operationType": "Licensed Center",
  "minCapacity": 0,
  "maxResults": 100,
  "includeCompliance": true,
  "highRiskThreshold": 10,
  "mode": "roster",
  "activeOnly": true
}
```

# Actor output Schema

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

The default dataset of provider leads.

# 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 = {
    "state": "TX",
    "county": "Harris",
    "operationType": "Licensed Center",
    "maxResults": 100,
    "includeCompliance": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("malonestar/childcare-provider-leads").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 = {
    "state": "TX",
    "county": "Harris",
    "operationType": "Licensed Center",
    "maxResults": 100,
    "includeCompliance": True,
}

# Run the Actor and wait for it to finish
run = client.actor("malonestar/childcare-provider-leads").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 '{
  "state": "TX",
  "county": "Harris",
  "operationType": "Licensed Center",
  "maxResults": 100,
  "includeCompliance": true
}' |
apify call malonestar/childcare-provider-leads --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Childcare Provider Leads — Daycare Contact Lists + Compliance",
        "description": "Licensed childcare provider lead lists from official state licensing data with direct phone AND email contacts (Texas HHSC). Filter by county, type, capacity, ages served; each lead scored with 2-year deficiency counts + high-risk flag. Delta mode alerts on newly licensed operations.",
        "version": "1.0",
        "x-build-id": "ENiGpnMTHzfnKZeL4"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/malonestar~childcare-provider-leads/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-malonestar-childcare-provider-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/malonestar~childcare-provider-leads/runs": {
            "post": {
                "operationId": "runs-sync-malonestar-childcare-provider-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/malonestar~childcare-provider-leads/run-sync": {
            "post": {
                "operationId": "run-sync-malonestar-childcare-provider-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "state": {
                        "title": "State",
                        "enum": [
                            "TX"
                        ],
                        "type": "string",
                        "description": "US state to pull licensed childcare providers from. v1 supports TX (Texas HHSC Child Care Licensing — includes provider phone AND email). FL and CA are scaffolded for v1.1. An unsupported state exits gracefully with 0 results.",
                        "default": "TX"
                    },
                    "county": {
                        "title": "County",
                        "type": "string",
                        "description": "Filter to one county (case-insensitive, e.g. \"Harris\", \"Dallas\", \"Travis\"). Leave empty for statewide."
                    },
                    "operationType": {
                        "title": "Operation type",
                        "type": "string",
                        "description": "Exact operation type (case-insensitive). Common TX values: \"Licensed Center\", \"Licensed Child-Care Home\", \"Registered Child-Care Home\", \"Listed Family Home\". Leave empty for all types."
                    },
                    "agesServed": {
                        "title": "Ages served (substring)",
                        "type": "string",
                        "description": "Substring match on the licensed-to-serve ages field, e.g. \"Infant\", \"Toddler\", \"Pre-Kindergarten\", \"School\". Leave empty for any."
                    },
                    "minCapacity": {
                        "title": "Minimum licensed capacity",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Only include operations with total licensed capacity at or above this number (e.g. 50 targets larger centers). 0 = no minimum.",
                        "default": 0
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of provider lead records to return (each record = one billed Result).",
                        "default": 100
                    },
                    "includeCompliance": {
                        "title": "Include compliance scoring",
                        "type": "boolean",
                        "description": "Join each provider to Texas non-compliance (deficiency) records from the last 2 years and add deficiency_count_2y, deficiency_weighted_score_2y, recent_deficiency_dates, and high_risk_flag.",
                        "default": true
                    },
                    "highRiskThreshold": {
                        "title": "High-risk threshold (weighted score)",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Editorial heuristic: an operation is flagged high_risk when its 2-year risk-weighted deficiency score (High=5, Medium High=3, Medium=2, Medium Low=1, Low=0.5) meets or exceeds this value.",
                        "default": 10
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "roster",
                            "new_operations"
                        ],
                        "type": "string",
                        "description": "\"roster\" (default) returns the current filtered provider list. \"new_operations\" keeps a baseline of seen operation IDs in the key-value store and, after the first baseline run, emits only newly licensed operations — ideal for scheduled new-provider lead alerts.",
                        "default": "roster"
                    },
                    "activeOnly": {
                        "title": "Active operations only",
                        "type": "boolean",
                        "description": "Only include currently active operations (operation_status = Y). Disable to include all statuses.",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
