Why Electrical Licensing Is More Complex Than General Contractor Licensing
General contractor licenses, while varying by state, follow a recognizable pattern: a single license class authorizes broad construction management activity. Electrical contractor licensing is fundamentally different because it encodes both a business authorization and a personal competency credential - and the two must align for a contractor to legally pull permits and perform work.
In most states, the electrical contractor license attached to a business is only valid because a named qualifying individual holds a master electrician license and is affiliated with that company. If that master electrician leaves the firm, the company's contractor license becomes invalid immediately - even if the license number still shows as active in the state database for a few weeks. This lag between the real-world event and the database update is one of the core compliance gaps that automated verification must address.
There are also three distinct credential levels that are frequently confused on dispatching platforms and insurance applications:
- Journeyman Electrician License - authorizes an individual to perform electrical work under supervision. A journeyman cannot independently pull permits in most states. They cannot run a business as an electrical contractor.
- Master Electrician License - authorizes an individual to design, supervise, and take responsibility for electrical installations. In most states, a master electrician license is the qualifying credential required before a business can obtain an electrical contractor license.
- Electrical Contractor License - a business-level authorization issued to a company (or sometimes to an individual operating as a sole proprietor). This is the license that authorizes the entity to contract with customers and pull permits.
A platform verifying only that a contractor has "some kind of license" without distinguishing these tiers can easily end up dispatching a journeyman to a job that legally requires a licensed electrical contractor - creating an unlicensed work scenario even when the contractor's name appears in the state database.
The General Contractor License Does Not Cover Electrical Work
This is the single most common misconception among home service platforms that onboard contractors without trade-specific verification. In the overwhelming majority of states, a general contractor (GC) license does not authorize the holder to perform electrical work. Electrical work is a specialty trade that requires its own licensing, its own exam, and in many states its own bond and insurance requirements separate from the GC bond.
A GC can oversee a project that includes electrical work, but they must subcontract that electrical scope to a licensed electrical contractor. If a platform dispatches a GC to perform electrical work directly - even minor work like panel upgrades or circuit additions - it is enabling unlicensed electrical contracting. The homeowner's insurance may deny claims arising from that work. The GC may face license sanctions. The platform may face civil liability.
license_type and classifications fields must confirm an electrical-specific authorization. Treat GC and electrical as entirely separate credential trees.
State Licensing Authorities for Electrical Contractors
Electrical contractor licensing authority is decentralized across multiple agency types: dedicated state electrical boards, construction licensing boards, labor and commerce departments, and in some states - notably Texas for some license types - it operates at both state and local levels simultaneously.
| State | Licensing Authority | License Types | License Code in API |
|---|---|---|---|
| Texas | Texas Department of Licensing and Regulation (TDLR) | Master Electrician, Journeyman Electrician, Electrical Contractor, Residential Wireman, Maintenance Electrician | ELEC_CONTRACTOR_TX, MASTER_ELEC_TX |
| California | Contractors State License Board (CSLB) | C-10 Electrical Contractor classification (no separate master/journeyman state license - handled by local jurisdictions) | C10_ELEC_CA |
| Florida | Department of Business and Professional Regulation (DBPR) - Electrical Contractors Licensing Board (ECLB) | Electrical Contractor, Alarm System Contractor I/II, Electrical Inspector | EC_CONTRACTOR_FL, ECA_CONTRACTOR_FL |
| New York | No statewide electrician license - issued by NYC Dept of Buildings or local municipality | Master Electrician (NYC), Special Electrician (NYC), various local equivalents | MASTER_ELEC_NYC, LOCAL_ELEC_NY |
| Illinois | No statewide electrical license - Chicago and some municipalities regulate independently | Licensed Electrical Contractor (Chicago), Class A/B/C Electrician (various) | LOCAL_ELEC_IL |
| Washington | Washington State Department of Labor and Industries (L&I) | Electrical Contractor, Master Electrician, Journeyman Electrician, Residential Limited Energy Installer | ELEC_CONTRACTOR_WA, MASTER_ELEC_WA |
| Georgia | Georgia State Licensing Board for Residential and General Contractors / Local Electrical Boards | Licensed Electrical Contractor - primarily municipal; Atlanta, Savannah operate separate boards | LOCAL_ELEC_GA |
| Arizona | Arizona Registrar of Contractors (ROC) | CR-11 Electrical Contractor (residential), C-11 Electrical Contractor (commercial/industrial) | C11_ELEC_AZ, CR11_ELEC_AZ |
| Oregon | Oregon Construction Contractors Board (CCB) + Oregon Building Codes Division | Electrical Contractor (CCB), General Journeyman Electrician, Limited Journeyman, Administrator | ELEC_CONTRACTOR_OR |
| Nevada | Nevada State Contractors Board (NSCB) | C-2 Electrical Contractor classification | C2_ELEC_NV |
The Municipal Licensing Layer: New York and Illinois
Two of the highest-population states - New York and Illinois - have no statewide electrical contractor license. This creates a significant data problem for any platform operating nationally. In New York City, the Department of Buildings issues a Master Electrician license that is essentially municipal. Westchester County, Nassau County, and Buffalo all have their own licensing regimes. A contractor with a valid NYC Master Electrician license has zero standing to pull permits in Buffalo.
For platforms operating in these states, the ContractorVerify API returns a jurisdiction field alongside the license record specifying whether the authorization is state-wide or municipality-scoped. When the jurisdiction field value is not STATE, your platform logic must cross-reference the job location's municipality against the license jurisdiction before treating the credential as valid for that assignment.
What the API Response Looks Like for Electrical Licenses
A successful lookup for an electrical contractor returns a structured record with several fields your dispatching logic must interrogate. The bare minimum is not just checking status: "active" - you need to examine license_type, classifications, and qualifier_license together.
{
"contractor_id": "cv_4829301",
"business_name": "Apex Electrical Services LLC",
"state": "TX",
"license_number": "TECL-41872",
"license_type": "ELEC_CONTRACTOR_TX",
"status": "active",
"issued_date": "2021-06-15",
"expiration_date": "2027-06-14",
"classifications": ["electrical_contractor", "residential_wireman"],
"qualifier_license": {
"name": "Robert D. Harmon",
"license_number": "MESL-18240",
"license_type": "MASTER_ELEC_TX",
"status": "active",
"expiration_date": "2027-04-30"
},
"bond": {
"status": "active",
"amount": 10000,
"expiration_date": "2026-11-01"
},
"jurisdiction": "STATE",
"scope": ["residential", "commercial_light"]
}
Notice the qualifier_license object nested inside the response. This is the master electrician license held by the responsible individual. If this sub-record shows status: "expired" or status: "suspended", the company's electrical contractor license is effectively voided even if the top-level status field still reads "active" due to database lag. Your verification logic must check both levels.
Platforms That Need Electrical Contractor Verification
The use cases for automated electrical license verification span several platform categories, each with different verification depth requirements.
Home Service Dispatch Platforms
Platforms like Angi, Thumbtack, or white-label versions built for regional service brands dispatch electricians for residential jobs - outlet replacement, panel upgrades, EV charger installation, generator hookup. These platforms need to verify the electrical contractor license at onboarding and re-verify periodically. The critical check beyond initial approval is expiration monitoring: electrical contractor licenses in most states carry 2-year terms, and many contractors let renewals lapse without notifying the platform.
HVAC and Electrical Dispatch Software
Field service management tools used by HVAC companies often involve electrical scope - HVAC systems require dedicated circuits, control wiring, and in some installations, panel work. Platforms integrating with these tools need to verify that the dispatching HVAC company also holds an electrical contractor license when electrical permits are required, or that they have a subcontracting relationship with a verified electrical contractor on file.
Insurance Underwriters and Claims Platforms
When an insurer receives a claim involving electrical work - whether it is a house fire attributed to faulty wiring or a liability claim from an electrocution incident - the first question is whether the work was performed by a licensed electrical contractor. Underwriters building policy automation need electrical license verification at the point of application: was the electrical work on this property performed by a licensed contractor? Claims platforms need it at the point of loss: is the contractor named in this claim licensed to have done this work?
Construction Project Management Platforms
Platforms managing commercial construction subcontractor compliance - Procore, Buildertrend integrations, or custom platforms for general contractors - need to verify subcontractors before approving them to perform electrical scope on a project. The classifications field in the API is essential here: a contractor licensed for residential electrical work (scope: ["residential"]) should not be approved for a commercial tenant improvement project.
Residential vs Commercial Electrical Scope: A Critical Classification Gap
Most states distinguish between residential electrical work and commercial electrical work, and the licenses are not interchangeable. In Texas, a Residential Wireman license (classification code RESW in TDLR's system) authorizes work only on one- and two-family dwellings and their associated structures. Presenting this license for work on a small office, a multi-family building above duplex, or any commercial tenant improvement is an unlicensed act.
In Arizona, the C-11 classification covers commercial/industrial electrical work while the CR-11 classification covers residential. A contractor holding only CR-11 authorization cannot legally perform commercial electrical work even if both license numbers appear active in the ROC database.
When a job involves commercial scope, your platform must confirm the API response includes either a commercial-grade license type or a scope field value that includes "commercial" or "commercial_light" as appropriate for the work category.
Verification Workflow for a Platform That Dispatches Electrical Jobs
A production-grade verification workflow for electrical contractor dispatch should execute in two stages: an onboarding verification and a pre-dispatch verification.
Stage 1 - Onboarding Verification
- Collect the contractor's business name, state of operation, and electrical contractor license number.
- Call the ContractorVerify API with these inputs.
- Confirm
license_typeis an electrical contractor classification (not GC, not journeyman). - Confirm
statusis"active". - Confirm
qualifier_license.statusis"active"- the named master electrician is still valid. - Confirm
bond.statusis"active"and bond amount meets your platform minimums. - Store the
expiration_dateandqualifier_license.expiration_datein your system for re-verification scheduling. - Record the
scopearray to restrict job dispatch categories appropriately.
Stage 2 - Pre-Dispatch Check
- Before assigning a job, re-query the API if the last verification is older than 30 days.
- Confirm the job's work category is within the contractor's authorized
scope. - For states with municipal licensing (NY, IL, GA), confirm the contractor's
jurisdictioncovers the job location. - If any check fails, block the dispatch and route to compliance review queue.
Code Example: Filtering the API Response for Electrical Validity
// Electrical contractor dispatch validation
function validateElectricalDispatch(apiResponse, jobScope) {
const errors = [];
// Check top-level status
if (apiResponse.status !== 'active') {
errors.push(`Contractor license status: ${apiResponse.status}`);
}
// Confirm this is an electrical contractor license, not GC or journeyman
const electricalTypes = [
'ELEC_CONTRACTOR_TX', 'C10_ELEC_CA', 'EC_CONTRACTOR_FL',
'ELEC_CONTRACTOR_WA', 'ELEC_CONTRACTOR_OR', 'C11_ELEC_AZ',
'CR11_ELEC_AZ', 'C2_ELEC_NV', 'MASTER_ELEC_NYC', 'LOCAL_ELEC_NY',
'LOCAL_ELEC_IL', 'LOCAL_ELEC_GA'
];
if (!electricalTypes.includes(apiResponse.license_type)) {
errors.push(`License type ${apiResponse.license_type} is not an electrical contractor authorization`);
}
// Verify the qualifying master electrician is still active
const ql = apiResponse.qualifier_license;
if (!ql || ql.status !== 'active') {
errors.push('Qualifying master electrician license is not active - entity license may be void');
}
// Check qualifier expiration within 60 days
if (ql && ql.expiration_date) {
const expiresMs = new Date(ql.expiration_date).getTime();
const warnMs = Date.now() + (60 * 24 * 60 * 60 * 1000);
if (expiresMs < warnMs) {
errors.push(`Qualifying license expires soon: ${ql.expiration_date}`);
}
}
// Verify scope covers the job type
if (jobScope === 'commercial' && apiResponse.scope &&
!apiResponse.scope.includes('commercial') &&
!apiResponse.scope.includes('commercial_light')) {
errors.push('Contractor is not authorized for commercial electrical scope');
}
// Check bond
if (!apiResponse.bond || apiResponse.bond.status !== 'active') {
errors.push('Contractor bond is not active');
}
// For municipal-jurisdiction states, flag for location check
if (apiResponse.jurisdiction !== 'STATE') {
errors.push(`License jurisdiction is ${apiResponse.jurisdiction} - verify job location is within this jurisdiction`);
}
return {
approved: errors.length === 0,
errors
};
}
Common Pitfalls in Electrical License Verification
Residential License Presented for Commercial Work
This is the most frequent mismatch on mixed-use platforms. A contractor who has been doing residential electrical work applies to expand into commercial jobs and presents their existing TDLR Residential Wireman or CSLB C-10 residential-scope license. The license number is real and active. But it does not authorize the commercial scope. Without checking the scope array in the API response, the platform approves the dispatch.
The License Is Valid But the Qualifier Left the Company
As noted, many states require a named master electrician as the qualifier for a company's electrical contractor license. When that person leaves - job change, retirement, business disagreement - the company has a grace period (typically 30 to 90 days depending on state) to name a new qualifier. During this period, the state database may still show the license as active. The qualifier_license field in the API response can reveal this: the named qualifier's license may show a new employer affiliation or the qualifier record may be detached entirely.
City vs State Licensing Confusion in Texas
Texas presents a specific complexity: TDLR issues state electrical licenses, but several Texas cities - Houston, Dallas, Austin, San Antonio - also have local electrical licensing requirements that exist independently. A contractor with a valid TDLR Electrical Contractor license may still need a separate city-level license to pull permits in Houston. The ContractorVerify API returns both state and local records where available, but platforms operating in Texas metro areas should check both the jurisdiction: "STATE" record and any jurisdiction: "HOUSTON_TX" or equivalent local records.
Alarm System Contractors vs Electrical Contractors in Florida
Florida's DBPR issues separate licenses for Electrical Contractors (EC) and Alarm System Contractors (ECA). An alarm contractor is not authorized to do general electrical work. The license classification codes are different and the API license_type field reflects this. Platforms that dispatch both electrical and alarm/security jobs need to map job categories correctly to the required license type - not simply check for "any Florida electrical license."
Putting It All Together
Electrical contractor license verification is not a single lookup - it is a multi-field validation that must check license type, qualifier status, scope authorization, bond status, and jurisdiction simultaneously. A platform that treats it as a binary "licensed or not" check will approve invalid dispatches on a regular basis.
The ContractorVerify API structures the response specifically to support this multi-level validation. The qualifier_license nested object, the scope array, the jurisdiction field, and the classifications array each exist because real electrical contractor compliance requires them. Building the validation logic described in this guide protects your platform from liability, your customers from unqualified contractors, and the contractors themselves from being set up to work outside their authorization.
> Verify Contractor Licenses Automatically_
Stop manual license checks. ContractorVerify API returns structured electrical contractor records - license type, qualifier status, scope, bond, and jurisdiction - in a single call. Built for dispatch platforms, insurance underwriters, and compliance teams.
Join the Waitlist