{
  "openapi": "3.0.1",
  "info": {
    "title": "Texas State Licensed Contractor Scraper — TDLR License Data",
    "description": "Scrape Texas Department of Licensing & Regulation (TDLR) public license records: license number, type, class, business & contact info, status, bond, insurance, discipline, sponsor. Returns CRM-ready structured JSON for contractor lead-gen and compliance verification.",
    "version": "1.0",
    "x-build-id": "ZcOCshPFKDLaOFQEy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammadafzal~tdlr-texas-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammadafzal-tdlr-texas-scraper",
        "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/muhammadafzal~tdlr-texas-scraper/runs": {
      "post": {
        "operationId": "runs-sync-muhammadafzal-tdlr-texas-scraper",
        "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/muhammadafzal~tdlr-texas-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-muhammadafzal-tdlr-texas-scraper",
        "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": {
          "licenseType": {
            "title": "License Program Type",
            "enum": [
              "A/C Technicians",
              "ACR Certification Training Program",
              "Air Conditioning Contractors",
              "Associate Auctioneers",
              "Athletic Trainers",
              "ATV Instructor",
              "Auctioneers",
              "Audiologist",
              "Audiologist - Assistant",
              "Barber Schools",
              "Barber Shops",
              "Barber Shops - Dual",
              "Barber Shops - Mini",
              "Barber Shops - Mini Dual",
              "Barber Shops - Mobile",
              "Barbers",
              "Behavior Analysts",
              "Behavior Analysts Assistants",
              "Boiler Authorized Inspection Agencies",
              "Boiler Inspectors",
              "Code Enforcement Officer",
              "Combative Sports Amateur Promotors",
              "Combative Sports Contestants",
              "Combative Sports Event Coordinators",
              "Combative Sports Judges",
              "Combative Sports Managers",
              "Combative Sports Matchmakers",
              "Combative Sports Promoters",
              "Combative Sports Referees",
              "Combative Sports Seconds",
              "Continuing Education Providers",
              "Cosmetologists",
              "Cosmetology Salons",
              "Cosmetology Salons - Dual",
              "Cosmetology Salons - Mini",
              "Cosmetology Salons - Mini Dual",
              "Cosmetology Salons - Mobile",
              "Cosmetology Schools",
              "Court-Ordered Program Instructors",
              "Court-Ordered Programs",
              "Dietitians",
              "Driver Education and Safety",
              "Driver Education Instructor",
              "Driver Education Provider – Branch",
              "Driver Education Provider – Primary",
              "Driving Safety Provider",
              "Dyslexia Practitioner",
              "Dyslexia Therapist",
              "Electric Vehicle Charging Stations",
              "Electrician Apprenticeship Programs",
              "Electricians",
              "Elevator Contractors",
              "Elevator Inspectors",
              "Elevator Responsible Party",
              "Hearing Instrument CE Provider",
              "Hearing Instrument FD Training permit",
              "Hearing Instrument Fitter / Dispenser",
              "Identity Recovery Service Contract",
              "Laser Hair Removal Facility",
              "Laser Hair Removal Professions",
              "Laser Hair Removal Training Providers",
              "Licensed Breeders",
              "Massage Therapist",
              "Massage Therapist Instructor",
              "Massage Therapy Establishment",
              "Massage Therapy School",
              "Midwife",
              "Midwife Course provider",
              "Mobile Dual Shop",
              "Mold Analysis Laboratory",
              "Mold Assessment Company",
              "Mold Assessment Consultant",
              "Mold Assessment Technician",
              "Mold Remediation Company",
              "Mold Remediation Contractor",
              "Mold Remediation Worker",
              "Mold Training Provider",
              "Motor Fuel Metering & Quality Device",
              "Motor Fuel Metering & Quality Distrib/Wholesaler",
              "Motor Fuel Metering & Quality Service Technician",
              "Motor Fuel Metering & Quality Supplier",
              "Motor Fuel Metering and Quality Service Company",
              "Motorcycle Instructor",
              "Podiatrists",
              "Professional Employer Organization",
              "Property Tax Consultants",
              "Property Tax Professional Core Education Providers",
              "Property Tax Professionals",
              "Prosthetist/Orthotist – Accredited Facility",
              "Prosthetist/Orthotist - Licensed",
              "Prosthetist/Orthotist – Licensed Assistant",
              "Prosthetist/Orthotist - Technician",
              "Registered Accessibility Specialists",
              "Sanitarian",
              "Service Contract Providers",
              "Speech Language Pathologist",
              "Speech Language Pathologist – Assistant",
              "Tow Companies",
              "Tow Truck Operators",
              "Transportation Network Company",
              "Used Auto Parts Recycler",
              "Vehicle Storage Facilities",
              "Vehicle Storage Facility Employees",
              "Water Well Drillers, Pump Installers",
              "Water Well/Pump Installers Apprentices",
              "Weather Modification"
            ],
            "type": "string",
            "description": "The TDLR license program to search. Use this when the user asks for a specific trade or occupation — e.g. 'Air Conditioning Contractors', 'Electricians', 'Elevator Contractors', 'Cosmetologists', 'Massage Therapist'. Do NOT combine with licenseNumber unless you want to narrow further. Electricians and Elevator Contractors license types are the ones that publish contact info (address, phone, email).",
            "default": "Electricians"
          },
          "licenseNumber": {
            "title": "License Number",
            "type": "string",
            "description": "A specific TDLR license number to look up (e.g. '80019'). Use this for single-license verification. Leave empty when browsing all licenses of a given program type."
          },
          "businessName": {
            "title": "Business Name",
            "type": "string",
            "description": "Full or partial contractor business name to search (e.g. 'Acme Electric'). Case-insensitive substring match on TDLR's business name field. Leave empty to search all businesses."
          },
          "ownerName": {
            "title": "Owner / Individual Name",
            "type": "string",
            "description": "License holder (individual/owner) name to search (e.g. 'John Smith'). Use for sole proprietors and individual licensees. Leave empty to match all owners."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Texas city name filter (e.g. 'Austin', 'Houston', 'Dallas'). Type the exact city spelling as TDLR uses it; not a dropdown — any city string works. Leave empty for statewide results."
          },
          "county": {
            "title": "County",
            "enum": [
              "Anderson",
              "Andrews",
              "Angelina",
              "Aransas",
              "Archer",
              "Armstrong",
              "Atascosa",
              "Austin",
              "Bailey",
              "Bandera",
              "Bastrop",
              "Baylor",
              "Bee",
              "Bell",
              "Bexar",
              "Blanco",
              "Borden",
              "Bosque",
              "Bowie",
              "Brazoria",
              "Brazos",
              "Brewster",
              "Briscoe",
              "Brooks",
              "Brown",
              "Burleson",
              "Burnet",
              "Caldwell",
              "Calhoun",
              "Callahan",
              "Cameron",
              "Camp",
              "Carson",
              "Cass",
              "Castro",
              "Chambers",
              "Cherokee",
              "Childress",
              "Clay",
              "Cochran",
              "Coke",
              "Coleman",
              "Collin",
              "Collingsworth",
              "Colorado",
              "Comal",
              "Comanche",
              "Concho",
              "Cooke",
              "Coryell",
              "Cottle",
              "Crane",
              "Crockett",
              "Crosby",
              "Culberson",
              "Dallam",
              "Dallas",
              "Dawson",
              "Deaf Smith",
              "Delta",
              "Denton",
              "Dewitt",
              "Dickens",
              "Dimmit",
              "Donley",
              "Duval",
              "Eastland",
              "Ector",
              "Edwards",
              "Ellis",
              "El Paso",
              "Erath",
              "Falls",
              "Fannin",
              "Fayette",
              "Fisher",
              "Floyd",
              "Foard",
              "Fort Bend",
              "Franklin",
              "Freestone",
              "Frio",
              "Gaines",
              "Galveston",
              "Garza",
              "Gillespie",
              "Glasscock",
              "Goliad",
              "Gonzales",
              "Gray",
              "Grayson",
              "Gregg",
              "Grimes",
              "Guadalupe",
              "Hale",
              "Hall",
              "Hamilton",
              "Hansford",
              "Hardeman",
              "Hardin",
              "Harris",
              "Harrison",
              "Hartley",
              "Haskell",
              "Hays",
              "Hemphill",
              "Henderson",
              "Hidalgo",
              "Hill",
              "Hockley",
              "Hood",
              "Hopkins",
              "Houston",
              "Howard",
              "Hudspeth",
              "Hunt",
              "Hutchinson",
              "Irion",
              "Jack",
              "Jackson",
              "Jasper",
              "Jeff Davis",
              "Jefferson",
              "Jim Hogg",
              "Jim Wells",
              "Johnson",
              "Jones",
              "Karnes",
              "Kaufman",
              "Kendall",
              "Kenedy",
              "Kent",
              "Kerr",
              "Kimble",
              "King",
              "Kinney",
              "Kleberg",
              "Knox",
              "Lamar",
              "Lamb",
              "Lampasas",
              "La Salle",
              "Lavaca",
              "Lee",
              "Leon",
              "Liberty",
              "Limestone",
              "Lipscomb",
              "Live Oak",
              "Llano",
              "Loving",
              "Lubbock",
              "Lynn",
              "Madison",
              "Marion",
              "Martin",
              "Mason",
              "Matagorda",
              "Maverick",
              "Medina",
              "Menard",
              "Midland",
              "Milam",
              "Mills",
              "Mitchell",
              "Montague",
              "Montgomery",
              "Moore",
              "Morris",
              "Motley",
              "McCulloch",
              "McLennan",
              "McMullen",
              "Nacogdoches",
              "Navarro",
              "Newton",
              "Nolan",
              "Nueces",
              "Ochiltree",
              "Oldham",
              "Orange",
              "Palo Pinto",
              "Panola",
              "Parker",
              "Parmer",
              "Pecos",
              "Polk",
              "Potter",
              "Presidio",
              "Rains",
              "Randall",
              "Reagan",
              "Real",
              "Red River",
              "Reeves",
              "Refugio",
              "Roberts",
              "Robertson",
              "Rockwall",
              "Runnels",
              "Rusk",
              "Sabine",
              "San Augustine",
              "San Jacinto",
              "San Patricio",
              "San Saba",
              "Schleicher",
              "Scurry",
              "Shackelford",
              "Shelby",
              "Sherman",
              "Smith",
              "Somervell",
              "Starr",
              "Stephens",
              "Sterling",
              "Stonewall",
              "Sutton",
              "Swisher",
              "Tarrant",
              "Taylor",
              "Terrell",
              "Terry",
              "Throckmorton",
              "Titus",
              "Tom Green",
              "Travis",
              "Trinity",
              "Tyler",
              "Upshur",
              "Upton",
              "Uvalde",
              "Val Verde",
              "Van Zandt",
              "Victoria",
              "Walker",
              "Waller",
              "Ward",
              "Washington",
              "Webb",
              "Wharton",
              "Wheeler",
              "Wichita",
              "Wilbarger",
              "Willacy",
              "Williamson",
              "Wilson",
              "Winkler",
              "Wise",
              "Wood",
              "Yoakum",
              "Young",
              "Zapata",
              "Zavala",
              "Out Of State"
            ],
            "type": "string",
            "description": "Texas county filter (e.g. 'Travis', 'Harris', 'Dallas'). Select from the official TDLR county list. 'Out Of State' matches licensees located outside Texas. Leave empty for statewide results."
          },
          "zipCode": {
            "title": "ZIP Code",
            "type": "string",
            "description": "Texas ZIP code filter (e.g. '78701'). Use a 5-digit ZIP for the most precise geographic filter. Leave empty for statewide results."
          },
          "technicianType": {
            "title": "Technician Type",
            "enum": [
              "All",
              "Registered",
              "Certified"
            ],
            "type": "string",
            "description": "Filter A/C and electrical license results by technician classification. 'All' returns every technician. 'Registered' and 'Certified' narrow to the two TDLR technician tiers. Only meaningful for license programs that have technicians (Electricians, Air Conditioning Contractors).",
            "default": "All"
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of license records to return. Use a small value (5) to verify fields quickly, then scale to 100–1000 for production lead-gen lists. TDLR may cap a single search export; run multiple county/city filters to build larger datasets.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}