South Carolina Contractor License Lookup & Verify (SC LLR)
Pricing
from $0.01 / license match
South Carolina Contractor License Lookup & Verify (SC LLR)
Search and verify South Carolina contractors by name, license number, city, or classification — license #, status, type, and city — from the official SC LLR registry.
Pricing
from $0.01 / license match
Rating
0.0
(0)
Developer
ScrapeBench
Maintained by CommunityActor stats
0
Bookmarked
67
Total users
7
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Pain points
- The SC LLR portal is one slow manual lookup at a time — and every search makes you pass a CAPTCHA.
- It isn't built for compliance workflows, CRM enrichment, or bulk contractor vetting.
- Checking license status, type, and classification across many contractors by hand doesn't scale.
What we solve
- Search the SC LLR contractor board by name, license number, city, or classification — one call, the CAPTCHA handled for you.
- Returns the license number, status, type, business/licensee name, and city for every match.
- Turn a name or classification into a full structured table of contractors, ready for a CRM or spreadsheet.
Summary
Search and verify South Carolina contractors straight from the official SC Department of Labor, Licensing & Regulation (LLR) registry. Enter a business or licensee name, a license number, a city, or a contractor classification and get back a structured table of matches — license number, status, type, business/licensee name, and city. The portal gates every search behind a CAPTCHA; this actor clears it for you, so a single search can return a whole board of contractors. Built for license verification, compliance checks, and turning a name or classification into a clean contractor list.
Who it's for
- GCs and hiring managers vetting South Carolina subcontractors
- Insurance underwriters and lenders running KYC on contractors
- Compliance teams and marketplaces verifying SC LLR licenses
- RevOps and BD teams building contractor lead lists by classification
How to use
This actor does two jobs. Run it, then collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API).
Get a list (export): no names, just filters; returns the whole matching list.
{"mode": "export","cities": ["Columbia"],"classifications": ["BD"],"maxResults": 200}
Check specific firms (lookup): put company names or licence numbers in lastName, classification; Inputs below says how each is matched.
{"lastName": "Smith","classification": "All","maxResults": 25}
See Inputs below for every available field.
What you get
One row per record:
| Field | Description |
|---|---|
state | Always 'SC' for this actor |
license_number | SC LLR contractor license number |
status | License status (e.g. Active, Lapsed) |
license_type | Contractor classification (e.g. GENERAL CONTRACTOR, MECHANICAL CONTRACTOR) |
business_name | Licensed business name (and DBA, when listed) |
person_name | Individual licensee name (LAST, FIRST), when held by a person |
city | Licensee city |
matched_by | Which input surfaced this match: license_number, name, city, or classification |
source_url | The official SC LLR contractor search, where the license number can be looked up (SC's per-license pages only open inside the search session, so no stable deep link exists) |
Sample:
{"state": "SC","license_number": "116578","business_name": "PAUL L.W. SMITH INC \u2014 DBA: SMITH CONSTRUCTION","person_name": null,"license_type": "GENERAL CONTRACTOR","status": "Active","issue_date": null,"expiration_date": null,"city": "KINGSTON","county": null,"address": null,"zip_code": null,"phone": null,"bond_amount": null,"bond_company": null,"insurance_company": null,"matched_by": "name","source_url": "https://verify.llronline.com/LicLookup/Contractors/Contractor.aspx?div=69"}
Inputs
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
mode | no | string | "auto" | auto (default): a name, licence number, city or classification below runs the LIVE search; the export keys further down (cities, ZIPs, classifications, licence types, statewide) run the statewide export. lookup: live search only. export: the statewide export, live-search keys read as its filters. |
queries | no | array | [] | Each value is its own live search (one CAPTCHA solve and one search fee each): a licence number, else a business or last name. |
query | no | string | — | One value; same as the batch list. |
lastName | no | string | "Smith" | Search by business name or an individual licensee's last name (partial matches allowed, e.g. 'Smith'). Combine with other fields to narrow results. |
firstName | no | string | — | Individual licensee's first name. Only useful together with a last name. |
licenseNumber | no | string | — | Exact SC contractor license number (numeric, e.g. '116578'). When set, returns that specific license. |
licenseNumbers | no | array | [] | Look up many in ONE run instead of starting a run per lookup. Takes the same values as 'License number'. Combined with 'License number' if you fill both, and duplicates are removed. Billing is unchanged: you are charged per record returned, not per entry submitted. |
city | no | string | — | Filter results to a licensee city (e.g. 'Columbia'). |
classification | no | string | "All" | Filter to a contractor classification. 'All' returns every classification (must be combined with another field). Tip: a name or classification search returns many licenses from one lookup. |
maxResults | no | integer | — | Cap on the number of records returned PER ENTRY, not per run — so a batch cannot silently return only the first 50 rows overall and read as 'the rest don't exist'. Defaults to 50. Unset: 50 per live search; every match per export search. |
cities | no | array | [] | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): Several cities in ONE run, each searched separately. Combined with 'City' if you fill both. |
zip | no | string | — | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): A 5-digit ZIP code, matched against the licence's address ZIP, e.g. '29209'. |
zips | no | array | [] | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): Several ZIP codes in ONE run, each searched separately. |
classifications | no | array | [] | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): Several classifications in ONE run. A contractor holding two of them is returned (and billed) once. |
licenseType | no | string | — | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): Filter by licence type, e.g. 'General Contractor', 'Mechanical Contractor', 'Construction Manager'. A word from the type is enough. |
licenseTypes | no | array | [] | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): Several licence types; a licence matching any of them is kept. |
statuses | no | array | — | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): 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). Unset: Active on the export; every status on a live search (a live search filters its rows by these words when set). |
statewide | no | boolean | false | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): 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 | no | boolean | — | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): 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. Unset = on. |
listOptionsOnly | no | boolean | false | Statewide export (a monthly snapshot of SC LLR's Commercial Contractors board, no CAPTCHA, no search fee): If true, return every city and every classification (with its code) on the roster, each with its count of licences. Free, not charged. |
status | no | string | — | One status; same as Statuses. |
proxyConfiguration | no | object | {"useApifyProxy": false} | Optional, for the live search only (the export never contacts LLR). LLR is reachable directly; set a proxy only if a run is blocked. |
Pricing (Pay Per Event)
Two charges: a per-search fee (search, $0.02/search) that covers the live, gated lookup, plus a per-match fee (license-match, $0.01/match). Example: a search returning 25 license matches ≈ $0.27 ($0.02 search + 25 matches). A search with no matches is billed only the $0.02 search fee.
Illustrative — final prices are set at publish time. This actor solves a CAPTCHA on every search (a real per-run cost), so it charges a small per-search fee plus a per-match fee. Apify platform usage (compute) is billed separately per your plan. The statewide export charges only 'License match' per row, no search fee: on the 2026-10-24 snapshot a statewide export with the default filters (Active, South Carolina addresses) is 11,476 rows, about $114.76.
Use cases
- License verification — confirm a South Carolina contractor's license number, status, and type before hiring or onboarding.
- List building — pull the contractors of one classification in a city (e.g. Building in Columbia), or every licence matching a surname, into a structured table. SC LLR will not run a classification search statewide, so a classification has to be paired with a city or a name.
- Compliance checks — pull authoritative SC LLR data on demand for audits and due diligence.
- Lender / insurer due diligence — verify a contractor's standing straight from the state registry.
Why this actor
- Straight from the official South Carolina LLR public registry — authoritative, not a stale third-party copy.
- Clears the portal's search CAPTCHA for you — one search can return a whole board of contractors.
- Search by name, license number, city, or classification; results deduped by license #.
- Per-search fee covers the live lookup; per-match fee only for real records returned.
Limitations & updates
Covers the South Carolina LLR public contractor registry only. Results reflect the live registry and change as it updates. The list view returns license number, status, type, business/licensee name, and city; detail-only fields (street address, county, expiration date, bond/insurance) are not in the list view and are returned null. A single run reads the first results page bounded by maxResults (default 50); 'classification=All' must be combined with another field. The statewide export (mode export, or cities / ZIPs / classifications / licence types / statewide) reads a monthly snapshot of LLR's Commercial Contractors board instead of the live search: no CAPTCHA and no search fee, rows up to about a month old (the run log states the sweep date), with phone, street address, classifications, officers and qualifiers where the sweep read the detail page; it defaults to Active licences with a South Carolina address. A live search still runs only on the keys this actor always had (name, licence number, city, classification). Bond/insurance fields are included in the schema for suite consistency but are not published here (returned null).
FAQ
Where does the data come from?
The official South Carolina Department of Labor, Licensing & Regulation (LLR) public contractor registry at verify.llronline.com.
What can I search by?
A business or licensee last name, a first name, an exact license number, a city, and/or a contractor classification (e.g. GENERAL CONTRACTOR). Combine fields to narrow results; results are deduped by license number.
What fields do I get?
License number, status, license type/classification, business name (and DBA), individual licensee name, and city — plus a link to the official SC LLR contractor search to re-check the license there.
How am I charged?
Two charges: a small per-search fee that covers the live, CAPTCHA-gated lookup, plus a per-match fee for each license returned. A search with no matches is billed only the per-search fee.
Can I export every contractor, not just search?
Yes. Set mode to export (or give cities, ZIPs, classifications, licence types or statewide) and the run filters a monthly snapshot of LLR's Commercial Contractors board instead of searching live: no CAPTCHA, no search fee, 'License match' per row. It defaults to Active licences with a South Carolina address; the run log states the sweep date.
Why is there a per-search fee when other lookup actors don't have one?
The SC LLR portal gates every search behind a CAPTCHA, which costs real money to clear on each run. The per-search fee covers that; because one search can return many contractors, the per-match cost stays low.
Is this personal data?
It's public professional-license data (business and license-holder records as SC LLR publishes them); we add no personal/PII enrichment.
How current is it?
It reflects the live SC LLR registry at lookup time.
Which actor to choose
Part of the contractor-license verification suite — pick the one that fits your goal:
- California Contractor License Lookup & Verify (CSLB) — You need a California contractor verified — by license number, business, or owner/personnel name (CSLB).
- Florida Contractor Directory & Leads Scraper (DBPR) — You're verifying a Florida contractor or tradesperson — type, status, expiration, county (DBPR).
- Louisiana Contractor License Lookup & Leads Scraper (LSLBC) — You want the full Louisiana roster — 50,000+ commercial, residential & specialty licenses as data (LSLBC).
- US Contractor License Lookup & List Scraper (State Boards) — You don't know the state, or want the same contractor checked across many states in one run.
- Nevada Contractor License Lookup & Verify (NSCB) — You need a Nevada contractor's status, trade classifications, bond & principals (NSCB).
- New Mexico Contractor License Lookup & List Scraper (NM CID) — You're verifying a New Mexico contractor — license #, status, city/ZIP, expiry (NM CID).
- North Carolina Contractor License Lookup & Verify (NCLBGC) — You're verifying a North Carolina general contractor — classification, status, expiration (NCLBGC).
- Oregon Contractor License Lookup & Verify (CCB) — You're verifying an Oregon contractor — status, bond, insurance & RMI (CCB).
- Tennessee Contractor License Lookup & Verify (TN DOCI) — You're verifying a Tennessee contractor or tradesperson — type, status, city & county (TN DOCI).
- Texas Contractor & Trade License Lookup & Export (TDLR) — You're verifying a Texas electrician, HVAC or trade license — type, expiration, county & owner (TDLR).
- Virginia Contractor License Lookup (DPOR Bulk) — You want the full Virginia roster — 50,000+ Class A/B/C and trade licenses as bulk data (DPOR).
- Washington Contractor License Lookup & Verify (L&I) — You're verifying a Washington contractor — type, status, expiration, principal (L&I).
- Alabama Contractor License Lookup & Verify (LBGC) — You're verifying an Alabama general contractor — classification, city, phone, expiration (LBGC).
- Arkansas Contractor License Lookup & Verify (ACLB) — You're verifying an Arkansas contractor — validity, type, expiration, city & county (ACLB).
- Michigan Contractor License Lookup & Verify (LARA) — You're verifying a Michigan builder or trade contractor — type, status, expiration (LARA).
- Minnesota Contractor License Lookup & Leads Scraper (DLI) — You're verifying a Minnesota residential contractor — subtype, status, expiration, enforcement flags (DLI).
- Massachusetts Construction License Lookup & Verify (CSL) — You're verifying a Massachusetts Construction Supervisor License — type, status, expiration (CSL).
- Iowa Contractor Registration Lookup & Leads Scraper (DIAL) — You need Iowa contractors — every active DIAL registration statewide, with phone and email, filtered by trade, county, city or ZIP.
- Mississippi Contractor License Lookup & Leads Scraper (MSBOC) — You need Mississippi contractors — the active MSBOC roster with phone, street address and classifications, by county or class.
- Ohio Contractor License Lookup & Leads Scraper (OCILB) — You need Ohio electrical, HVAC, plumbing, hydronics or refrigeration contractors — the full OCILB roster, by trade and county.
- Nebraska Contractor Registration Lookup & Leads Scraper (NDOL) — You need Nebraska contractors — every current NDOL registration, by service and county, with phone on request.
- Delaware Contractor License Lookup & List Scraper (DOR + DPR) — You need Delaware contractors — DOR business licences plus DPR electrical, plumbing and HVACR licences, by city or ZIP.
Guides & use cases
Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:
- How-to: How to run South Carolina Contractor License Lookup & Verify (SC LLR)
- Use case: Columbia, SC Building Contractor List with Phone Numbers
- Use case: Find Every SC Contractor License by Name
- Use case: List South Carolina General Contractors in a City
- Use case: Verify a South Carolina Contractor by License Number
More actors, coverage and nightly verification results: scrapebench.dev
Works with n8n
Ready-made n8n templates that call this actor:
- Monitor contractor licences and alert 30 days before expiry — free template. Step-by-step guide
- Verify contractor licenses in your lead list — free template. Step-by-step guide
- Verify a subcontractor's licence when they submit your onboarding form — free template. Step-by-step guide
Works with AI assistants (MCP)
Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the MCP tab on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.
Then just ask:
"Find South Carolina contractors with the last name Smith."
South Carolina's portal is CAPTCHA-gated, so each search carries a per-search fee on top of the per-match price — narrow searches keep agent-driven runs cheap. Runs started this way bill exactly like any other run.
Data & lawful use
This actor collects publicly available information that the South Carolina Department of Labor, Licensing and Regulation publishes for public lookup — licence records, business listings and the contact details professionals list there. Some of it identifies individuals (sole proprietors, licence holders, agents), so treat any names, phone numbers and emails in your results as personal data.
When you run this actor, you decide what is collected and what it is used for, so you are the controller of that data and we act only as your processor (Apify Standard Actor Contract). You need a lawful basis for your use, must honour opt-out and deletion requests, and must follow the marketing rules that apply to you (CAN-SPAM, TCPA, GDPR, CCPA and similar). Don't use the output for unsolicited bulk messaging, for screening covered by the FCRA, or for anything the source's own terms forbid.
Your results are stored in your own Apify account. We don't keep a copy of your results and don't sell or share them.
Disclaimer
This is an independent tool. It is not affiliated with, endorsed by or sponsored by the South Carolina Department of Labor, Licensing and Regulation. Names and marks are used only to describe the data source. Records are provided as published by the source and may be out of date or incomplete. For anything consequential (hiring, a permit, a legal decision), confirm the record with the issuing agency. You are responsible for making sure your use complies with applicable law and the source's terms.
Need help?
Open an issue on this actor's Issues tab and we'll respond there. Bug reports, missing fields and feature requests are all welcome. Guides and examples: scrapebench.dev.
If you are a person named in this data and want your record removed from our copy, email apify-help@scrapebench.dev; the source agency remains the official record.
Your run may be used to improve our services. If something looks off, or you want this actor to fit your use better, please share your run data with us: Apify Console → Settings → Security → Share run data with developers. It lets us see exactly what went wrong and keep improving the actor.