# Louisiana LSLBC Licensed Contractors Scraper (`scrapers_lat/louisiana-lslbc-contractors-scraper`) Actor

Extract licensed Louisiana contractors from the LSLBC registry: name, license #, status, type, address, phone, email, insurance and qualifying parties. Filter by name, license, city, parish or type. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/louisiana-lslbc-contractors-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 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

## Louisiana LSLBC Licensed Contractors Scraper

> Turn the Louisiana State Licensing Board for Contractors (LSLBC) registry into clean, exportable contractor leads — complete with phone, email, mailing address, license status, insurance and qualifying parties.

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

### What you get

For every licensed Louisiana contractor matching your search, this actor returns a flat, spreadsheet-ready record:

- **Contact:** phone number, email address, full mailing address (street, city, state, ZIP)
- **License:** license number, type (Commercial, Residential, Home Improvement, Mold Remediation), status, effective / expiration / first-issued dates
- **Classifications & qualifying parties:** trade classifications and the qualifying party names tied to each license
- **Insurance:** workers' comp and general-liability policy numbers, expiration and status, plus a full insurance summary
- **Provenance:** which filter produced the record and when it was observed

You only pay for real contractor records — empty or failed runs are never charged.

### Who is it for

- Suppliers, subcontractors and service providers building **contractor lead lists** in Louisiana
- Insurance, bonding and compliance teams verifying **license status and coverage**
- Market researchers and data teams needing **bulk, filterable** contractor data

### How to use it

1. Pick your filters: one or more **parishes**, **cities**, **contractor/company names**, **license numbers**, a **contractor type**, and/or a **qualifying party** last name. Each list runs its own search and results are merged and de-duplicated.
2. Keep **Fetch Full Details** on to enrich every contractor with phone, email, insurance and classifications.
3. Set **Max Contractors To Scrape** and run. Export to JSON, CSV or Excel.

### FAQ

**Which contractors are covered?** Currently licensed contractors listed in the LSLBC public registry across all 64 Louisiana parishes.

**Can I pull a whole parish?** Yes — enter a parish (e.g. Orleans) and raise the max to bulk-collect its contractors.

**Do I need any login or configuration?** No. No cookies, keys or proxy setup — everything is handled internally.

***

Part of the [scrapers.lat](https://scrapers.lat) catalog of public-data scrapers.

*Not affiliated with, endorsed by, or connected to the Louisiana State Licensing Board for Contractors. Collects publicly available information only.*

# Actor input Schema

## `parishes` (type: `array`):

One or more Louisiana parishes to list contractors from (e.g. Orleans, Jefferson, East Baton Rouge). Runs one search per parish.

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

One or more city/town names (e.g. New Orleans, Baton Rouge). Runs one search per city.

## `contractorNames` (type: `array`):

One or more contractor or company names to search for.

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

One or more LSLBC license/account numbers to look up.

## `contractorType` (type: `string`):

Restrict results to a license type.

## `qualifyingParty` (type: `string`):

Filter by the qualifying party's last name.

## `withDetails` (type: `boolean`):

When ON (default), each contractor is enriched with phone, email, mailing address, license status/dates, insurance and qualifying parties. Turn OFF to return listing-only rows.

## `maxContractors` (type: `integer`):

Maximum number of contractors to return across the whole run.

## `userIsPaying` (type: `string`):

Internal flag.

## `withLeadScore` (type: `boolean`):

When ON, each contractor is scored 0-100 as a B2B outreach lead with a hot/warm/cold tier and rationale (AI). Paid add-on, charged only when a score is produced. Requires a paid Apify plan.

## `withProfileSummary` (type: `boolean`):

When ON, each contractor gets a concise plain-language business profile summary (AI). Paid add-on, charged only when a summary is produced. Requires a paid Apify plan.

## Actor input object example

```json
{
  "parishes": [
    "Orleans"
  ],
  "contractorType": "",
  "withDetails": true,
  "maxContractors": 50,
  "userIsPaying": "",
  "withLeadScore": false,
  "withProfileSummary": false
}
```

# 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 = {
    "parishes": [
        "Orleans"
    ],
    "maxContractors": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/louisiana-lslbc-contractors-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 = {
    "parishes": ["Orleans"],
    "maxContractors": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/louisiana-lslbc-contractors-scraper").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 '{
  "parishes": [
    "Orleans"
  ],
  "maxContractors": 50
}' |
apify call scrapers_lat/louisiana-lslbc-contractors-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/louisiana-lslbc-contractors-scraper"
        }
    }
}

```

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/KnxaKk5yOeOoVYJKI/builds/2szxwXVNpvvkrCT4u/openapi.json
