LLR
South Carolina Contractor Directory & Leads Scraper (LLR)
Every South Carolina commercial contractor licensed by SC LLR, with phone, street address, classification and owner. Filter by city, ZIP, classification and status.
Verification
Output fields
Authoritative field set from the dataset schema.
| Field | Type |
|---|---|
business_name | string|null |
person_name | string|null |
phone | string|null |
address | string|null |
city | string|null |
zip_code | string|null |
address_state | string|null |
state | string|null |
license_number | string|null |
license_type | string|null |
status | string|null |
classifications | array|null |
expiration_date | string|null |
issue_date | string|null |
qualified_by | string|null |
officers | array|null |
qualifiers | array|null |
requested_city | string|null |
requested_zip | string|null |
requested_classification | string|null |
matched_by | string|null |
city_name | string|null |
classification | string|null |
classification_code | string|null |
licences | integer|null |
notice | string|null |
notice_type | string|null |
source_url | string|null |
Sample row
{
"business_name": "RUMSEY CONSTRUCTION & RENOVATION LLC — DBA: RUMSEY CONSTRUCTION & RESTORATION",
"phone": "(803) 764-0222",
"address": "2630 SHOP RD",
"city": "COLUMBIA",
"address_state": "SC",
"zip_code": "29209-4600",
"license_number": "100101",
"license_type": "GENERAL CONTRACTOR",
"status": "ACTIVE",
"classifications": [
"Building-BD5"
],
"issue_date": "09/15/1999",
"expiration_date": "10/31/2028",
"officers": [
{
"role": "President / Owner",
"name": "BRENDON RUMSEY"
},
{
"role": "Vice President",
"name": "TONY RUMSEY"
}
],
"qualifiers": [
"RUMSEY TONY (CQG)"
],
"qualified_by": "Financial Statement",
"source_url": "https://verify.llronline.com/LicLookup/Contractors/Contractor.aspx?div=69"
} Inputs
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
listOptionsOnly | boolean | no | false | If true, return every city and every classification (with its code) on the roster, each with its count of licences. Free, not charged. |
city | string | no | "Columbia" | The city on the licence's address, e.g. 'Columbia', 'Greenville', 'Myrtle Beach'. Exact match; case and punctuation are ignored. A city with no matching licence returns a free row saying so. |
cities | array | no | [] | Several cities in ONE run, each searched separately. Combined with 'City' if you fill both. |
zip | string | no | — | A 5-digit ZIP code, matched against the licence's address ZIP, e.g. '29209'. |
zips | array | no | [] | Several ZIP codes in ONE run, each searched separately. |
classification | string | no | "Building" | An SC LLR classification, by code ('BD', 'AC', 'EL', 'PB') or by a word from its name ('Building', 'Air Conditioning', 'Electrical', 'plumb'). Leave empty for every classification. Discovery Mode lists them all. |
classifications | array | no | [] | Several classifications in ONE run. A contractor holding two of them is returned (and billed) once. |
licenseType | string | no | — | Filter by licence type, e.g. 'General Contractor', 'Mechanical Contractor', 'Construction Manager'. A word from the type is enough. |
licenseTypes | array | no | [] | Several licence types; a licence matching any of them is kept. |
statuses | array | no | ["Active"] | Licence statuses to include, e.g. Active, Lapsed, Suspended, Closed. Default: Active only. Empty list = every status (the roster keeps every licence ever issued, and only about 45% are Active). |
statewide | boolean | no | false | Return every licence that passes the status, licence-type and state filters, with no city, ZIP or classification. Without it, a run with no city, ZIP, classification or licence type returns the free Discovery lists instead. |
inSouthCarolinaOnly | boolean | no | true | Keep only licences with a South Carolina address. Many commercial licences are held by out-of-state firms (most often North Carolina and Georgia); turn this off to include them. |
maxResults | integer | no | — | Cap on the contractors returned PER city/ZIP + classification search, not per run. Leave empty to return every match. |
Pricing
Pay per result (dataset-item) — no charge for empty runs.
Example: 500 contractor records at $0.002/result ≈ $1.00.
FAQ
Where does the data come from?
SC LLR's public contractor licence lookup (Contractor's Licensing Board, commercial contractors). We sweep it once a month: every search plus every licence's detail page, which is where the phone, street address and officers are. The run log states the date of the sweep.
How current is it?
Up to about a month old. The current roster was read on 2026-10-24. A licence issued or renewed since the last sweep shows its state as of that sweep. To confirm one contractor's live status, check it on LLR's site.
Does it include email addresses?
No. LLR does not publish an email for contractors. Phone and street address are on almost every row.
Does it cover residential builders and specialty trades?
No. This is LLR's commercial contractor licence (General and Mechanical Contractors and Construction Managers). Residential builders and residential specialty contractors are licensed by a different LLR board and are not in this roster.
How do I search by trade?
Use 'classification' with a code (BD Building, EL Electrical, PB Plumbing, AC Air Conditioning, RF Roofing, GD Grading, WL Water & Sewer Lines, ...) or a word from its name ('roofing', 'plumb'). Run once with Discovery Mode on to get every classification with its code and count, free.
Why are there fewer rows than LLR's search shows?
By default the actor returns Active licences with a South Carolina address. On 2026-10-24 that was 11,476 of 45,025 licences. Clear the 'Statuses' list to get every status, and turn off 'South Carolina addresses only' to include out-of-state firms.
What happens if the monthly data cannot be loaded?
The run returns one free notice row saying so and charges nothing. It never returns a silent empty result.
How am I charged?
One event per contractor returned. Discovery lists, unknown-city notices and the unavailable notice are free.
Guides & use cases
Related actors