North Carolina NCLBGC General Contractor License Scraper
Pricing
from $10.20 / 1,000 licensee records
North Carolina NCLBGC General Contractor License Scraper
Bulk-export North Carolina licensed general contractors: name, license #, classifications, status, expiration, address and phone. Filter by classification, city, company or name. Export to JSON, CSV or Excel.
Pricing
from $10.20 / 1,000 licensee records
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
North Carolina NCLBGC General Contractor License Scraper
Here is one real result, with every field the actor returns:
{"licenseNumber": "L.03947","name": "Rodgers Builders, Inc.","accountType": "License","status": "Active","phone": "7045376044","addressStreet": "PO Box 18446","city": "Charlotte","state": "NC","zip": "28218","addressFull": "PO Box 18446, Charlotte, NC 28218","firstIssuedDate": "02/20/1964","expirationDate": "12/31/2026","licenseLimitation": "Unlimited","activeClassifications": ["Unclassified"],"searchType": "classification","searchQuery": "Building","detailFetched": true,"source": "North Carolina NCLBGC (Licensing Board for General Contractors)","observedAt": "2026-08-09T05:08:17.514Z"}
The most complete North Carolina NCLBGC general contractor license scraper available. It returns every field the NCLBGC registry exposes for each licensee, including phone, full mailing address and active classifications, and gives you eight ways to search so you can target exactly the contractors you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches the North Carolina Licensing Board for General Contractors (NCLBGC) public license registry by classification, city, company name, qualifier/owner name, license number or phone, and writes one normalized record per licensee to the run's dataset. Each result row carries the license number, name, account type and status; when full details are enabled (default), the record is enriched from the licensee detail page with phone, full mailing address, first-issued and expiration dates, license limitation and active classifications. Missing source values are returned as null.
Data covers North Carolina licensed general contractors only. No account, key or login is required.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 Building-classification licensees with full details.
{"classificationTypes": ["Building"],"withDetails": true,"maxLicensees": 10}
Provide at least one search: classificationTypes, cities, companyNames, lastNames, licenseNumbers or phoneNumbers. One search runs per list item. Set activeOnly to true to skip archived, expired or revoked records.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
classificationTypes | string[] | no | ["Building"] | License classifications to pull, by name (for example Building, Residential, Highway, Public Utilities) or numeric id. One search per item. |
cities | string[] | no | (empty) | North Carolina cities to pull contractors from, for example Charlotte, Raleigh, Durham. One search per city. |
companyNames | string[] | no | (empty) | Company / business names to look up. Partial names match. One search per name. |
lastNames | string[] | no | (empty) | Last names of the license qualifier or owner. One search per name. |
firstName | string | no | (empty) | Optional first name applied to the last-name searches. |
licenseNumbers | string[] | no | (empty) | Specific NCLBGC license / account numbers to fetch, for example L.06263. One lookup per number. |
phoneNumbers | string[] | no | (empty) | Reverse-lookup licensees by phone number. One search per number. |
stateCode | string | no | (empty) | Optional 2-letter state filter for the mailing address, for example NC. |
postalCode | string | no | (empty) | Optional ZIP filter applied to city / classification searches. |
streetAddress | string | no | (empty) | Optional street address filter. |
useSoundex | boolean | no | false | Include phonetically similar (soundex) name matches. |
activeOnly | boolean | no | false | Return only currently active / valid licenses and skip archived, expired or revoked records. |
withDetails | boolean | no | true | Fetch each licensee's detail page for phone, full address, expiration, license limitation and active classifications. Turn off for a faster name/license-only list. |
maxLicensees | integer | no | 100 | Maximum number of licensee records to return across all searches. Free Apify plans are capped at 10 per run. |
Output reference
One dataset item per licensee. Types: string, string[], boolean, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
licenseNumber | string | NCLBGC license / account number (unique per licensee). |
name | string | Contractor name. |
accountType | string | Account type, for example License. |
status | string | License status, for example Active. |
phone | string | Phone, from the detail page, or null. |
addressStreet | string | Street or PO box line, or null. |
city | string | Mailing city, or null. |
state | string | Two-letter state code, or null. |
zip | string | ZIP code, or null. |
addressFull | string | Full single-line mailing address, or null. |
firstIssuedDate | string | First-issued date as shown by the source (MM/DD/YYYY), or null. |
expirationDate | string | Expiration date as shown by the source (MM/DD/YYYY), or null. |
licenseLimitation | string | Monetary limitation, for example Unlimited, or null. |
activeClassifications | string[] | Active trade classifications, or null. |
searchType | string | Which search produced the record, for example classification, city, licenseNumber. |
searchQuery | string | The search value used. |
detailFetched | boolean | true when the detail page was fetched and merged, else false. |
source | string | Data source. Always North Carolina NCLBGC (Licensing Board for General Contractors). |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed run, when a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"classificationTypes":["Building"],"withDetails":true,"maxLicensees":10}):
{"licenseNumber": "L.03947","name": "Rodgers Builders, Inc.","accountType": "License","status": "Active","phone": "7045376044","addressStreet": "PO Box 18446","city": "Charlotte","state": "NC","zip": "28218","addressFull": "PO Box 18446, Charlotte, NC 28218","firstIssuedDate": "02/20/1964","expirationDate": "12/31/2026","licenseLimitation": "Unlimited","activeClassifications": ["Unclassified"],"searchType": "classification","searchQuery": "Building","detailFetched": true,"source": "North Carolina NCLBGC (Licensing Board for General Contractors)","observedAt": "2026-08-09T05:08:17.514Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~north-carolina-nclbgc-contractors-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"cities":["Raleigh"],"activeOnly":true,"maxLicensees":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~north-carolina-nclbgc-contractors-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"classificationTypes":["Residential"],"maxLicensees":100}'
Apify CLI:
apify call scrapers_lat/north-carolina-nclbgc-contractors-scraper \--input '{"licenseNumbers":["L.03947"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per record returned (
resultevent). When full details are fetched, an additionaldetailsadd-on is charged for that record. See the pricing tab for current prices. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxLicensees.
FAQ and troubleshooting
A run returned 0 records. Why?
Your search matched nothing, or activeOnly filtered everything out. Try a broader classification or city, or turn off activeOnly. Zero-result runs are not charged.
How do I export an entire trade?
Pass the classification name in classificationTypes (for example Building, Residential). The actor runs one search per classification and captures the licensees.
Can I reverse-lookup by phone?
Yes. Pass one or more numbers in phoneNumbers. One search runs per number.
What is the difference between listing-only and full details?
With withDetails OFF you get license number, name, account type and status. With it ON, each record is also enriched with phone, full address, dates, limitation and active classifications from the detail page.
Why is a field null?
The NCLBGC registry did not publish that value, or full details were turned off. Missing source values are returned as null, never invented.
Is this an official NCLBGC tool? No. This actor is independent and has no affiliation with the North Carolina Licensing Board for General Contractors. It reads only data that is publicly available in the NCLBGC registry. Use the results in accordance with the source's terms.
Related scrapers
- North Carolina NCREC Real Estate Scraper: North Carolina real estate licensees.
- Nevada Contractor License Scraper (NSCB): Nevada licensed contractors.
- New Mexico RLD Contractor Scraper: New Mexico construction industry licenses.
- California CSLB Contractor Scraper: California licensed contractors.
- Alabama LBGC Contractor Scraper: Alabama general contractor licenses.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the North Carolina Licensing Board for General Contractors. Accesses only publicly available license data. Use the results in accordance with the source's terms.
