{
  "openapi": "3.0.1",
  "info": {
    "title": "🏗️ California CSLB Contractor Scraper — Licenses & Leads",
    "description": "Find and verify California CSLB contractors by license, classification, county, city, or ZIP. Export license status, phone, bonds, workers’ compensation, and personnel.",
    "version": "0.1",
    "x-build-id": "EvG3d4Wf0UdEQNnKB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zapticx~california-cslb-contractor-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zapticx-california-cslb-contractor-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/zapticx~california-cslb-contractor-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zapticx-california-cslb-contractor-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/zapticx~california-cslb-contractor-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zapticx-california-cslb-contractor-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": {
          "searchMode": {
            "title": "Acquisition mode",
            "enum": [
              "auto",
              "master",
              "lookup"
            ],
            "type": "string",
            "description": "Auto uses the efficient statewide bulk source and adds live verification when requested. Lookup is intended for identifier searches and implies live verification.",
            "default": "auto"
          },
          "licenseNumbers": {
            "title": "CSLB license numbers",
            "type": "array",
            "description": "One or more numeric CSLB license numbers (up to 8 digits). When provided, identifier matching takes precedence over discovery filters.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "businessNames": {
            "title": "Exact business names",
            "type": "array",
            "description": "Business-name lookup uses case-insensitive exact CSLB name matching. This is not fuzzy or Google-style search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "classifications": {
            "title": "License classifications",
            "type": "array",
            "description": "Official CSLB codes. Common examples: B — General Building; C-10 — Electrical; C-20 — Warm-Air Heating, Ventilating and Air-Conditioning; C-27 — Landscaping; C-36 — Plumbing; C-39 — Roofing. Multiple values use OR semantics.",
            "default": [
              "C-36"
            ],
            "items": {
              "type": "string"
            }
          },
          "counties": {
            "title": "California counties",
            "uniqueItems": true,
            "type": "array",
            "description": "Exact California county names. Multiple counties use OR semantics.",
            "items": {
              "type": "string",
              "enum": [
                "Alameda",
                "Alpine",
                "Amador",
                "Butte",
                "Calaveras",
                "Colusa",
                "Contra Costa",
                "Del Norte",
                "El Dorado",
                "Fresno",
                "Glenn",
                "Humboldt",
                "Imperial",
                "Inyo",
                "Kern",
                "Kings",
                "Lake",
                "Lassen",
                "Los Angeles",
                "Madera",
                "Marin",
                "Mariposa",
                "Mendocino",
                "Merced",
                "Modoc",
                "Mono",
                "Monterey",
                "Napa",
                "Nevada",
                "Orange",
                "Placer",
                "Plumas",
                "Riverside",
                "Sacramento",
                "San Benito",
                "San Bernardino",
                "San Diego",
                "San Francisco",
                "San Joaquin",
                "San Luis Obispo",
                "San Mateo",
                "Santa Barbara",
                "Santa Clara",
                "Santa Cruz",
                "Shasta",
                "Sierra",
                "Siskiyou",
                "Solano",
                "Sonoma",
                "Stanislaus",
                "Sutter",
                "Tehama",
                "Trinity",
                "Tulare",
                "Tuolumne",
                "Ventura",
                "Yolo",
                "Yuba"
              ]
            },
            "default": []
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Case-insensitive exact city matches; nearby cities are not included. Multiple values use OR semantics.",
            "default": [
              "Los Angeles"
            ],
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "title": "ZIP codes",
            "type": "array",
            "description": "Five-digit California ZIP codes or ZIP+4 values, preserved as strings.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "licenseStatuses": {
            "title": "License status",
            "uniqueItems": true,
            "type": "array",
            "description": "Friendly status derived from CSLB standing, expiration, and inactivation fields. Multiple values use OR semantics.",
            "items": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "INACTIVE",
                "EXPIRED",
                "SUSPENDED"
              ]
            },
            "default": []
          },
          "includeBond": {
            "title": "Include bond data",
            "type": "boolean",
            "description": "Attach available contractor, workers/employee, and disciplinary bond records.",
            "default": true
          },
          "includeWorkersComp": {
            "title": "Include workers’ compensation",
            "type": "boolean",
            "description": "Attach current or most recent CSLB workers’ compensation records.",
            "default": true
          },
          "includePersonnel": {
            "title": "Include personnel",
            "type": "boolean",
            "description": "Attach current publicly associated personnel. This requires a larger related-file scan and adds one $0.015 personnel-enrichment charge per run, never per person.",
            "default": false
          },
          "verifyLive": {
            "title": "Verify selected licenses live",
            "type": "boolean",
            "description": "Check each selected license against the current CSLB license-detail page. Bulk results are retained if optional verification fails.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum unique contractor/license records to return.",
            "default": 10
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}