# Alabama Contractor License Lookup & List - GenConBd (`loomwise/alabama-contractor-licenses`) Actor

Alabama general contractor and subcontractor license list and GenConBd lookup, businesses only: license number, specialty, bid limit, expiration, address and phone.

- **URL**: https://apify.com/loomwise/alabama-contractor-licenses.md
- **Developed by:** [Loomwise](https://apify.com/loomwise) (community)
- **Categories:** Lead generation, Automation
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Alabama Contractor License List and GenConBd License Lookup (businesses only)

**Every licensed Alabama general contractor and subcontractor business, from the Alabama Licensing Board for General Contractors' (GenConBd) official license verification list.** About **11,000 active contractor businesses**: roughly 6,900 prime / general contractor licenses and 4,100 subcontractor licenses, covering building construction, electrical, mechanical, plumbing, HVAC, heavy and highway work, municipal and utility work and other specialties. Each row has the business name, license number, license kind, specialty, bid limit, expiration date, business phone, address, city, state and ZIP.

**Sample output** (real rows, a few of the columns):

| `businessName` | `licenseType` | `licenseNumber` | `trade` | `expirationDate` | `city` |
|---|---|---|---|---|---|
| 1ST CHOICE ELECTRICAL LLC | Prime contractor | 53745 | E: ELECTRICAL | 2026-09-30 | Birmingham |
| #1 SOUTHEAST PLUMBING LLC | Subcontractor | S-53030 | SUBCONTRACTOR:  PLUMBING | 2027-05-31 | Ozark |
| 3M CONSTRUCTION SERVICES LLC | Prime contractor | 61614 | BC-S: REMODELING AND ALTERATION, H/RR-S: INDUSTRIAL | 2027-07-31 | Saraland |
| 4 SEASONS HEATING AND AIR OF LANETT LLC | Subcontractor | S-49490 | SUBCONTRACTOR:  HEATING, VENTILATION, AND AIR CONDITIONING | 2027-09-30 | Lanett |

### Quick start: 3 ready-made searches

Press **Try for free**, open the **JSON** view of the input form, paste one of these and press **Start**. Results appear in the **Output** tab in seconds and export to Excel or CSV.

**Every active electrical contractor licensed in Alabama** (about 1,200 rows, so at most $3.60)

```json
{"categories": ["electrical"], "maxResults": 2000}
```

**Prime contractors in Birmingham, Mobile and Huntsville expiring by the end of 2026** (renewal prospecting, at most $6.00)

```json
{"categories": ["prime"], "cities": ["Birmingham", "Mobile", "Huntsville"], "expiresTo": "2026-12-31", "maxResults": 2000}
```

**Verify a list of Alabama contractor licenses**

```json
{"licenseNumbers": ["53745", "S-53030", "61614"]}
```

**Free to try:** Apify's free plan ($5/month in credit, no card needed) covers about **1,600 records** a month.
**Price:** $3.00 per 1,000 results.

No browser, no proxies, no login, no API key. The Actor downloads the board's official GenConLicenses.csv verification list, so a full run takes a few seconds.

### Three ways to use it

1. **Alabama contractor license lookup / verification.** Paste license numbers into `licenseNumbers` to check specialty, bid limit, expiration and address for a whole subcontractor list in one run.
2. **Full Alabama contractor list.** Filter by category (prime, subcontractor, building, electrical, mechanical, heavy), city, ZIP or business name.
3. **Renewal prospecting.** Use `expiresFrom` / `expiresTo` to find licenses coming up for renewal. The official file does not include a first-issue date.

### Categories

| `categories` value | What it includes | About (Nov 2026) |
|---|---|---|
| `prime` | State general contractor / prime licenses (numeric license numbers) | ~6,900 |
| `subcontractor` | Subcontractor licenses (S- prefix) | ~4,100 |
| `building` | Building construction and remodeling specialties | ~4,100 |
| `electrical` | Electrical specialties | ~1,200 |
| `mechanical` | Mechanical, plumbing and HVAC specialties | ~1,100 |
| `heavy` | Heavy, highway, railroad, municipal and utility specialties | ~2,600 |

A license can match more than one trade category (for example a prime license that is both building and electrical).

### What you get

| Field | Example |
|---|---|
| `businessName` | 1ST CHOICE ELECTRICAL LLC |
| `licenseNumber`, `licenseType`, `licenseKind` | 53745, Prime contractor, prime |
| `trade`, `category`, `bidLimit` | E: ELECTRICAL, electrical, $3,000,000 |
| `licenseStatus`, `isActive` | Active, true |
| `expirationDate`, `extensionDate` | 2026-09-30, or an extension date when the board has one |
| `businessAddress`, `businessPhone` | business address and phone of record, for registered entities |
| `city`, `state`, `zipCode` | Birmingham, AL, 35203 |
| `verifyUrl`, `sourceUrl`, `sourceAgency`, `retrievedAt` | official verification list, CSV URL, agency, timestamp |

### Input

| Field | What it does | Default |
|---|---|---|
| `categories` | `prime`, `subcontractor`, `building`, `electrical`, `mechanical`, `heavy` | all |
| `licenseNumbers` | Bulk lookup: only these licenses, any status | none |
| `cities` / `zipCodes` | Location filters | all |
| `keywords` | Business name or specialty contains | none |
| `alabamaOnly` | Skip out-of-state firms licensed in Alabama | false |
| `expiresFrom` / `expiresTo` | Expiration-date window (renewal prospecting) | none |
| `activeOnly` | Drop licenses the board marks inactive | true |
| `includeContactDetails` | Business address and phone | true |
| `maxResults` | Cap (you pay per result) | 100 |

### Who uses this

- **Lumber yards, building-supply, electrical, plumbing and HVAC distributors** prospecting Alabama contractor businesses.
- **Insurance, surety and bonding agents**, including renewal prospecting by expiration date.
- **General contractors, property managers and home-service marketplaces** verifying subcontractors in bulk.
- **Construction software, estimating and payments companies** selling to Alabama contractors.

### Privacy by design

- **Businesses only.** Person-named sole proprietors are dropped. Trade names without a legal-entity designator (for example "CORDILL ELECTRIC") are kept, but the street address and phone are blanked. `RUN_SUMMARY.droppedPersonName` shows the count.
- **No email addresses.** The official verification list does not include email, and this Actor never outputs one.

### Common questions

**Is this data legal to use?** Yes. The Alabama Licensing Board for General Contractors publishes this license verification list as a public CSV download on its official search site.

**How fresh is it?** Each run downloads the current official file. `RUN_SUMMARY.file` records the download size and last-modified header when the board sends one.

**How do I check an Alabama contractor license?** Paste the number into `licenseNumbers`, or part of the business name into `keywords`. Always confirm on the official GenConBd verification list (`verifyUrl`) before you hire.

**Does Alabama require a contractor license?** The Alabama Licensing Board for General Contractors licenses prime and subcontractor firms for commercial and other covered work. Residential home builders are licensed separately by the Alabama Home Builders Licensure Board and are not in this file.

**How much does it cost?** Free to try with Apify's free plan ($5/month credit, no credit card), which covers about 1,600 records a month. After that it is $3.00 per 1,000 results, plus a fraction of a cent per run.

**Can I get expiring licenses automatically every week?** Yes. Save your filters as a task and add a weekly **Schedule** with an `expiresTo` window. Send each batch to Google Sheets, Slack, email, Zapier, Make or n8n under **Integrations**.

**Can I call it from code or an AI agent?** Yes. Use the Apify API or the Python/JavaScript clients, or connect it to Claude, ChatGPT or Cursor through the Apify MCP server.

Data: Alabama Licensing Board for General Contractors, official license verification list (GenConLicenses.csv). Not affiliated with or endorsed by the Board or the State of Alabama.

### More contractor license tools from Loomwise

- [us-contractor-licenses](https://apify.com/loomwise/us-contractor-licenses): contractor license lookup across official sources in multiple states
- [iowa-contractor-registrations](https://apify.com/loomwise/iowa-contractor-registrations): Iowa DIAL construction contractor registration list and lookup
- [california-contractor-licenses](https://apify.com/loomwise/california-contractor-licenses): CSLB California contractor license lookup and list
- [minnesota-contractor-licenses](https://apify.com/loomwise/minnesota-contractor-licenses): Minnesota DLI contractor license lookup and list
- [virginia-contractor-licenses](https://apify.com/loomwise/virginia-contractor-licenses): Virginia DPOR Class A, B and C contractor license lookup and list
- [colorado-electrical-plumbing-contractors](https://apify.com/loomwise/colorado-electrical-plumbing-contractors): Colorado DORA electrical and plumbing contractors
- [illinois-idfpr-business-licenses](https://apify.com/loomwise/illinois-idfpr-business-licenses): Illinois IDFPR roofing contractors, design firms and licensed businesses
- [delaware-business-licenses](https://apify.com/loomwise/delaware-business-licenses): Delaware Division of Revenue business license list
- [texas-contractor-licenses](https://apify.com/loomwise/texas-contractor-licenses): Texas TDLR HVAC and electrical contractors
- [wa-contractor-licenses](https://apify.com/loomwise/wa-contractor-licenses): Washington L\&I contractor licenses
- [new-york-contractor-registry](https://apify.com/loomwise/new-york-contractor-registry): NYS Contractor Registry lookup and new contractors

# Actor input Schema

## `categories` (type: `array`):

prime (state general contractor / prime licenses), subcontractor, building, electrical, mechanical (including plumbing and HVAC), heavy (highways, railroad, municipal and utility). Empty = all.

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

Paste Alabama GenConBd license numbers (for example 53745 or S-53030). Returns those business licenses with any status and ignores the other filters. Unmatched numbers are listed in RUN_SUMMARY.

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

Exact city names, for example Birmingham, Mobile, Huntsville.

## `zipCodes` (type: `array`):

For example 352 (Birmingham) or 36601.

## `keywords` (type: `array`):

Case-insensitive, any of these words, for example roofing, electrical, plumbing.

## `alabamaOnly` (type: `boolean`):

Skip out-of-state firms licensed to work in Alabama.

## `expiresFrom` (type: `string`):

Renewal prospecting: expiration date on or after.

## `expiresTo` (type: `string`):

Expiration date on or before.

## `activeOnly` (type: `boolean`):

Drop licenses the board marks inactive (IA- prefix / specialty INACTIVE). Ignored in lookup mode.

## `includeContactDetails` (type: `boolean`):

Business address and phone of record, for registered entities only (never email).

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

You pay per result. About 11,000 active contractor businesses are on the official list.

## Actor input object example

```json
{
  "alabamaOnly": false,
  "activeOnly": true,
  "includeContactDetails": true,
  "maxResults": 100
}
```

# Actor output Schema

## `licenses` (type: `string`):

No description

## `runSummary` (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 = {
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("loomwise/alabama-contractor-licenses").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 = { "maxResults": 100 }

# Run the Actor and wait for it to finish
run = client.actor("loomwise/alabama-contractor-licenses").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 '{
  "maxResults": 100
}' |
apify call loomwise/alabama-contractor-licenses --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,loomwise/alabama-contractor-licenses"
        }
    }
}
```

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/vbxXJKa68I36SSXip/builds/pMX9d3SXv97kRZD3j/openapi.json
