# CSLB License Leads - California Contractor Lookup | $0.005 (`pink_comic/cslb-contractor-license-search`) Actor

Search California Contractors State License Board (CSLB) records. Find contractor license details including status, classification, bond info, workers comp, and disciplinary actions. Ideal for construction industry due diligence, vendor verification, and compliance research. Pay per result.

- **URL**: https://apify.com/pink\_comic/cslb-contractor-license-search.md
- **Developed by:** [Ava Torres](https://apify.com/pink_comic) (community)
- **Categories:** Lead generation, Business, MCP servers
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 contractor license records

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## CSLB Contractor License Lookup

Search the California Contractors State License Board (CSLB) for licensed contractor data. Verify licenses, generate construction leads, and check compliance status.

### What data do you get?

For each contractor, the scraper returns:

- **License number** and **status** (Active, Inactive, Expired, Suspended, Revoked)
- **Business name** and **DBA**
- **Business address** (city, state, zip)
- **Phone number**
- **License classifications** (e.g. B - General Building, C-10 - Electrical, C-36 - Plumbing)
- **Issue, expiration, and reissue dates**
- **Contractor bond** (company, number, amount)
- **Workers' compensation insurance** (carrier, policy, dates, or exempt status)
- **Personnel** listed on the license
- **Complaint/legal action disclosures**
- **Direct link** to the CSLB detail page

### How to search

**By license number** (fastest): Enter one or more license numbers to look up directly. No search form needed.

**By business name**: Enter a contractor business name (e.g. "Pacific Construction"). Returns matching results from CSLB search.

**By personnel name**: Enter a last name (and optional first name) to find licenses associated with an individual.

### Use cases

- **Contractor verification**: Confirm a contractor is licensed and in good standing before hiring
- **Construction leads**: Build targeted lists of licensed contractors by classification
- **Compliance checks**: Verify bond and workers' comp insurance for vendor qualification
- **Due diligence**: Check complaint and legal action history
- **Market research**: Analyze contractor density and specializations in California

### Input example

```json
{
    "businessName": "Pacific Construction",
    "maxResults": 25
}
````

Or look up specific licenses:

```json
{
    "licenseNumbers": ["1000001", "812345"],
    "maxResults": 10
}
```

### Output example

```json
{
    "licenseNumber": "1000001",
    "businessName": "PACIFIC CONSTRUCTION INC",
    "licenseStatus": "Active",
    "city": "LOS ANGELES",
    "state": "CA",
    "zip": "90001",
    "classifications": [
        {"code": "B", "description": "General Building Contractor"}
    ],
    "issueDate": "01/15/2020",
    "expirationDate": "01/31/2026",
    "contractorBond": {
        "company": "SURETY COMPANY OF CALIFORNIA",
        "amount": "$25,000"
    },
    "workersComp": {
        "carrier": "STATE COMPENSATION INSURANCE FUND",
        "policyNumber": "1234567"
    },
    "hasComplaints": false,
    "detailUrl": "https://www.cslb.ca.gov/onlineservices/checklicenseII/LicenseDetail.aspx?LicNum=1000001"
}
```

### Pricing

Pay per result -- $0.005 per contractor record returned. No monthly fees.

### Tips

- Use **license number lookup** when you know specific numbers -- it's fastest and bypasses search.
- Set **maxResults** to control costs. Default is 25.
- CSLB has ~300,000 active licenses. Business name searches can return many results.
- The CSLB database has occasional maintenance windows (usually weekends). If you get 0 results unexpectedly, try again later.

# Actor input Schema

## `licenseNumbers` (type: `array`):

Look up specific license numbers (e.g. "1000001", "812345"). Fastest search method.

## `businessName` (type: `string`):

Search by contractor business name (e.g. "Pacific Construction", "ABC Plumbing").

## `personnelLastName` (type: `string`):

Search by individual name on the license. Last name required.

## `personnelFirstName` (type: `string`):

Optional first name to narrow personnel search.

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

Maximum number of contractor records to return.

## Actor input object example

```json
{
  "licenseNumbers": [],
  "businessName": "",
  "personnelLastName": "",
  "personnelFirstName": "",
  "maxResults": 25
}
```

# 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 = {
    "licenseNumbers": [],
    "businessName": "",
    "personnelLastName": "",
    "personnelFirstName": "",
    "maxResults": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("pink_comic/cslb-contractor-license-search").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 = {
    "licenseNumbers": [],
    "businessName": "",
    "personnelLastName": "",
    "personnelFirstName": "",
    "maxResults": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("pink_comic/cslb-contractor-license-search").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 '{
  "licenseNumbers": [],
  "businessName": "",
  "personnelLastName": "",
  "personnelFirstName": "",
  "maxResults": 25
}' |
apify call pink_comic/cslb-contractor-license-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=pink_comic/cslb-contractor-license-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CSLB License Leads - California Contractor Lookup | $0.005",
        "description": "Search California Contractors State License Board (CSLB) records. Find contractor license details including status, classification, bond info, workers comp, and disciplinary actions. Ideal for construction industry due diligence, vendor verification, and compliance research. Pay per result.",
        "version": "0.1",
        "x-build-id": "iVZB6c8RspGUt4BAS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/pink_comic~cslb-contractor-license-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-pink_comic-cslb-contractor-license-search",
                "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/pink_comic~cslb-contractor-license-search/runs": {
            "post": {
                "operationId": "runs-sync-pink_comic-cslb-contractor-license-search",
                "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/pink_comic~cslb-contractor-license-search/run-sync": {
            "post": {
                "operationId": "run-sync-pink_comic-cslb-contractor-license-search",
                "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": {
                    "licenseNumbers": {
                        "title": "License Numbers",
                        "type": "array",
                        "description": "Look up specific license numbers (e.g. \"1000001\", \"812345\"). Fastest search method.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "businessName": {
                        "title": "Business Name",
                        "type": "string",
                        "description": "Search by contractor business name (e.g. \"Pacific Construction\", \"ABC Plumbing\").",
                        "default": ""
                    },
                    "personnelLastName": {
                        "title": "Personnel Last Name",
                        "type": "string",
                        "description": "Search by individual name on the license. Last name required.",
                        "default": ""
                    },
                    "personnelFirstName": {
                        "title": "Personnel First Name",
                        "type": "string",
                        "description": "Optional first name to narrow personnel search.",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of contractor records to return.",
                        "default": 25
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
