NC Licensing Board for General Contractors Scraper avatar

NC Licensing Board for General Contractors Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
NC Licensing Board for General Contractors Scraper

NC Licensing Board for General Contractors Scraper

Scrape NC Licensing Board (NCLBGC) general contractor licenses. Search by license number, company, qualifier, city or classification. Returns status, limitations, qualifiers, classifications and expiration data.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape the North Carolina Licensing Board for General Contractors (NCLBGC) public portal at portal.nclbgc.org. Retrieve contractor license status, classification types, project limitation levels, qualifier details, expiration dates and disciplinary actions for any licensed general contractor in North Carolina.

45,000+ active licenses · 30+ classification types · Limited / Intermediate / Unlimited levels · Qualifier data · n8n / Zapier / Make ready


Table of Contents

  1. What It Scrapes
  2. Input Parameters
  3. Output Schema
  4. Example Input & Output
  5. Use Cases
  6. Automation Platform Integration
  7. Output Formats
  8. Classification Types Reference
  9. Limitation Levels Reference
  10. Technical Architecture
  11. Cost & Performance
  12. FAQ

What It Scrapes

The actor extracts the following fields from the NCLBGC public license portal for each contractor record:

License Record Fields

FieldDescription
licenseNumberNCLBGC license number
licenseStatusActive, Inactive, Expired, or Revoked
companyNameRegistered business / company name
licenseTypeGeneral, Residential, Specialty, etc.
limitationProject value cap: Limited ($500K), Intermediate ($1M), or Unlimited
classificationsAll classification codes held by this license (array)
primaryQualifierName of the primary qualifier on the license
qualifierNumberQualifier ID number
qualifiersFull qualifier list with name, qualifier number and classification (array)
phoneBusiness phone number as listed on NCLBGC record
streetAddressBusiness street address
cityBusiness city
stateBusiness state (typically NC)
zipBusiness ZIP code
expirationDateLicense expiration date (YYYY-MM-DD)
issueDateLicense original issue date (YYYY-MM-DD)
disciplinaryActionsArray of disciplinary action records if any
profileUrlDirect URL to the contractor's NCLBGC detail page
scrapedAtISO 8601 timestamp of when the record was scraped

Input Parameters

{
"licenseNumbers": ["76235"],
"companyNames": ["Smith Construction"],
"qualifierFirstNames": ["John"],
"qualifierLastNames": ["Smith"],
"cities": ["Raleigh", "Charlotte"],
"zipCodes": ["27601"],
"classificationType": "Building",
"includeLikeSoundingNames": false,
"maxResultsPerSearch": 100,
"scrapeDetailPage": true,
"maxConcurrency": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Parameter Reference

ParameterTypeDefaultDescription
licenseNumbersstring[][]NCLBGC license numbers for direct lookup. Fastest method.
companyNamesstring[][]Business names to search. Partial matching supported.
qualifierFirstNamesstring[][]First name(s) of the qualifier. Pair with Last Names for precision.
qualifierLastNamesstring[][]Last name(s) of the qualifier.
citiesstring[][]NC city names for area-wide searches.
zipCodesstring[][]ZIP codes for hyper-local searches.
classificationTypestring"ALL"Filter by classification. See Classification Types Reference below.
includeLikeSoundingNamesbooleanfalseExpand name searches to phonetically similar names.
maxResultsPerSearchinteger100Max records per query. 0 = unlimited.
scrapeDetailPagebooleantrueNavigate each detail page for complete data (qualifiers, issue date, disciplinary actions).
maxConcurrencyinteger3Parallel browser tabs. Recommended: 2–5.
proxyConfigurationobjectApify residentialProxy settings.

Search modes can be freely combined. Supplying both licenseNumbers and cities runs one search job per entry across all modes in a single actor run.


Output Schema

{
"licenseNumber": "76235",
"licenseStatus": "Active",
"companyName": "Smith Construction Company LLC",
"licenseType": "General",
"limitation": "Unlimited",
"classifications": ["Building", "Residential"],
"primaryQualifier": "John A. Smith",
"qualifierNumber": "Q-12345",
"qualifiers": [
{
"name": "John A. Smith",
"qualifierNumber": "Q-12345",
"classification": "Building"
}
],
"phone": "(919) 555-0100",
"streetAddress": "1234 Main Street Suite 200",
"city": "Raleigh",
"state": "NC",
"zip": "27601",
"expirationDate": "2025-12-31",
"issueDate": "2008-03-15",
"disciplinaryActions": null,
"profileUrl": "https://portal.nclbgc.org/Public/LicenseDetail/76235",
"scrapedAt": "2026-04-15T10:30:00.000Z"
}

Example Input & Output

Example 1 — Direct license number lookup

{
"licenseNumbers": ["76235", "45678"],
"scrapeDetailPage": true
}

Example 2 — All active building contractors in Charlotte

{
"cities": ["Charlotte"],
"classificationType": "Building",
"maxResultsPerSearch": 200,
"scrapeDetailPage": true
}

Example 3 — Bulk contractor verification list

{
"licenseNumbers": ["10001", "10002", "10003", "10004", "10005"],
"scrapeDetailPage": true,
"maxConcurrency": 5,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Example 4 — Qualifier name search (find all licenses held by a person)

{
"qualifierFirstNames": ["John"],
"qualifierLastNames": ["Smith"],
"includeLikeSoundingNames": true,
"scrapeDetailPage": true
}

Example 5 — Roofing contractors in a specific ZIP code

{
"zipCodes": ["28202"],
"classificationType": "S (Roofing)",
"maxResultsPerSearch": 50,
"scrapeDetailPage": false
}

Use Cases

Contractor Verification & Compliance

Instantly verify that a general contractor holds an active NCLBGC license before signing any agreement. In North Carolina, a general contractor license is required for any construction project valued at $30,000 or more. Confirm the license classification matches the project scope and that the limitation level covers the project value.

Lead Generation & Sales Intelligence

Build targeted lists of licensed contractors by trade classification, city or ZIP code. Identify companies by limitation tier (Unlimited contractors typically handle larger projects). Enrich existing CRM records with phone numbers, addresses and qualifier contacts.

Market Research & Competitive Analysis

Map contractor density across North Carolina municipalities and trade types. Understand market saturation in specific classifications (Building, Residential, Roofing, etc.). Track license issuance trends and renewal patterns.

Real Estate & Development Due Diligence

Verify subcontractors and general contractors used in renovation, development or construction projects. Cross-reference license numbers found in permit records with NCLBGC data.

Risk & Background Screening

Screen vendors and subcontractors for disciplinary actions, expired licenses, and inactive status before onboarding. Identify contractors who have had consent orders or disciplinary proceedings.

Attorneys and insurers can pull license history, qualifier details, disciplinary records and limitation levels for litigation support, underwriting decisions or claims investigation.

Workforce & Qualifier Intelligence

Track individual qualifiers across multiple licenses. Understand which qualifiers support multiple companies. Identify qualifiers who have recently moved between organizations.


Automation Platform Integration

This actor is fully compatible with leading no-code and low-code automation platforms.

n8n

Use the Apify node in n8n to run this actor on a schedule and route results to Google Sheets, Airtable, a CRM, Slack or a database.

{
"resource": "actor",
"operation": "run",
"actorId": "YOUR_USERNAME/nc-licensing-board-general-contractors-scraper",
"input": {
"licenseNumbers": ["{{ $json.licenseNumber }}"],
"scrapeDetailPage": true
}
}

Zapier

Connect via the Apify Zapier integration. Trigger a run when a new lead enters your CRM, look up the license number automatically, and update the record with status, limitation and qualifier data.

Make (Integromat)

Use the Apify HTTP module or the official Make–Apify integration to schedule daily or weekly refreshes of a contractor monitoring list.

Webhook / REST API

Start runs programmatically via the Apify API:

curl -X POST \
"https://api.apify.com/v2/acts/YOUR_USERNAME~nc-licensing-board-general-contractors-scraper/runs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"licenseNumbers": ["76235"],
"scrapeDetailPage": true
}'

Output Formats

Apify delivers results in multiple formats with no additional configuration:

FormatNotes
JSONFull nested objects including qualifiers[], classifications[] and disciplinaryActions[] arrays
CSVArrays serialized as pipe-delimited strings; ideal for Excel / Google Sheets
Excel (XLSX)Direct download for spreadsheet workflows
XMLFor legacy enterprise system integrations
JSONLNewline-delimited JSON; ideal for streaming data pipelines
RSSMonitor status changes via RSS reader

Access these from Apify Console → Storage → Dataset → Export or via the REST API at /datasets/{id}/items?format={format}.


Classification Types Reference

The NCLBGC issues licenses in 30+ classification types grouped by trade:

General Classifications

CodeDescriptionTypical Projects
BuildingGeneral building contractorCommercial, industrial, institutional construction
ResidentialResidential constructionHomes, townhouses, condominiums
HighwayHighway & infrastructureRoads, bridges, infrastructure
Public UtilitiesPublic utility projectsWater, sewer, gas, communications
UnclassifiedUnclassified general workMiscellaneous

Specialty Classifications (S)

CodeDescription
S (Roofing)Roofing installation and repair
S (Concrete Construction)Concrete work
S (Masonry Construction)Masonry, brick and block work
S (Interior Construction)Interior finish work
S (Swimming Pools)Pool construction
S (Metal Erection)Structural and ornamental metal
S (Insulation)Insulation installation
S (Asbestos)Asbestos abatement
S (Marine Construction)Docks, piers, marine structures
S (Wind Turbine)Wind energy construction
S (Sign/Billboard)Signage and billboards
S (Sidewalk Curb & Gutter)Concrete flatwork
S (Railroad Construction)Railroad infrastructure
S (Boring & Tunneling)Underground boring

Highway Sub-Classifications (H)

CodeDescription
H (Grading & Excavating)Earthmoving and site preparation

Public Utility Sub-Classifications (PU)

CodeDescription
PU (Water Lines)Potable water distribution
PU (Sewer Lines)Sanitary sewer systems
PU (Sewage Disposal)Sewage treatment
PU (Water Purification)Water treatment plants
PU (Communications)Telecommunications infrastructure
PU (Fuel Distribution)Gas and fuel pipelines
PU(Electrical-Ahead of P.O.D.)Electrical utility work

Accredited Programs

CodeDescription
Accredited BuilderNCHBA Accredited Builder program
Accredited Master BuilderNCHBA Accredited Master Builder program

Full classification details: nclbgc.org


Limitation Levels Reference

North Carolina general contractor licenses carry a financial limitation that caps the total project value the contractor is authorized to undertake:

LimitationMax Project ValueTypical Use
Limited$500,000Smaller residential and light commercial projects
Intermediate$1,000,000Mid-size commercial and residential
UnlimitedNo capLarge commercial, institutional, public works

The limitation level is determined by the contractor's financial statement during licensing and must be renewed annually.

Important: A contractor bidding on a project that exceeds their limitation level is in violation of NC law. Always verify the limitation matches the project scope.


Technical Architecture

Target Platform

The NCLBGC contractor search portal runs on ASP.NET MVC at portal.nclbgc.org. This is a traditional server-rendered web application — search results are returned as full HTML pages containing a data table. There is no public REST API or JSON endpoint.

Scraping Strategy

  1. PlaywrightCrawler (Crawlee) opens a headless Chromium browser and navigates to the search form at /Public/Search.
  2. The actor fills in the appropriate form fields and submits the search.
  3. The server returns a rendered HTML page with a results <table>. The actor parses each <tr> row by its column header positions.
  4. For each result, the actor navigates to /Public/LicenseDetail/{id} to collect complete data including all qualifiers, issue date, and disciplinary actions.
  5. Normalised records are pushed to the Apify Dataset.

Form Submission Approach

The NCLBGC portal uses standard HTTP POST form submission. The actor fills fields by name attribute (CompanyName, LicenseNumber, ClassificationType, etc.) and submits via button click. Session cookies are maintained automatically by Playwright's browser context.

Bot Protection Handling

  • Fingerprint injection: Crawlee randomises browser fingerprints (User-Agent, Accept-Language, viewport, WebGL, Canvas) per session.
  • Apify Residential Proxies: Each request routes through a different residential IP.
  • Session rotation: Bad sessions are automatically retired and replaced.
  • Randomised timing: Human-like delays (0.5–2 seconds) between interactions.
  • Retry logic: Failed requests are retried up to 3 times with exponential back-off.

Cost Efficiency

  • The NCLBGC portal is lightweight ASP.NET — pages load quickly compared to JavaScript-heavy SPAs.
  • scrapeDetailPage: false skips detail navigation for fast bulk status checks.
  • maxConcurrency of 3–5 balances throughput against proxy cost and memory.

Cost & Performance

ScenarioRecordsDetail PagesEst. DurationEst. CUs
Single license lookup1Yes~20 sec0.01
50 licenses (bulk verify)50Yes~10 min0.6
City-wide search (Charlotte Building)200+No~10 min0.8
Full classification scrape (S Roofing statewide)500+Yes~45 min4.0

Estimates with maxConcurrency: 3 and Apify residential proxies.


FAQ

Q: Does this actor require an NCLBGC account or login? A: No. It uses the publicly accessible license search at portal.nclbgc.org/Public/Search. No credentials are required.

Q: Is the data real-time? A: Yes. Each run fetches live data directly from the NCLBGC portal. License statuses, expiration dates and qualifier information reflect the current state of the board's database.

Q: What does limitation: "Unlimited" mean? A: An Unlimited license has no cap on the total project value the contractor can undertake. Limited caps at $500,000 and Intermediate caps at $1,000,000 per project.

Q: What is a "qualifier"? A: A qualifier is the individual who passed the required NCLBGC licensing exams on behalf of the company. The qualifier must remain actively employed by the licensee for the license to stay valid. If a qualifier leaves, the license may become inactive until a replacement is approved.

Q: Can I search for all licenses held by one qualifier? A: Yes. Use qualifierFirstNames and qualifierLastNames inputs. The portal returns all licenses associated with that qualifier. Enable includeLikeSoundingNames if you are unsure of the exact spelling.

Q: What proxy type is recommended? A: Apify residential proxies are recommended for production runs. The NCLBGC portal may apply rate limiting for unusual traffic patterns from datacenter IPs.

Q: Can I run this on a schedule to monitor license status changes? A: Yes. Use the Apify Scheduler to run daily or weekly with a fixed list of licenseNumbers. Combine with Apify webhooks to receive alerts when a contractor's status or expiration date changes.

Q: What happens if a contractor has multiple classifications? A: The list page may show only the primary classification. Enabling scrapeDetailPage: true navigates to the full detail page where all classifications are listed and returned as an array in the classifications field.


This actor scrapes the publicly accessible NCLBGC contractor search portal. All data is public information provided by the North Carolina Licensing Board for General Contractors. Use the data in compliance with applicable laws and the Apify Terms of Service. Do not use the data for spam, harassment, or any purpose prohibited by North Carolina law.