PrimaryCheck
For property managers, insurers and home-service marketplaces

Contractor licenses read live from the state board

A license claim with profession: "electrician", "plumber", "hvac" or "contractor_general" looks the number up at the licensing board itself and returns status, expiration, classification and disciplinary history with the board's record captured as evidence.
What comes back

What a trade license check returns

Definitions

What live board lookup means

For every check we send a request to the state licensing board's own lookup system at the moment you ask, using the number and name you gave us. We do not keep a copy of the board's roster and answer from it. The response the board returns is hashed, timestamped and stored as evidence; the field checks are computed from that response; the rendered record goes into the report PDF.

  • Live. We query the board directly and the nightly canary against a known license passes. Only these rows say live.
  • Building. The board is catalogued and scheduled; checks return unable_to_verify(source_not_built) until it ships.
  • Blocked. The board blocks automated lookups. We say so and work on an approved path (today: AK, CA, DC, GA, HI, IL, KS, MO, MT, NH, NM, NY, ND, OH, OK, PA, RI, SC, TN, UT, WI).
  • Degraded. The canary is failing; checks return source_degraded until the connector is fixed. Status is public on /status.
How it works

How contractor verification works

  1. 1

    Send trade, state and number

    Profession keys are national (electrician, plumber, hvac, contractor_general); we map them to each board's license types and classifications.

  2. 2

    Live board lookup

    Plain requests where the board allows them, a browser where it needs one, with per-board politeness limits.

  3. 3

    Field checks

    Number, name or business name, trade or classification, status, expiration, actions. One mismatch is a discrepancy.

  4. 4

    Evidence and PDF

    The board's response, hashed and dated, rendered into a report you can attach to the vendor file or the claim.

Trade licenses covered

TradeProfession keyLive states today
General Contractorcontractor_generalAlabama, Arizona, Connecticut, Florida, Idaho, Iowa, Louisiana, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Nebraska, Nevada, North Carolina, Oregon, Vermont, Virginia, Washington, West Virginia, Wyoming
ElectricianelectricianAlabama, Arizona, Arkansas, Colorado, Connecticut, Delaware, Florida, Idaho, Iowa, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Nebraska, Nevada, North Carolina, Oregon, Texas, Virginia, Washington, West Virginia, Wyoming
PlumberplumberAlabama, Arizona, Colorado, Connecticut, Delaware, Florida, Idaho, Indiana, Iowa, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Nevada, North Carolina, Oregon, South Dakota, Virginia, Washington, West Virginia, Wyoming
HVAC TechnicianhvacAlabama, Arizona, Arkansas, Connecticut, Delaware, Florida, Idaho, Iowa, Kentucky, Louisiana, Maryland, Massachusetts, Mississippi, Nevada, North Carolina, Texas, Virginia, West Virginia, Wyoming
Home Inspectorhome_inspectorIndiana, Virginia

93 trade lookups in 29 states are live today. Everything else is building in order of demand. Local and county licensing (for example city electrical cards) is not covered; the state board is.

Who uses it

Three jobs, one claim

Property managers

Verify the vendor before the work order, and monitor the vendor list so a lapsed license surfaces before the next job.

Insurers and claims

Confirm the contractor on an estimate or a claim held the right classification on the date of work, with evidence you can file.

Home-service marketplaces

Check at onboarding and re-check on a cadence; the webhook removes a pro from the marketplace when the board does.
API

The contractor license call

The purpose you certify decides which FCRA controls apply to the result. See compliance in the API.

POST /v1/verifications
curl -X POST https://api.primarycheck.com/v1/verifications \
  -H "Authorization: Bearer pc_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "person": {
      "firstName": "Luis",
      "lastName": "Ortega"
    },
    "claims": [
      {
        "type": "license",
        "state": "AL",
        "profession": "electrician",
        "number": "EC13…",
        "claimId": "elec"
      }
    ],
    "purpose": "employment",
    "consent": {
      "consentId": "cons_…"
    },
    "reference": "VENDOR-2210"
  }'

Contractor license verification by state

Check coverage, then check contractors

Sandbox keys are immediate and return the same source codes as production. Live checks for hiring or tenant decisions require FCRA customer vetting.