Contractor Labor Rates by City · BLS OEWS, May 2025
Contractor Labor Rates by City: What Twelve Metros Pay
Same trade, same survey, same month. Cross a metro line and the wage base moves further than it does between trades.
Bidding in a new market? Price the job from a photo in about six seconds.
What contractor labor rates by city actually measure
The figures below come from the Occupational Employment and Wage Statistics program at BLS, read at the metro level. A metro here is a Metropolitan Statistical Area, which is a labor market rather than a city limit. Dallas and Fort Worth share one number. So do New York and Newark.
These are cross-industry estimates. A carpenter framing houses and a carpenter setting store fixtures land in the same figure, because OEWS groups by occupation, not by who signs the check. Every value is a mean hourly wage for May 2025, the current release. BLS also groups plumbers, pipefitters, and steamfitters into one occupation, so that column is not a plumbing-only figure.
Contractor labor rates by city, twelve metros
Mean hourly wage by trade. The number in parentheses is the OEWS metro area code, which is what you need to pull the row again.
| Metro area (OEWS code) | Electricians (47-2111) | Plumbers and pipefitters (47-2152) | Carpenters (47-2031) | HVAC (49-9021) | Laborers (47-2061) |
|---|---|---|---|---|---|
| San Francisco-Oakland-Fremont, CA (41860) | $49.85 | $44.41 | $43.09 | $41.61 | $35.40 |
| Seattle-Tacoma-Bellevue, WA (42660) | $47.94 | $46.27 | $40.42 | $41.07 | $31.24 |
| Chicago-Naperville-Elgin, IL-IN (16980) | $45.41 | $46.36 | $39.96 | $38.14 | $33.26 |
| New York-Newark-Jersey City, NY-NJ (35620) | $42.63 | $43.66 | $38.73 | $38.33 | $32.42 |
| Boston-Cambridge-Newton, MA-NH (14460) | $40.08 | $44.62 | $39.07 | $38.41 | $34.30 |
| Los Angeles-Long Beach-Anaheim, CA (31080) | $39.57 | $38.57 | $37.79 | $35.88 | $30.39 |
| Washington-Arlington-Alexandria, DC-VA-MD-WV (47900) | $38.29 | $36.10 | $32.11 | $35.45 | $23.88 |
| Phoenix-Mesa-Chandler, AZ (38060) | $30.95 | $33.95 | $29.03 | $29.91 | $23.40 |
| Atlanta-Sandy Springs-Roswell, GA (12060) | $29.82 | $28.85 | $24.81 | $29.07 | $20.74 |
| Houston-Pasadena-The Woodlands, TX (26420) | $29.55 | $30.70 | $25.48 | $29.03 | $21.08 |
| Dallas-Fort Worth-Arlington, TX (19100) | $28.83 | $29.94 | $24.16 | $29.69 | $21.05 |
| Miami-Fort Lauderdale-West Palm Beach, FL (33100) | $28.81 | $27.80 | $25.97 | $28.85 | $22.17 |
SimplyWise Cost Estimator turns a photo into an itemized, branded estimate in about 6 seconds, with material, labor, and fee lines broken out.
Geography moves the number more than the trade does
Take San Francisco on its own. The gap from a laborer at $35.40 to an electrician at $49.85 is a factor of 1.41. Now hold the trade still and move the map: electricians run $28.81 in Miami and $49.85 in San Francisco, a factor of 1.73.
Read that twice, because it inverts how most bids get built. Swapping a laborer for a licensed electrician inside one market costs you less, proportionally, than keeping the same electrician and crossing four state lines. That same electrician rate carried from a Dallas job into a Bay Area job is not conservative. It is short by nearly seventy-three percent at the base.
The ordering is not uniform either. Chicago pays plumbers and pipefitters more than Seattle does, while Seattle pays electricians more than Chicago. So there is no single city multiplier to apply across a bid. Each trade has to be priced on its own row.
Reprice the whole bid for a new market
Changing one labor line by hand is quick. Changing every line for a market you have never worked is not. SimplyWise Cost Estimator turns a photo into an itemized, branded estimate in about 6 seconds, with a unit, quantity, and price on every line. Pricing is $29.99/mo or $239.99/yr, about $20/mo on annual, with a 7-day free trial.
How to pull your own metro off the OEWS file
-
Find your metro area code
Every Metropolitan Statistical Area carries a five digit code. The twelve above are in the table. Denver is 19740, Minneapolis is 33460, Detroit is 19820.
-
Build the series id
An OEWS series id is OEUM, then your area code padded to seven digits, then 000000, then the six digit occupation code, then 03 for mean hourly wage. Electricians are 472111.
-
Or download the flat file
The May 2025 metro workbook sits at bls.gov/oes as a single spreadsheet covering every metro and occupation. That is the fastest route when you need several markets at once.
-
Add back what the survey leaves out
Premium pay, overtime, and the owner-operator are all outside these numbers. Layer your own burden, overhead, and margin on top before the figure becomes a rate you quote.
Keep reading
Sources
- BLS OEWS, May 2025 metropolitan area file (MSA_M2025_dl.xlsx, every wage figure in the table; verified 2026-08-22).
- BLS Public Data API, Getting Started (the version 2.0 timeseries service every figure here was re-pulled from by series id and matched to the file; verified 2026-08-22).
- BLS, OEWS Frequently Asked Questions (wage and employee definitions, the panel design; verified 2026-08-22).
- BLS, Occupational Employment and Wage Statistics (program scope and release schedule; verified 2026-08-22).
- SimplyWise Cost Estimator, App Store (4.8 rating; verified 2026-08-22).
Contractor labor rates by city: common questions
Which metro pays construction trades the most?
Of the twelve here, San Francisco leads on electricians, carpenters, HVAC, and laborers. Chicago edges out every metro on plumbers and pipefitters at $46.36 an hour.
Are these the rates I should bill?
No. They are wages paid to employees. A billed rate adds payroll burden, overhead, and margin on top of the wage.
Does this include overtime?
No. BLS defines OEWS wages as straight-time gross pay, exclusive of premium pay. Overtime, shift differentials, and on-call pay are all excluded.
Are self-employed contractors in this data?
No. The survey covers workers paid a wage or salary, and does not cover the self-employed, owners and partners in unincorporated firms, or unpaid family workers.
How current is May 2025 data?
It is the current release, but it is a blend. BLS builds each set from six semiannual panels, so May 2025 reaches back to November 2022, with older panels adjusted forward.
Can SimplyWise price a job for a market I do not know?
Yes. SimplyWise Cost Estimator turns a photo into an itemized, branded estimate in about 6 seconds. Free to try, at $29.99/mo or $239.99/yr.
Build the bid on local numbers, not last year’s crew rate.
Snap a photo and get an itemized, branded estimate in about 6 seconds. Free to try.