# Texas TDLR License & Contractor Records Scraper (`scrapers_lat/texas-tdlr-scraper`) Actor

Extract public Texas TDLR license records across 149 trades including electricians, HVAC, cosmetology and tow companies. Get licensee name, business, license number, status, address, city, county, ZIP, phone and dates. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/texas-tdlr-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 1 total users, 0 monthly users, 96.6% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $9.23 / 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.

- **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 TDLR License & Contractor Records Scraper](https://scrapers.lat/banners/texas-tdlr-scraper.png)](https://console.apify.com/actors/Zl5WzNcZXxZtsb72o/input)

## Texas TDLR License & Contractor Records Scraper

> Extract public Texas business and professional license records from the Texas Department of Licensing and Regulation (TDLR), across 149 licensed trades statewide.

**📥 [Input](https://apify.com/scrapers_lat/texas-tdlr-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/texas-tdlr-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/texas-tdlr-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Texas%20%7C%20149%20trades-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>27 fields</strong><br>per record</td>
<td align="center"><strong>149 trades</strong><br>statewide Texas</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

Beyond the basics, every record carries a **separate mailing address and phone** alongside the business address (so you get both outreach channels), the **license subtype and continuing-education status**, and for tow companies and vehicle storage facilities the full **insurance and fleet block**: carrier name, policy type, coverage amount, TDI number, policy effective and cancellation dates, and vehicle count.

<br>

### Programs and trades

The scraper reads the official TDLR bulk data files. You pick one or more programs from a list of 149, including electricians (master, journeyman, apprentice, residential wiremen, sign and contractor classes), air conditioning contractors and technicians, cosmetology and barbering practitioners and establishments, tow truck operators and tow companies, vehicle storage facilities, auctioneers, elevator inspectors and contractors, water well drillers, massage therapists and establishments, dietitians, midwives, podiatrists, mold assessment and remediation, property tax professionals, and more. There is also an All Licenses option that covers the full statewide file.

### How filtering works

Every filter runs after the file is downloaded, so you can narrow a large trade file to a single city, county, ZIP prefix, or license number. The name filter matches against both the personal name and the business name. Many individual-licensee files omit street address, city, and phone, listing only the county. For those trades, county is the reliable geographic filter.

### Who is it for

| Use case | Who benefits |
|---|---|
| Build a verified contractor lead list by trade and county | Sales and marketing teams |
| Confirm a contractor or shop holds a current Texas license | Insurers, property managers, general contractors |
| Map competitors and market density by city or ZIP | Franchise and field-service operators |
| Source phone and address data for outreach campaigns | Lead generation and B2B agencies |
| Track license expirations for renewal outreach | Continuing-education and compliance providers |

### Frequently Asked Questions

**Which Texas trades and licenses does this cover?**\
It covers all 149 public bulk license files published by TDLR, from electricians, HVAC, cosmetology, and tow trucks to massage therapists, midwives, podiatrists, mold professionals, and property tax consultants. You can also pull the single All Licenses file that spans every program at once.

**How many records can I pull in one run?**\
You set the Max Items limit. Individual trade files range from a few hundred to hundreds of thousands of licensees, and the All Licenses file holds the entire state. Set a high limit to take a full trade file, or a low one to sample.

**Can I filter by city, county, or ZIP code?**\
Yes. You can filter by city, by Texas county, by a ZIP prefix, by a name fragment, or by an exact license number. Note that many files for individual license holders only include the county, not a street address, so county is the most dependable location filter for those trades.

**Why are some address or phone fields empty for certain trades?**\
TDLR publishes full business address and phone for establishments and companies, but for many individual license holders it only releases the county. The scraper never invents data, so those fields stay empty and the county is populated instead.

**Is the license status always included?**\
Status such as CURRENT or EXPIRED appears in the health and human services style files, like massage therapists, dietitians, and podiatrists. The older electrician and cosmetology files do not carry a status column, so that field is empty for those trades.

### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [Texas Boiler Inspector License Scraper](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-boiler-inspector-licenses): Download Texas TDLR boiler inspector licenses with names, license numbers, counties and expiration dates. Export to JSON, CSV or Excel.
- [Texas Elevator Inspector License Scraper](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-elevator-inspector-licenses): Download Texas TDLR qualified elevator inspector licenses with names, license numbers, counties and expiration dates. Export to JSON, CSV or Excel.
- [Texas Licensed Dog & Cat Breeder Scraper](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-licensed-breeder-licenses): Scrape Texas TDLR licensed breeder records: kennel names, license numbers, phones, addresses, cities and counties. Export to JSON, CSV or Excel.
- [Texas Massage Therapist License Scraper](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-massage-therapist-licenses): Scrape Texas TDLR massage therapist licenses: names, license numbers, status, counties and expiration dates. Export to JSON, CSV or Excel.
- [Texas Master Electrician License Scraper](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-master-electrician-licenses): Download Texas TDLR Master Electrician license data: names, license numbers, counties and expiration dates. Export to JSON, CSV or Excel.
- [Texas Tow Truck Operator License Scraper](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-tow-truck-operator-licenses): Extract Texas TDLR tow truck operator licenses with names, license numbers, cities, counties and expiration dates. Export to JSON, CSV or Excel.
- [Texas Water Well Driller License Scraper](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-water-well-driller-licenses): Extract Texas TDLR water well driller and pump installer licenses with names, phones, addresses, counties and expiration dates. Export to JSON or CSV.
- [Find Texas AC Contractor Licenses](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-ac-contractor-licenses): Find Texas AC Contractor Licenses
- [Scrape Texas Auctioneer Licenses](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-auctioneer-licenses): Scrape Texas Auctioneer Licenses
- [Scrape Texas Cosmetology Licenses](https://apify.com/scrapers_lat/texas-tdlr-scraper/examples/texas-cosmetology-licenses): Scrape Texas Cosmetology Licenses

### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription, no API key and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).

### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [USAspending Federal Award Scraper](https://apify.com/scrapers_lat/usaspending-awards-scraper): Scrape US federal prime awards from USAspending.gov. Get recipient, UEI, award amount, awarding...
- [OFAC Sanctions List Scraper](https://apify.com/scrapers_lat/ofac-sanctions-scraper): Download and parse the US Treasury OFAC SDN and Consolidated sanctions lists. Get each sanctioned...
- [Grants.gov Opportunity Scraper](https://apify.com/scrapers_lat/grants-gov-scraper): Extract U.S. federal grant opportunities from the official Grants.gov API. Scrape title, agency...
- [NPPES NPI Provider Scraper](https://apify.com/scrapers_lat/nppes-npi-scraper): Scrape US healthcare provider records from the official NPPES NPI Registry. Search by name...
- [BizQuest Businesses-for-Sale Listings Scraper](https://apify.com/scrapers_lat/bizquest-scraper): Extract US businesses-for-sale listings from BizQuest with the broker or seller contact (name...
- [California CSLB Contractor License Scraper](https://apify.com/scrapers_lat/california-cslb-scraper): Extract licensed California contractor records from the CSLB public data portal by classification...

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with the Texas Department of Licensing and Regulation. It only accesses license data that TDLR publishes publicly as open bulk files. The data may include personal information about individual license holders. Use it in accordance with TDLR's terms and applicable law.

# Actor input Schema

## `maxLicenses` (type: `integer`):

Maximum number of licensee records to collect. Optional.

## `program` (type: `array`):

Select one or more TDLR license programs. Each maps to an official bulk CSV file. "All Licenses" is the full statewide file (large).

## `name` (type: `string`):

Keep only licensees whose name or business name contains this text (case-insensitive). Optional.

## `city` (type: `string`):

Keep only records in this city (case-insensitive, partial match). Optional.

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

Keep only records in this Texas county (case-insensitive, partial match). Optional.

## `zip` (type: `string`):

Keep only records whose ZIP starts with this value. Optional.

## `licenseNumber` (type: `string`):

Keep only the record(s) with this exact license or certificate number. Optional.

## Actor input object example

```json
{
  "maxLicenses": 100,
  "program": [
    "Ltmstele.csv"
  ]
}
```

# 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 = {
    "maxLicenses": 100,
    "program": [
        "Ltmstele.csv"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/texas-tdlr-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 = {
    "maxLicenses": 100,
    "program": ["Ltmstele.csv"],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/texas-tdlr-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 '{
  "maxLicenses": 100,
  "program": [
    "Ltmstele.csv"
  ]
}' |
apify call scrapers_lat/texas-tdlr-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/Zl5WzNcZXxZtsb72o/builds/Ul0pBjrKYYroZZG4d/openapi.json
