NC Contractor License Lookup & Verify — North Carolina
Pricing
from $2.40 / 1,000 license records
NC Contractor License Lookup & Verify — North Carolina
Verify North Carolina general contractor licenses in the NCLBGC portal by number, name, qualifier, city or ZIP: status, limitation, qualifiers. USD 3 per 1,000.
Pricing
from $2.40 / 1,000 license records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
NC Contractor License Lookup & Verify searches the official North Carolina Licensing Board for General Contractors (NCLBGC) portal and returns each matching license or qualifier record: status, issue and expiration dates, limitation, classifications, address, phone, qualifiers and the licenses a qualifier backs. It is built for North Carolina contractor license lookup and verification by owners, general contractors, lenders, insurers and compliance teams, and it costs USD 3.00 per 1,000 records on the FREE tier (USD 2.40 per 1,000 on GOLD), plus a start fee of about USD 0.006.
What does the North Carolina contractor license lookup return?
Each dataset row is one NCLBGC account, either a license (L. number) or a qualifier (Q. number):
| Field | What it contains |
|---|---|
accountType | License or Qualifier |
accountNumber, accountName | Board identifier and name as displayed, for example L.03194 |
licenseNumber, qualifierNumber | The identifier for the account type; the other one is null |
licenseName, alternateName | Licensee name and any alternate name |
status | Board status, for example Active or Archived - License Not Valid |
issuedDate, expirationDate | Dates as displayed, for example 12/31/2026 |
limitation | License limitation, for example Limited or Unlimited |
classifications | Work classifications, for example Building, Residential, Highway |
qualifiers, qualifierDetails | For licenses: qualifier names, numbers and status |
qualifiedLicenses | For qualifiers: the licenses that list this person, with status |
address1, address2, city, state, zip, telephone | Public contact fields when supplied |
sourceUrl, sourceSearchUrl, scrapedAt | Board detail page, search page and collection time |
Two legacy fields stay for older integrations: county is always null because the portal publishes no county, and renewalDate repeats expirationDate. The run summary is saved as OUTPUT: status (SUCCEEDED, EMPTY, BLOCKED, FAILED or REJECTED), rows found and processed, charged events and warnings.
How do I verify an NC general contractor license by number, name or qualifier?
Enter at least one search field; an empty input is rejected without charges for records. License and qualifier numbers accept the displayed form or digits only (L.03194 or 3194).
{ "licenseNumber": "L.03194", "maxResults": 1 }
{ "qualifierNumber": "Q.00286", "maxResults": 1 }
{ "companyName": "Barnhill Contracting Company", "maxResults": 10 }
Qualifier or person search, with the portal's like-sounding-name option:
{ "firstName": "Michael", "lastName": "Taylor", "includeSoundex": true, "maxResults": 5 }
You can also search by phoneNumber or streetAddress.
Can I search NC contractors by classification, city or ZIP code?
Yes, with one rule from the Board's form: classificationType and stateCode must be combined with another field. Combine a classification such as Residential, Building, Highway, Public Utilities or a specialty such as S (Roofing) with city or a five-digit postalCode:
{ "classificationType": "Residential", "city": "Raleigh", "maxResults": 100, "maxPages": 10 }
Results include every status the portal returns, including archived licenses, so filter on status if you only want active ones. county is accepted for compatibility but ignored, because the portal has no county filter.
Result bounds: the portal returns one result table, which the Actor reads in 10-row pages. It processes up to maxResults rows (default 25, maximum 250) and maxPages pages (default 5, maximum 25), whichever is lower. Set maxPages to at least maxResults ÷ 10. A Raleigh + Residential search returned 300 rows on 2026-10-26.
When should I use it, and when not?
Use it when you need to confirm an NC general contractor's license, limitation and qualifier before a bid or payment, or build a list of licensed builders in a city or ZIP code.
Use another Actor when:
- The contractor is licensed in Nevada: Nevada Contractor License Lookup. For Tennessee use Tennessee Contractor License Lookup; for Virginia use Virginia Contractor License Lookup.
- You need electrical, plumbing or HVAC contractors: those are licensed by other North Carolina boards, which this Actor does not search.
- You need contractor leads with websites and emails by trade and city: Contractor Leads Scraper. For bulk license lists in Washington, California and Texas use Contractor License Leads.
How do I run it from code?
JavaScript with apify-client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/nc-licensing-board-general-contractors-scraper').call({licenseNumber: 'L.03194',maxResults: 1,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) console.log(item.accountNumber, item.status, item.expirationDate);
Python with apify-client:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("muhammadafzal/nc-licensing-board-general-contractors-scraper").call(run_input={"classificationType": "Building","postalCode": "27612","maxResults": 50,"maxPages": 5,})for item in client.dataset(run.default_dataset_id).iterate_items():print(item["accountNumber"], item["accountName"], item["status"], item["limitation"])
Use it from an AI assistant
NC Contractor License Lookup & Verify works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add the single-tool URL https://mcp.apify.com/?tools=muhammadafzal/nc-licensing-board-general-contractors-scraper to your client and ask, for example: "Verify North Carolina general contractor license L.03194 and list its status, limitation, expiration date and qualifiers." Each record is charged at the prices below.
What does the output look like?
A license record from the September 2026 cloud validation and a qualifier record checked on 2026-10-26 (both shortened):
[{"accountType": "License","accountNumber": "L.03194","accountName": "Barnhill Contracting Company","licenseNumber": "L.03194","qualifierNumber": null,"status": "Active","issuedDate": "04/30/1959","expirationDate": "12/31/2026","city": "Rocky Mount","state": "NC","zip": "27804","telephone": "(252) 823-1021","limitation": "Unlimited","classifications": ["Unclassified"],"qualifierDetails": [{ "qualifierName": "Michael G. Taylor", "qualifierNumber": "Q.00286", "status": "Active" }],"sourceSearchUrl": "https://portal.nclbgc.org/Public/Search"},{"accountType": "Qualifier","accountNumber": "Q.00286","accountName": "Michael G. Taylor","licenseNumber": null,"qualifierNumber": "Q.00286","status": "Active","classifications": ["Highway"],"qualifiedLicenses": [{ "licenseName": "Barnhill Contracting Company", "licenseNumber": "L.03194", "status": "Active" }],"scrapedAt": "2026-10-26T12:02:38.726Z"}]
How much does an NC contractor license lookup cost?
The Actor uses pay-per-event pricing, and platform usage is included in the event prices. A record is charged only after it is saved to the dataset.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM / DIAMOND |
|---|---|---|---|---|---|
| License record (one dataset row) | USD 0.003001 | USD 0.002925 | USD 0.00285 | USD 0.0024 | USD 0.0024 |
| Actor start (per started GB of allocated memory) | USD 0.006251 | USD 0.006094 | USD 0.005938 | USD 0.005 | USD 0.005 |
Worked totals on the FREE tier at the default 256 MB memory (one start event):
- 1 record: USD 0.003001 + USD 0.006251 = USD 0.009252
- 25 records: 25 × USD 0.003001 + USD 0.006251 = USD 0.081276
A search with no matches, or a rejected input, charges only the start event. If the run reaches your maximum cost per run, the Actor stops requesting detail pages and keeps what it saved.
Limits and reliability
- Pacing: one search request, then one detail request per record, sent one at a time with at least 1 second (default 1.2 seconds,
requestDelayMs) between them. - Errors: rate limits, server errors and dropped connections get up to two retries with backoff, and a
Retry-Afterheader is respected. An access denial or challenge ends the run asBLOCKEDwithout bypass attempts; records already saved are kept. - Scope: public portal data only. No login, cookies or licensee-portal access.
FAQ
Is the NCLBGC license lookup free?
The Board's Verify License Search is free for manual checks. This Actor charges USD 0.003001 per record on the FREE tier plus the start fee, and returns structured records you can store or compare.
Does it return expired or archived licenses?
Yes, when the portal returns them. Check the status field, for example Archived - License Not Valid.
What do Limited, Intermediate and Unlimited mean?
They are the Board's license limitations, which cap the value of a single project. The Actor returns the value in limitation; check the Board for the current dollar thresholds.
Can I find who qualifies a license?
Yes. License records list qualifiers in qualifierDetails, and a qualifier search returns qualifiedLicenses.
Can I search by county?
No. The portal has no county filter. Use city or postalCode.
Why was my search rejected?
The input had no search field, or only a classification, state or county. Add a license number, name, phone, address, city or ZIP code.
Related Actors
- Nevada Contractor License Lookup: NSCB license status, classifications, limits and bonds
- Pest Control License Scraper: pest control and pesticide license rows from public registry pages
- Michigan Contractor License Lookup and Louisiana Contractor License Lookup: the same verification job for other states
Legal and compliance
The Actor reads the NCLBGC public Verify License Search and account details. It does not log in or bypass access controls. Names, addresses and phone numbers can be personal data: use them for lawful verification, compliance or research and follow privacy and anti-spam rules. A returned status is the portal's status at collection time, not legal advice; confirm important decisions with the Board. This tool is not affiliated with the NCLBGC.
Last verified: 2026-10-26