SkilledMarkets.comTrade Wage Intelligence
HomeFeaturesPricingROI CalculatorBlogStoreAboutLog inStart Free Trial
SkilledMarkets.comTrade Wage Intelligence

SkilledMarkets gives specialty trade contractors — HVAC, electrical, plumbing, welding — instant BLS-powered wage benchmarks, full O*NET occupational profiles, and offer-ready salary bands. Stop guessing what to pay. Start hiring confidently.

Wage data from the U.S. Bureau of Labor Statistics OEWS · Occupational profiles from O*NET OnLine

Product

  • Features
  • Pricing
  • ROI Calculator
  • Store

Resources

  • Blog
  • About
  • Contact
  • Demo Request

Legal

  • Terms of Service
  • Privacy Policy
  • Refund Policy
  • Cookie Policy
  • Accessibility
© 2026 Rovaryn Digital Inc. · SkilledMarkets.comBuilt by Rovaryn Digital Inc.

We use cookies to analyze site traffic and improve your experience. See our Cookie Policy for details.

Home›Blog
How to Use BLS & O*NET Data

What Is a SOC Code? A Trade Employer's Plain-English Guide

By Rovaryn Digital · May 15, 2026 · 9 min read

What Is a SOC Code? A Trade Employer's Plain-English Guide

Your Candidate Just Countered. Do You Know If Your Number Is Even Right?

Picture this: you've spent three weeks sourcing a journeyman plumber, you've run the final interview, and you come in at what feels like a fair rate. Your candidate smiles politely, says he has another offer on the table, and asks if you can do better. You don't actually know if you can do better — because you don't know where your number came from in the first place. Your last hire set the anchor, and your gut adjusted from there.

That moment — the counter-offer, the awkward pause — is almost always a data problem wearing a negotiation costume.

The fix starts with something most trade employers have never heard of: a SOC code. It sounds technical. It isn't. It's a six-digit number the federal government assigns to every occupation in the country, and for a trade employer it's the single key that unlocks the right wage data for the right role.

By the end of this guide, you'll know exactly what a SOC code is, why it matters when you're pricing an offer, and the specific codes for the ten major trade occupations — so the next time a candidate counters, you'll know whether to hold your number or move.


What a SOC Code Actually Is (and Why the Government Created It)

SOC stands for Standard Occupational Classification — a taxonomy the U.S. Bureau of Labor Statistics uses to organize every job in the American economy into a consistent, numbered system. Think of it as a postal ZIP code for occupations: just as a ZIP code tells the post office exactly which neighborhood you mean, a SOC code tells the BLS exactly which occupation you mean, down to the specific role.

The code itself is six digits broken into two parts: a two-digit major group, a hyphen, and a four-digit detail code. An electrician, for example, is 47-2111. The "47" is the Construction and Extraction major group. The "2111" narrows it all the way down to Electricians specifically — not construction managers, not helpers, not electrical engineers. Electricians.

That precision is what makes the number useful. When the BLS publishes wage data through its Occupational Employment and Wage Statistics (OEWS) program — the most authoritative source of employer-reported pay figures in the country — it organizes every estimate by SOC code. Pull the wrong code and you pull the wrong wages. Pull 47-2111 and you get the actual, employer-reported wage distribution for electricians: median, percentiles, and all.


Why SOC Codes Matter When You're Making an Offer

Here's the practical reason this matters to you as a trade employer: the BLS OEWS data is free, comprehensive, and updated annually — but it is organized entirely by SOC code. There is no "plumber wages" search box. There is no "HVAC tech pay in Phoenix" dropdown. You navigate by code.

When you know the SOC code for the role you're hiring, you can pull:

  • The national median wage — the midpoint of what employers across the country reported paying that occupation (BLS, May 2024)
  • Percentile breakpoints — the 10th, 25th, 75th, and 90th percentile wages, which show you the full spread from entry-level to top-of-market
  • State and metro-area figures — so you can see whether your local market is above or below the national number (always check bls.gov/oes for the current, geography-specific figure)

A percentile, by the way, is simply a ranking. The 75th percentile wage means 75% of people in that occupation earn less than that number — and 25% earn more. It's not a special rate. It's a position on the pay spectrum, and knowing it tells you instantly whether your offer is competitive, average, or going to cost you the hire.

Combine the SOC code with the right percentile for the experience level you're targeting, and you have a real, defensible starting point for every offer — not a gut feel, and not what you paid the last person three years ago. If you want to go deeper on reading the actual OEWS tables, our guide to reading BLS OEWS data for trades walks through that step by step.


The SOC Codes for the 10 Major Trade Occupations

Here are the codes and the BLS May 2024 national median wages for the ten core specialty trade occupations. Every figure below is from the BLS OEWS program (May 2024 release, national). For your local rate — which may be meaningfully higher or lower — go to bls.gov/oes and filter by your state or metro area.

Trade SOC Code May 2024 National Median
Electricians 47-2111 $62,350/yr
Plumbers, Pipefitters & Steamfitters 47-2152 $62,970/yr
HVAC Mechanics & Installers 49-9021 $59,810/yr
Welders, Cutters, Solderers & Brazers 51-4121 $51,000/yr
Carpenters 47-2031 $59,310/yr
Brickmasons & Blockmasons 47-2021 ~$60,800/yr
Sheet Metal Workers 47-2211 $60,850/yr
Structural Iron & Steel Workers 47-2221 $62,700/yr
Construction Equipment Operators 47-2073 $58,320/yr
Masonry Workers (broader group) 47-2040s $56,600/yr

A few things worth noting as you use this table:

Plumbers and pipefitters share one BLS wage row. SOC 47-2152 covers Plumbers, Pipefitters, and Steamfitters as a single series. The BLS does not publish a separate wage figure for pipefitters alone at the national level — so if you're hiring a pipefitter, this is the number you'll use, and it's the only number you should use. Don't look for a different figure; there isn't one in the OEWS data.

"Masonry workers" is a grouped category. The broader masonry group (47-2040s) covers brickmasons, blockmasons, stonemasons, and related workers. The BLS also publishes a more specific series for brickmasons and blockmasons (47-2021) — that's the ~$60,800 median shown above. Which code is right for your hire depends on what the role actually involves; the code should match the work, not just the closest-sounding title.

Your local number will differ from the national median. The national figure is the right anchor for understanding the occupation, but your local labor market — especially in high-cost metros or high-demand regions — can diverge substantially. Always confirm the geography-specific figure at bls.gov/oes before setting an offer. For a closer look at electrician wages specifically, our electrician salary guide goes into the full national percentile range and what each tier means for an offer.


How to Find the Right SOC Code for Any Trade Role

For the ten occupations above, you've got the codes right here. For anything adjacent — elevator installers, glaziers, insulation workers, hazmat removal workers — the BLS has a full directory.

The fastest path is the BLS Occupational Outlook Handbook at bls.gov/ooh. Navigate to "Construction and Extraction" or "Installation, Maintenance, and Repair," find the occupation, and the SOC code appears on that occupation's page. The same code works across the OEWS wage database, the OOH job outlook data, and the O*NET occupational profile system.

Speaking of ONET: the *ONET system* (onetonline.org) uses the same SOC backbone as the BLS, which means any code you find in one system works in the other. O*NET layers on detailed occupational profiles — skills, tasks, knowledge areas, work context — that the BLS wage data doesn't include. The two systems are designed to be used together. If you want to understand how they relate (and why the code structure occasionally differs in small ways), our article on O*NET SOC vs. BLS SOC codes covers that distinction clearly.


From SOC Code to Salary Band: The Next Step

Finding the SOC code is step one. What most trade employers do next — and where the real offer-pricing work happens — is converting the BLS percentile data into a structured salary band: a minimum, a midpoint, and a maximum that reflect your market position and the experience level of the candidate in front of you.

Here's a quick illustration of how that works in practice.

Suppose you're hiring a journeyman electrician. The BLS May 2024 national median for SOC 47-2111 is $62,350. You've confirmed your metro-area median at bls.gov/oes and it's running somewhat above the national figure. You decide to anchor your band at the 75th percentile national figure — $84,050 (May 2024, BLS OEWS) — because you're in a competitive market and you need to win this hire. You apply a ±15% spread buffer around that anchor. Your band looks like this:

  • Minimum: ~$71,400
  • Midpoint: $84,050 (the anchor)
  • Maximum: ~$96,700

That's a worked example using real BLS percentile figures — your actual band will depend on your confirmed local figures and your own spread policy. The point is that once you have the SOC code and the right percentile, the arithmetic is straightforward.

Our skilled trades wage benchmarking guide walks through the full band-building methodology, including how to choose the right percentile anchor for different experience levels.


The Quickest Way to Pull This Together

The BLS data is free and the SOC codes are public. The friction is real, though — downloading tab-delimited spreadsheets, cross-referencing SOC codes, finding the right metro table, and doing the band math by hand is a two-to-three-hour process the first time you do it for a single occupation.

If you'd rather see how all of this looks when it's already organized by trade SOC code, with percentile tables and a band generator in one place, take a look at our pricing page to see what that workflow costs at SMB scale.

And if you want a weekly breakdown of trade wage trends, hiring benchmarks, and straight talk on what the BLS data actually means for an offer — subscribe to our newsletter below. No fluff, no recruiter-speak. Just the numbers you need before the next candidate walks in.


This article includes information from O*NET OnLine, developed by the U.S. Department of Labor, Employment and Training Administration. O*NET is a registered trademark of the U.S. Department of Labor, Employment and Training Administration.

Get the report: Skilled Trades Compensation Guide 2026 →

Ready to go beyond the guide? Benchmark trade wages with live BLS data.

Start Free Trial

Get free wage guides in your inbox

BLS data explainers and salary band tips for trade contractors.

#SOC codes#BLS#occupational classification#trades

Related posts

Wage Percentiles Explained: 10th to 90th, and What Each Means for Your Offer
How to Use BLS & O*NET Data· 9 min read

Wage Percentiles Explained: 10th to 90th, and What Each Means for Your Offer

Percentiles sound like a math class flashback. Here's what each one tells you about the market - and where to anchor your offer.

Read More →
O*NET-SOC vs BLS SOC Codes: How the Two Datasets Connect
How to Use BLS & O*NET Data· 9 min read

O*NET-SOC vs BLS SOC Codes: How the Two Datasets Connect

47-2111 or 47-2111.00? Here's why both exist and how joining them gives you wages plus the full job profile in one place.

Read More →
O*NET Job Zones Explained: How to Read the Experience Level of Any Trade
How to Use BLS & O*NET Data· 9 min read

O*NET Job Zones Explained: How to Read the Experience Level of Any Trade

O*NET's Job Zones rank how much preparation a job takes. For trades, that maps neatly to apprentice, journeyman, and master.

Read More →