Minnesota Handyman License Requirements
Minnesota's figure is $15,000 in yearly earnings. The exact wording below decides whether you fit.
Minn. Stat. 326B.805 subd. 6(5): license not required for 'a person whose total gross annual receipts for performing specialty skills for which licensure would be required under this section do not exceed $15,000' (statute = at or below $15,000; DLI webpage says 'less than $15,000'). Must obtain a Certificate of Exemption from DLI by affidavit; if receipts exceed $15,000 in any calendar year, must immediately surrender the certificate and apply for a license. Separate exemption: specialty contractors providing only one special skill (except roofing).
What counts toward it: other: total gross ANNUAL receipts from residential contracting/remodeling (not per job), not reduced by cost of goods, expenses or losses (i.e., labor + materials, annual).
"(5) a person whose total gross annual receipts for performing specialty skills for which licensure would be required under this section do not exceed $15,000;"
Source: revisor.mn.gov · dli.mn.gov · checked November 2, 2026
Who regulates this
Minnesota Department of Labor and Industry (DLI), Construction Codes and Licensing Division (residential contractor licensing; also electrical and plumbing licensing). Subcontractors/commercial contractors register through DLI's Construction Contractor Registration Program.
Source: revisor.mn.gov · dli.mn.gov · checked November 2, 2026
Does Minnesota license general and residential work?
Minnesota DLI licenses Residential Building Contractors, Residential Remodelers and Residential Roofers (Minn. Stat. 326B.802-326B.885). A license is required to contract directly with an owner of 1-4 unit residential real estate for work in MORE THAN ONE 'special skill' (8 categories: excavation; masonry/concrete; carpentry; interior finishing; exterior finishing; drywall and plaster; roofing; general installation specialties). Single-skill specialty contractors need no license (except roofers). Multi-skill handymen need a license or a Certificate of Exemption.
Source: dli.mn.gov · checked November 2, 2026
Registration
Full license: base fee $180 plus Contractor Recovery Fund fee ($320 if gross annual receipts under $1M; $420 for $1-5M; $520 over $5M). Qualifying person must pass exam; 14 hours CE per 2-year renewal. Subcontractors not contracting with owners must register via Construction Contractor Registration Program.
Source: dli.mn.gov · checked November 2, 2026
Trade work
DLI: landlords exemption excludes plumbing/electrical. Solar PV installation must be by a MN-licensed electrical contractor. No handyman carve-out from trade licensing found.
Source: dli.mn.gov · checked November 2, 2026
Insurance and bond
Licensees: public liability insurance minimum $100,000 per occurrence, $300,000 aggregate, and $25,000 property damage; plus proof of workers' compensation compliance. No bond; Contractor Recovery Fund fee instead.
Source: dli.mn.gov · checked November 2, 2026
What a handyman should charge in Minnesota
Statewide planning estimate: $82 to $110 an hour. It's an estimate from public data, not the market rate. City pages use local wages when we can match them.
| Step | Low end | High end |
|---|---|---|
| Your pay (employee wage for this work in Minnesota) | $59,200 median | $69,770 top quarter starts here |
| Overhead ($33,148 national, adjusted to local prices at 98.6) | $32,691 | $32,691 |
| Profit 15% + PTO 10% + warranty 3% + business taxes 12% | +40% | +40% |
| Yearly total to cover | $128,648 | $143,446 |
| Billed hours a year (hours on the job × 52) | 30 × 52 = 1,560 | 25 × 52 = 1,300 |
| Hourly rate | $82 | $110 |
- Wages: BLS Occupational Employment and Wage Statistics, May 2025, occupation 49-9071 Maintenance and Repair Workers, General, Minnesota (statewide figure, because we could not match a metro for this place). The top-quarter figure is in the BLS data file.
- Local prices: BEA Regional Price Parities, 2024, Minnesota, all items index 98.6 (US = 100).
- Overhead, hours and percentages: median answers from members using our hourly rate calculator, the same formula that tool uses. National, not local.
Minnesota places we cover (35)
- Anoka
- Bloomington
- Blue Earth County
- Brainerd
- Brooklyn Park
- Cottage Grove
- Dakota County
- Duluth
- Faribault County
- Ham Lake
- Hastings
- Hennepin County
- Hopkins
- Hugo
- Little Canada
- Mankato
- Maple Grove
- Martin County
- Minneapolis
- Morris
- Park Rapids
- Paynesville Township
- Plymouth
- Ramsey
- Rochester
- Roseville
- Slayton
- St. Cloud
- St. Paul
- Stevens County
- Stillwater
- Waconia
- Waseca
- White Bear Lake
- Woodbury
Rules change. This page shows what official sources said on the dates above. It is not legal advice.