Data report · Nov 2, 2026
Where repair labor costs the most and least
OEWS composite hourly means from $22.78/hr (Hot Springs) to $45.92/hr (San Jose-Sunnyvale-Santa Clara) across mainland metros.
Last updated from data: BLS OEWS May 2025 · PPI construction materials 2026-09
Equipment prices get the headlines. Labor markets still set the floor for service calls, panel swaps, and drain snaking. We took every U.S. metro that publishes at least two of our four OEWS trades — HVAC (49-9021), plumbers (47-2152), roofers (47-2181), electricians (47-2111) — and averaged the published hourly means from BLS OEWS May 2025.
That composite is a wage index, not a job bid. Among mainland metros, it runs from about $22.78/hr in Hot Springs to $45.92/hr in San Jose-Sunnyvale-Santa Clara (spread ~$23.14/hr). Puerto Rico metros sit lower still; we keep them in the full file.
Derived view: the average across trades is ours. The underlying hourly means are straight from BLS. Check any metro on methodology / Check our math.
Highest labor markets (mainland)
| # | Metro | St | Composite | Trade range | Trades |
|---|---|---|---|---|---|
| 1 | San Jose-Sunnyvale-Santa Clara | CA | $45.92/hr | $36.94–$54.94 | 4 trades |
| 2 | San Francisco-Oakland-Fremont | CA | $42.89/hr | $35.68–$49.85 | 4 trades |
| 3 | Fairbanks-College | AK | $42.68/hr | $40.78–$44.39 | 3 trades |
| 4 | Seattle-Tacoma-Bellevue | WA | $42.62/hr | $35.21–$47.94 | 4 trades |
| 5 | Chicago-Naperville-Elgin | IL | $42.22/hr | $38.14–$46.36 | 4 trades |
| 6 | Portland-Vancouver-Hillsboro | OR | $41.26/hr | $32.13–$49.53 | 4 trades |
| 7 | New York-Newark-Jersey City | NY | $40.43/hr | $37.10–$43.66 | 4 trades |
| 8 | Trenton-Princeton | NJ | $40.36/hr | $36.33–$45.59 | 4 trades |
| 9 | Vineland | NJ | $40.01/hr | $35.63–$43.49 | 3 trades |
| 10 | Bellingham | WA | $39.90/hr | $30.58–$49.45 | 4 trades |
| 11 | Anchorage | AK | $39.66/hr | $32.92–$42.93 | 4 trades |
| 12 | Mount Vernon-Anacortes | WA | $39.62/hr | $33.38–$49.54 | 4 trades |
Lowest labor markets (mainland)
| # | Metro | St | Composite | Trade range | Trades |
|---|---|---|---|---|---|
| 1 | Hot Springs | AR | $22.78/hr | $21.72–$23.54 | 3 trades |
| 2 | Gadsden | AL | $23.25/hr | $21.25–$24.79 | 3 trades |
| 3 | Sebring | FL | $23.30/hr | $21.97–$24.91 | 4 trades |
| 4 | Brownsville-Harlingen | TX | $23.44/hr | $22.88–$24.35 | 3 trades |
| 5 | El Paso | TX | $23.57/hr | $18.44–$27.05 | 4 trades |
| 6 | Laredo | TX | $23.57/hr | $22.71–$24.24 | 3 trades |
| 7 | McAllen-Edinburg-Mission | TX | $23.58/hr | $22.62–$24.22 | 3 trades |
| 8 | Fort Smith | AR | $23.72/hr | $21.24–$25.86 | 4 trades |
| 9 | Jonesboro | AR | $23.90/hr | $22.77–$24.81 | 3 trades |
| 10 | Columbus | GA | $24.17/hr | $21.55–$25.96 | 4 trades |
| 11 | Lubbock | TX | $24.18/hr | $19.81–$26.15 | 4 trades |
| 12 | Hattiesburg | MS | $24.31/hr | $20.67–$26.64 | 4 trades |
Embed this table: shareable labor table. Or run a ZIP on the calculator — job estimates still use the local wage for that trade, not this composite.
Also: ZIP calculator · city guides · how we estimate · press kit
By The Fairange team · [email protected]