Contractor vetting

Checks a contractor's license, safety record and bids before you sign, and flags the warning signs in a quote.

Skill
№ 18
Life event
Hiring a contractor
Tools
03
Sources
13

Situation Hiring a contractor for a home remodel, roof, HVAC, solar, or addition

01Problem

Homeowners hire into a $520 billion remodeling market (Harvard JCHS LIRA, Q3 2026) with 81,925 FTC Sentinel “Home Improvement, Repair, and Solar” reports in 2024 and a BBB 2025 home-improvement median loss of $1,405 (costliest 10% median $14,050). Texas has no statewide general-contractor license. California’s license bond is $25,000. An unlicensed person in California owes back every dollar paid (B&P 7031(b)).

02Intake

  • Property address, occupancy, job type (kitchen, roof, HVAC, solar, ADU, disaster rebuild), and whether a permit is required.
  • Unsigned bids from at least three contractors: legal name, DBA, license number, salesperson/HIS number, entity type.
  • Scope, fixed price vs T&M, allowances, start/completion dates, who pulls permits.
  • Proof of license, workers’ comp, CGL certificate, additional-insured endorsement, license bond vs performance bond.
  • Any door-to-door or in-home pitch (FTC Cooling-Off / impersonation).
  • State and city permitting jurisdiction.

03Playbook

  1. 01

    Look up the license before any dollar moves. Match legal name, license number, classification, and entity to the contract. Good = Active, right class, bond on file, workers’ comp current, personnel name matches, salesperson registered. Bad = expired, inactive, suspended, revoked, wrong class, entity-name mismatch, no WC.

    • California: CSLB Check a License (down Sundays 8 p.m.–Monday 6 a.m. PT). Class B or B-2 for a multi-trade kitchen; C-39 roofing; C-46/C-10 solar; HIS number if a salesperson sold it. Zip search: ZipCodeSearch.
    • Florida: DBPR wl11.asp — CGC/CBC/CRC/CCC prefixes.
    • Texas: no statewide GC license. TDLR License Search covers electricians, HVAC, plumbers via a different board, and (from Sept. 1, 2026) residential solar retailers/salespersons. Data updated 10/29/2026 on fetch.
    • Arizona: AZ ROC contractor search.
    • Nevada: NV State Contractors Board.
    • Pennsylvania: HIC search (1-888-520-6680); HICPA registration threshold is $5,000 of prior-year home-improvement work — a different number from the deposit cap.
    • Maryland: MHIC license via DLLR; guaranty-fund notice required in the contract (BR 8-501).
    • Virginia: DPOR.
    • New York City: DCWP Home Improvement Contractor license.
    • Other states: NASCLA board directory.
  2. 02

    Run OSHA and federal exclusions. OSHA IMIS establishment search by company name (inspection data through 10/27/2026 on fetch). SAM.gov Exclusions for active federal debarments. A recent willful-fall or trenching citation is a walk on a residential crew.

  3. 03

    Get three itemized written bids. Community practice and FTC scam guidance both start here. Reject a single-line “$10k, no breakdown, where’s the warranty.” Same scope, same allowance list, same permit assumption. A bid that is 40% below the other two is a labor-or-materials hole, not a bargain. Feeling the contractor out as they explain the scope is the point of the in-person walk — it is not a substitute for the license lookup.

  4. 04

    Match the writing trigger. California B&P 7159 Home Improvement Contract writing starts at $500 (SB 517 did not raise it). AB 2622 (Jan. 1, 2025) raised the unlicensed-work exemption to $1,000 labor+materials if no permit and no employees — a different trigger. NY GBL 771 writing typically >$500. Maryland BR 8-501: written contract with license number, begin/completion dates, price, MHIC fund notice; 3-business-day rescission if the payment is secured by an interest in residential real estate. PA HICPA: written contract, 3-day cancel, 45-day no-start refund. Demand: legal name, license, price in dollars and cents, phase-tied payment schedule, start/completion, change-order form, CGL and WC notices, mechanics-lien warning, cancel notices.

  5. 05

    Verify insurance with the carrier, not the PDF. A certificate of insurance is evidence, not the contract. Demand an additional-insured endorsement (ongoing + completed operations), primary/noncontributory, waiver of subrogation, and call the insurer to confirm the policy is in force for this job and this address. CA LLC extra: $100,000 worker bond (7071.6.5) plus CGL $1 million for five or fewer personnel (7071.19). “I’m bonded” on a six-figure kitchen usually means the $25,000 CSLB license bond (7071.6), not a performance bond. PA HICPA insurance: $50,000 personal injury / $50,000 property damage.

  6. 06

    The contractor pulls the permit. FTC scam sign: asking the owner to get the permits. Owner-builder under B&P 7044 shifts workers’ comp, injury, and often insurance risk onto the homeowner. CSLB: disaster rebuilds are home improvement — fixed-price required; no T&M/cost-plus; $1,000/10% down cap.

  7. 07

    Screen the pitch. Door-to-door or in-home close: 16 CFR Part 429, 3 business days (Saturday counts), two Notices of Cancellation, refund within 10 business days. CA Civ. Code 1689.6: 5 days if the buyer is 65+; 7 days after a declared disaster. FTC Impersonation Rule 16 CFR Part 461 (in effect Apr. 1, 2024): illegal to pose as a government entity or to misrepresent affiliation with a utility or business. Storm-chaser leftover-materials pitches and “we’re with FEMA / the city / your utility” are 461 facts. 25C/25D are 0% on a 2026 placed-in-service homeowner install (P.L. 119-21; IRS FS-2025-05 FAQ 7).

  8. 08

    Check the people, not only the company. License personnel vs the person at the kitchen table. HIS/salesperson registration. Google Street View of the “office.” Secretary of State entity status. Complaints on the license record (CSLB discloses; treat a pattern, not a single dispute, as the signal).

  9. 09

    Unlicensed path is disgorgement, not a discount. B&P 7031(a) bars the unlicensed person from suing to collect; 7031(b) lets the owner recover all compensation paid. CSLB investigates license-law violations up to four years. Florida recovery fund and VA/MD funds (skill 15) require a licensed contractor in most cases — hiring unlicensed also burns the fund.

  10. 10

    Expect pushback, then decide. Community reports of contractors who become annoyed at license-and-insurance questions are anecdotal and useful: walk. Hire the one who produces the CSLB/DBPR/TDLR printout, the additional-insured endorsement, the itemized bid, and a 7159-compliant contract without drama.

04Checklists

Contractor vetting

  • License Active, right class, name match; HIS/salesperson number if a salesperson sold it
  • Three itemized written bids on the same scope
  • OSHA IMIS + SAM.gov exclusions searched
  • CGL additional-insured + WC verified with the carrier; license bond vs performance bond distinguished
  • Contractor pulls permits; owner is not listed as owner-builder unless that is a deliberate 7044 choice
  • Written contract matching 7159 / HICPA / 142A / 8-501 fields; down-payment cap checked (skill 15)
  • Subcontractor list (SB 517 checkbox in CA for 2026+ contracts)
  • Cooling-off notices in hand if signed at home
  • 25C/25D not used as a 2026 price reduction
  • Impersonation (“utility / city / FEMA”) documented if it occurred
  • Texas: trade licenses (electrical/HVAC/solar retailer) checked; unlicensed path: 7031(b) demand ready

05Questions to ask

  1. Q01

    “What is your exact license number, classification, and legal entity name, and do they match this contract?”

  2. Q02

    “Send the CSLB/DBPR/TDLR/ROC printout, the CGL additional-insured endorsement, workers’ comp, and, if you are a CA LLC, proof of the $100,000 worker bond and 7071.19 GL.”

  3. Q03

    “Is this a $25,000 license bond, or a performance-and-payment bond covering the full contract amount?”

  4. Q04

    “Who pulls the permit, in whose name?”

  5. Q05

    “Itemize labor, materials, allowances, and markup. What is excluded?”

  6. Q06

    “List every subcontractor (name, license, classification) you will use on this job.”

  7. Q07

    “What is the written start date, completion date, and change-order rule?”

  8. Q08

    “May I call your CGL carrier today to confirm additional-insured status for [address]?”

  9. Q09

    “If this was sold in my home, hand me the two completed Notices of Cancellation with a cancel-by date that is not earlier than the third business day.”

06Red flags

  • Cash-only, large up-front, or “today-only”

  • Owner must pull the permits

  • Unitemized lump sum; no start/end dates; blank spaces

  • License in a different LLC than the contract; HIS unregistered

  • “I’m bonded” meaning only the $25,000 license bond

  • Door-knock leftover-materials / storm-chaser pitching insurance proceeds

  • “We’re with your utility / the city / FEMA”

  • Promising a 30% federal 25C/25D credit on a 2026 install

  • Annoyance at license, insurance, or waiver questions

  • Bid 40% below the other two with no scope explanation; T&M or cost-plus on a CA disaster rebuild

07Scripts

Email requesting bid + credentials (send to three contractors)

Please send a written, itemized bid for [scope] at [address], fixed price, with allowances listed, who pulls the permit, start and completion dates, and a payment schedule that never exceeds value in place. Include your legal entity name, license number and classification, salesperson/HIS number, CGL additional-insured endorsement (ongoing + completed operations) for this address, workers’ comp, and whether you carry a performance-and-payment bond or only the statutory license bond. I am comparing three bids on the same scope and will look you up on [CSLB / DBPR / TDLR / AZ ROC / NV Board] and OSHA IMIS before signing.

License-mismatch walk-away

The contract names [LLC A]. [State board] shows license [number] as Active for [LLC B / a different class / expired]. I will not sign or fund until the contracting entity, license class, and personnel match the public record. If the work is unlicensed in this classification, Cal. Bus. & Prof. Code § 7031(b) requires return of all compensation paid.

In-home cancel (mail the night of the sale)

I cancel the transaction dated [date] for [goods/services] at [address]. This notice is given under 16 CFR Part 429 and Cal. Civ. Code § 1689.6 [3 / 5 senior / 7 disaster] as applicable. Refund all payments within 10 business days. Do not start work. Two Notices of Cancellation were [received / not provided].

08Tools

Callable over MCP once connected. Your agent passes the inputs and gets structured results back.

contractor_license_lookup_checklistLicense-lookup checklist
Opens the right state license search (CA CSLB, FL DBPR, TX TDLR, AZ ROC, NV, PA HIC, VA DPOR; else NASCLA) and scores what you find: active, class matches the job, entity name matches the contract, workers' comp, bond, salesperson registration.
osha_sam_screenOSHA + SAM screen
Builds the OSHA establishment search and SAM.gov exclusion search for the contractor's legal name and DBA, and lists what to record (inspection dates, citation types, active exclusions). Does not fetch live data.
three_bid_comparerThree-bid comparer
Side-by-side bids with a low-bid heuristic: with 3+ comparable bids, flag any bid more than 20% below the median; with 2 bids, flag the lower if it is more than 20% below the other; if you have an independent estimate, also flag a bid more than 25% below it. This is a heuristic based on public-procurement review triggers (TxDOT 20% underrun justification; LADOTD 25% underrun examination; FAR 14.407-3), not a legal standard; a flag never rejects a bid — it prompts you to ask the contractor to explain the gap. Both percentages are adjustable per call. Also flags missing permit, workers' comp, change-order clause, down payment over the state cap, and 25C/25D credits sold as a 2026 discount.

09Formulas & rules

  • Three-bid spread. On a $50,000 kitchen: bids $48,000 / $52,000 / $31,000. The $31,000 bid is 38% below the midpoint of the other two (($48k+$52k)/2 = $50k; $19k / $50k = 38%). Treat as a missing-labor or missing-permit bid until the line items explain it.
  • CA writing vs unlicensed exemption. 7159 writing $500. AB 2622 unlicensed exemption $1,000 if no permit and no employees. A $800 no-permit handyman job may be exempt from licensure and still needs a writing if it is a home-improvement contract ≥ $500.
  • CA down payment after vetting. (\min($1{,}000,\ 0.10 \times \text{price})). $50,000 kitchen → $1,000 (skill 15).
  • Cooling-off calendar. Sale Saturday Oct. 31, 2026 (notices that day; no intervening federal holiday). Sun Nov. 1 skipped. Mon Nov. 2 = BD1, Tue Nov. 3 = BD2, Wed Nov. 4 = BD3. FTC deadline: midnight Wednesday Nov. 4, 2026. CA senior 5-BD: midnight Friday Nov. 6, 2026.
  • 7031(b) disgorgement. $22,000 paid to an unlicensed kitchen crew → demand $22,000, not the unfinished value. Small claims cap $12,500 (CCP 116.221) so the rest is unlimited civil or a bond claim.
  • CSLB bond vs job size. $25,000 bond on a $150,000 addition covers 16.7% of contract price. A performance bond is the instrument that covers the job.
  • PA insurance floor. $50,000 PI / $50,000 PD — far below a fire or fall on a occupied house; demand the actual CGL limit (commonly $1 million) and additional-insured.

10State variation

  • AB 2622 (Jan. 1, 2025): unlicensed exemption $1,000 if no permit and no employees.
  • SB 517 (Jan. 1, 2026): subcontractor checkbox and list-on-request on CA 7159 contracts.
  • Texas solar retailer/salesperson registration Sept. 1, 2026 (Occ. Code ch. 1806); 5-business-day solar cancel since Sept. 1, 2025, Saturday excluded.
  • CSLB bond still $25,000. WC no-employee exemption delayed to Jan. 1, 2028 (SB 1455).
  • 25C/25D ended Dec. 31, 2025.
  • FTC Impersonation Rule in force Apr. 1, 2024; FTC (Oct. 29, 2026) reported 14 actions and >$80 million redress since the rule took effect.
  • Florida recovery-fund caps $100,000/$30,000 for contracts on/after July 1, 2024; Virginia $30,000/$100,000 as of July 1, 2025 (skill 15). Licensing is a patchwork; verify the state board, not a blog count of “36 states.”

11Community tactics

  • Always get at least 3 quotes and feel them out as they explain. Partly — FTC and every state board recommend multiple bids; “feel them out” is common sense. The license lookup and itemized scope are the substance.
  • Reject unitemized bids (“$10k with no breakdown, where’s the warranty”). Partly — 7159/HICPA/8-501 require a written price and description; warranty is contract plus statute (skill 15). Community comment, holds as a screen.
  • Check the license and get a certificate of insurance before work starts. Verified — state boards; COI plus additional-insured endorsement verified with the carrier.
  • Insist on written contracts, payment schedules, final payments subject to inspection. Verified — B&P 7159, PA HICPA, Mass. 142A, MD 8-501.
  • Expect pushback for asking a lot of questions. Anecdotal — YouTube comment; useful as a walk signal, not a legal rule.

12Fact-check notes

  • CFPB, FMCSA, Pennsylvania Insurance Department, NBC News, and ProPublica pages: none cited in last30days for this skill.
  • License URLs work this round: CSLB Check a License (status, class, bond, WC, complaints); FL DBPR wl11.asp; TDLR (no statewide GC; solar retailer as of Sept. 1, 2026); AZ ROC; OSHA IMIS (data through 10/27/2026 on fetch); SAM.gov exclusions; FTC CSN 2024 (81,925 home-improvement reports); FTC How To Avoid a Home Improvement Scam; PA HIC search. NASCLA.org exists as a board directory; a prior fetch of a deep NASCLA URL was blocked — use the homepage.
  • Dropped: “always 3 quotes” as a statute — it is FTC/common-sense practice. $52,883 broken-arm X story, Connecticut deposit rule, New Mexico spot-delivery: not used.

13Tools to implement

Show the tool specifications
  1. License-lookup checklist. Inputs: state, legal name, license number, class, job type. Logic: open the state URL below; pass/fail on Active, class match, entity match, WC, bond, salesperson. Output: printout + fail reasons. URLs: CSLB; FL DBPR; TDLR; AZ ROC; NV; PA HIC; NASCLA.
  2. OSHA + SAM screen. Inputs: legal name, DBA, FEIN if known. Logic: IMIS inspections/citations; SAM active exclusions. Output: citation dates and types; debarment yes/no. Sources: OSHA IMIS (data through 10/27/2026 on fetch); SAM.gov.
  3. Three-bid comparer. Inputs: three itemized PDFs, permit-in-scope yes/no, allowance list. Logic: normalize line items; flag missing permit, missing WC, missing change-order rule, down payment over the state cap, 25C/25D as a 2026 discount. Output: side-by-side + walk/hire recommendation.

14Sources

  1. 01
    CSLB Check a Licensecslb.ca.gov

    California Contractors State License Board

  2. 02
    Florida DBPR license searchmyfloridalicense.com

    Florida DBPR

  3. 03
    TDLR License Searchtdlr.texas.gov

    Texas Department of Licensing and Regulation

  4. 04
    OSHA Establishment Search (IMIS)osha.gov

    OSHA, data through Oct. 27, 2026 on fetch

  5. 05
  6. 06
    Cal. Bus. & Prof. Code § 7031leginfo.legislature.ca.gov

    unlicensed disgorgement

  7. 07
    Cal. Bus. & Prof. Code § 7159leginfo.legislature.ca.gov

    Home Improvement Contract writing

  8. 08
  9. 09
    How To Avoid a Home Improvement Scamconsumer.ftc.gov

    FTC, July 2022

  10. 10
    Harvard JCHS LIRAjchs.harvard.edu

    JCHS, Oct. 22, 2026

  11. 11
    TxDOT PS&E Preparation Manual § 8.2, letting overrun/underrun justificationtxdot.gov

    TxDOT (review trigger at 20% under the engineer's estimate with two or more bidders)

  12. 12
    LADOTD EDSM I.3.1.2 Review of Bids Receiveddotd.louisiana.gov

    Louisiana DOTD, Apr. 24, 2017 (examination when the low bid underruns the estimate by more than 25%)

  13. 13
    FAR 14.407-3 Other mistakes disclosed before awardacquisition.gov

    FAC 2026-01 (verify a bid "so much lower than the other bids")

Demand evidence F3×P4×S4 = 48; r2 §18 “Always get at least 3 quotes and kinda feel them out as they explain” (@caldwellelectric / @antoniobuiltdifferent, 3,065 likes)