# Texas Childcare Licensing Records — Official HHSC Data (`extensive_necklace_zmp/texas-childcare-licensing-records`) Actor

Every licensed/registered childcare and residential childcare operation in Texas — capacity, license status, inspection and deficiency counts, optional per-facility violation narratives — straight from the official HHSC Child Care Licensing datasets, with a source link on every record.

- **URL**: https://apify.com/extensive\_necklace\_zmp/texas-childcare-licensing-records.md
- **Developed by:** [Glass Operations](https://apify.com/extensive_necklace_zmp) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.50 / 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.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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.

- **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

## Texas Childcare Licensing Records — Official HHSC Data

Get every **licensed and registered childcare operation in Texas** — about
**15,000 facilities**: daycare centers, home-based care, residential
operations, and child placing agencies — in one clean dataset, pulled
straight from the **official Texas HHSC Child Care Licensing datasets** on
the state's own open-data portal, with a source link on every record.

Each record carries the state's published license status, capacity, ages
served, hours, subsidy acceptance, contact details, and the state's own
**inspection and deficiency counters**. Flip one switch and each facility
also gets its **cited violations** — the standard violated, HHSC's risk
level, the inspector's narrative, and correction dates — from the state's
Non-Compliance dataset (136,000+ citations).

Parents' apps and directories get verifiable safety records; childcare
suppliers and services get a clean lead list with license status and real
contact fields; researchers and journalists get the state's full oversight
record with per-record provenance.

### Why this actor

- **Official state sources only.** Both datasets are published by the Texas
  Health and Human Services Commission on data.texas.gov. Every record
  links to a live API lookup of itself (`source_url`) — verify any row in
  one click. No directory-site scraping, no logins, no guessed data.
- **Operations + violations, joined.** Most childcare actors return a
  directory listing. This one can attach each facility's actual
  non-compliance record — narratives and risk levels included — keyed by
  the state's own operation id.
- **A format change never becomes silent garbage.** Each of the two
  datasets is fetched, signature-checked, and validated independently. If
  HHSC restructures the violations dataset, your facility records still
  return (with `violations: null`) and the failure is reported loudly in
  `SOURCE_STATUS`. You will never quietly get wrong columns.
- **Honest fields.** Values are carried verbatim from the state's dataset.
  Counters are HHSC's own figures; a blank counter is `0` by the dataset's
  own convention; genuinely absent text stays `null`. About 140 residential
  operations (shelters, treatment centers) have **no published location** —
  HHSC withholds it for safety, so those fields are honestly `null`, not
  guessed.

### Input

| Field | Type | Default | Notes |
|---|---|---|---|
| `cities` | array | all | e.g. `["AUSTIN", "HOUSTON"]` — case-insensitive |
| `counties` | array | all | e.g. `["TRAVIS", "HARRIS"]` |
| `operationTypes` | array | all 6 | see the type list below |
| `nameSearch` | string | — | case-insensitive substring on the operation name |
| `openOnly` | boolean | false | only operations currently open and not temporarily closed |
| `subsidizedOnly` | boolean | false | only operations accepting child care subsidies |
| `minHighRiskDeficiencies` | integer | — | only operations with at least this many high + medium-high deficiencies |
| `includeViolations` | boolean | false | attach cited violations per facility |
| `maxViolationsPerOperation` | integer | 20 | newest-first cap; `violations_total` always has the full count |
| `maxRecords` | integer | 20000 | stop after this many facilities |

```json
{
  "cities": ["AUSTIN"],
  "operationTypes": ["Licensed Center"],
  "includeViolations": true
}
```

### Output

One dataset item per operation:

```json
{
  "operation_id": "88451",
  "operation_number": "170037",
  "operation_name": "Open Door Preschool North",
  "operation_type": "Licensed Center",
  "address": "2818 San Gabriel St", "city": "AUSTIN", "county": "TRAVIS",
  "state": "TX", "zip": "78705",
  "phone": "(512)555-0100", "email": "…", "website": "…",
  "issuance_date": "2002-04-12", "type_of_issuance": "Full Permit",
  "open": "Y", "temporarily_closed": "NO",
  "conditions_on_permit": null, "corrective_action": null, "adverse_action": null,
  "capacity": 60, "ages_served": "Infant, Toddler, Pre-Kindergarten",
  "programs": "Educational Program", "hours": "07:30 AM-05:30 PM",
  "days": "Monday-Friday", "accepts_subsidies": "Y",
  "total_inspections": 12, "total_assessments": 3,
  "total_reports": 2, "total_self_reports": 1,
  "deficiencies_high": 1, "deficiencies_medium_high": 2,
  "deficiencies_medium": 4, "deficiencies_medium_low": 0, "deficiencies_low": 1,
  "violations_total": 8,
  "violations": [
    {
      "non_compliance_id": "1004673383",
      "standard": "745.641 - AP Background check results…",
      "risk_level": "Medium High",
      "narrative": "…the inspector's own words…",
      "corrected_at_inspection": "N",
      "corrected_date": "2023-02-17",
      "correction_verified_date": "2023-02-21",
      "technical_assistance_given": "NO"
    }
  ],
  "source_url": "https://data.texas.gov/resource/bc5r-88dy.json?operation_id=88451",
  "dataset_page": "https://data.texas.gov/dataset/HHSC-CCL-Daycare-and-Residential-Operations-Data/bc5r-88dy",
  "fetched_at": "2026-09-05T20:41:02Z"
}
```

`violations`/`violations_total` appear only when `includeViolations` is on
(`null` if the violations source failed that run — never silently missing).

The run also writes **`SOURCE_STATUS`** to the key-value store: per-source
status (`ok`/`failed`), record/parse counts, timing, and a floor warning if
an unfiltered run returned suspiciously few facilities.

### The 6 operation types (state's own categories, with current counts)

| Type | ~Count | What it is |
|---|---|---|
| Licensed Center | 9,600 | classic daycare/preschool centers |
| Registered Child-Care Home | 1,750 | home-based care, registered |
| Licensed Child-Care Home | 1,600 | home-based care, licensed |
| Listed Family Home | 1,400 | small home-based care, listed |
| General Residential Operation | 425 | residential care (shelters, RTCs) |
| Child Placing Agency | 240 | foster/adoption agencies |

### Honest limitations

- Coverage is **Texas** — this is deliberately one state done completely
  from its official source, not fifty states done from a directory site.
- Deficiency counters and the violations dataset cover the window HHSC
  itself publishes (roughly the last 2–5 years of citations); this actor
  can't extend what the state publishes.
- \~140 residential operations have no published city/county/address —
  HHSC withholds locations of shelters and treatment centers for safety.
  City/county filters can't match them (they appear in statewide pulls).
- A full statewide pull takes ~20 seconds; statewide **with violations**
  takes ~90 seconds (the violations join runs one polite query per 100
  facilities). City or county runs take a few seconds.

### Typical usages

- **Parent-facing directory or app:** `{"openOnly": true, "includeViolations": true}` —
  the full verifiable safety record behind every facility page.
- **Supplier lead list:** `{"operationTypes": ["Licensed Center"], "openOnly": true}` —
  9,600 centers with phone/email and capacity for sizing.
- **Risk monitoring / journalism:** `{"minHighRiskDeficiencies": 3, "includeViolations": true}` —
  every facility with a heavy high-risk record, with the narratives.
- **Subsidy market analysis:** `{"subsidizedOnly": true}` by county.

### Legality

These are public records Texas publishes on its official open-data portal
(data.texas.gov) specifically for public reuse: no logins, no paywalls, no
scraping of private sites. Contact fields are the business contact details
the state itself publishes for each licensed operation.

# Actor input Schema

## `cities` (type: `array`):

Only operations in these Texas cities (e.g. AUSTIN, HOUSTON, SAN ANTONIO — case doesn't matter). Leave empty for statewide.

## `counties` (type: `array`):

Only operations in these Texas counties (e.g. TRAVIS, HARRIS — county name without the word 'County'). Leave empty for all counties.

## `operationTypes` (type: `array`):

Which of HHSC's 6 operation types to include. Leave empty for all. Licensed Centers are classic daycare centers; Licensed/Registered Child-Care Homes and Listed Family Homes are home-based care; General Residential Operations and Child Placing Agencies are residential/foster care.

## `nameSearch` (type: `string`):

Case-insensitive substring match on the operation's name. Leave empty for all operations.

## `openOnly` (type: `boolean`):

Only operations the state currently marks open and not temporarily closed. Off by default so you see everything the state publishes.

## `subsidizedOnly` (type: `boolean`):

Only operations the state marks as accepting child care subsidies (CCS).

## `minHighRiskDeficiencies` (type: `integer`):

Only operations whose high + medium-high deficiency counts (the state's own counters) total at least this many. Use 1 to get every operation with any high-risk finding on record.

## `includeViolations` (type: `boolean`):

Attach each operation's cited violations from HHSC's Non-Compliance dataset: the standard violated, the state's risk level, the inspector's narrative, and correction dates. Adds roughly 1 second per 100 operations to the run.

## `maxViolationsPerOperation` (type: `integer`):

Newest-first cap on attached violations per operation (violations\_total always reports the full count).

## `maxRecords` (type: `integer`):

Stop after this many operations. The full statewide dataset is about 15,000 operations.

## Actor input object example

```json
{
  "cities": [],
  "counties": [],
  "operationTypes": [],
  "openOnly": false,
  "subsidizedOnly": false,
  "includeViolations": false,
  "maxViolationsPerOperation": 20,
  "maxRecords": 20000
}
```

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

// Run the Actor and wait for it to finish
const run = await client.actor("extensive_necklace_zmp/texas-childcare-licensing-records").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("extensive_necklace_zmp/texas-childcare-licensing-records").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 '{}' |
apify call extensive_necklace_zmp/texas-childcare-licensing-records --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,extensive_necklace_zmp/texas-childcare-licensing-records"
        }
    }
}
```

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/fWl116k9tkmZQ2w0n/builds/SNgwGH3UshuhgsXqa/openapi.json
