Prevailing Wage Levels: H-1B & PERM Wage by Job Title and City avatar

Prevailing Wage Levels: H-1B & PERM Wage by Job Title and City

Pricing

from $2.40 / 1,000 lookups

Go to Apify Store
Prevailing Wage Levels: H-1B & PERM Wage by Job Title and City

Prevailing Wage Levels: H-1B & PERM Wage by Job Title and City

Prevailing wage levels from the US Department of Labor (OFLC, from BLS OEWS): all four levels for any job title or SOC code and US city, yearly and hourly, and which level your salary reaches. For H-1B (H1B) salary and LCA checks, PERM and pay checks. No login, no key. Unmatched lookups cost $0.

Pricing

from $2.40 / 1,000 lookups

Rating

0.0

(0)

Developer

Northbell

Northbell

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Security

Limited permissions

Share

Type a job title and a US city, get the four prevailing wage levels the US Department of Labor sets for it, and see which level a salary reaches. The levels are the ones an employer must meet in H-1B (LCA) and PERM filings, from the DOL's OFLC wage library (built from the BLS OEWS survey). Yearly and hourly, with the occupation and area the title and city were matched to, so you can check us. No login, no API key.

Try it now — the input is already filled in. Press Start: three lookups come back in a few seconds, for about $0.02.

inputoccupationarealevel Ilevel IIlevel IIIlevel IVsalary reaches
Software Engineer | Austin, TX | 150000Software DevelopersAustin-Round Rock-San Marcos, TX95,888119,642143,395167,149level III (+4.6% over III)
Registered Nurse | Houston, TX | 48/hRegistered NursesHouston-Pasadena-The Woodlands, TX75,15087,651100,173112,674level II (−0.3% under III)
15-2051 | New York, NYData ScientistsNew York-Newark-Jersey City, NY-NJ87,256115,835144,414172,994–

Wage year July 2026 – June 2027, yearly USD.

What you can ask

One lookup per line: job title | city, ST | salary.

  • Job title or SOC code. A title is matched to an occupation through ONET's list of about 44,000 job titles people actually use, after dropping words such as Senior, II or Remote (Senior Software Engineer II → Software Developers). A title ONET gives equally to two or more occupations is not guessed: the row lists them (candidateOccupations, at $0) so you can put the right SOC code (15-1252) instead. A posting title that finds nothing as written (Java Backend Developer with Blockchain Exp @ Dallas, TX, Test Lead :: Onsite :: W2 Position) is tried again one piece at a time, without words such as W2, C2C or Onsite; a title that matched as written is never changed.
  • City, state. A metro area's city (Austin, TX, Greater Boston) or any town, matched to its area through its county (Conroe, TX → Houston; Mountain View, CA → San Jose), townships included (Edison, NJ → New York; West Chester, OH → Cincinnati). An OFLC area code (12420) works too. A state or "United States" alone is not an area.
  • Salary (optional). 150000, 150k, or 72/h for hourly (a number under 500 is read as hourly). You get the highest level it meets (salaryReachesLevel, 0 = below level I) and how far it is from level III, the median.

How often a title is matched (measured 2026-11-04 on Apify). 80 job titles as postings write them (Senior Software Development Engineer, Tax Accountant, Mechanical Engineer II, Physical Therapist (PRN)…), each with a US city: 62 matched and charged, 5 matched through a one-source title at $0, 13 not matched at $0 (most with candidate SOC codes). Among the 62 charged, two we would argue with: Marketing Coordinator read as Public Relations Specialists, and Principal Product Manager as Marketing Managers (also how many employers file it). When you know the SOC code, put it instead of the title. On 200 titles from visa-sponsoring job postings (2026-11-04), trying the pieces raised the matched lines from 66 to 83 (charged from 48 to 57); we read every changed line, and a state in the title (SDET - TX, MA, NC) is not read as a job.

What you get

fieldmeaning
occupation, occupationCode, matchedTitlethe occupation (SOC 2018) and the O*NET title used for the match
area, areaCodethe metro or non-metro area
level1 … level4yearly USD: level I about the 17th percentile, II the 34th, III the median, IV the 67th
level1Hourly … level4Hourlythe same per hour (null for occupations paid yearly only, such as teachers)
salary, salaryReachesLevel, salaryVsLevel3Pctyour salary as a yearly figure, the level it reaches and its distance from level III
titleFromOneSourcetrue when the title is one O*NET has from a single source: the levels are given at $0, check the occupation
fromWiderAreatrue when OFLC used a wider area's data because this one had too few survey responses
matched, reasonfalse and why, when a line could not be matched
candidateOccupationsfor a title that is several occupations, those occupations and their SOC codes
wageYear, sourcethe wage year and where every number comes from

What you never pay for

  • A line that could not be matched (title, place or salary not understood): it comes back with the reason, at $0.
  • A line matched through a job title O*NET has from only one source (titleFromOneSource: true). You still get its levels, but check the occupation: on our test of 45 posting titles, 4 of 11 such matches were the wrong one ("Account Executive" came back as Advertising and Promotions Managers).
  • A run where nothing was charged: the run fee is charged only with the first charged lookup.

Cost

$0.01 per run (with the first charged lookup) plus $3.00 per 1,000 matched lookups (a line matched through a one-source title is free). Nothing is fetched from other sites while it runs: the table is part of the Actor, so a run of 1,000 lookups takes seconds.

Postings, not just levels

To put real job postings beside these levels, LinkedIn Salary Scraper returns US jobs with their posted pay and the same four levels on every row (officialWage).

Where the numbers come from

  • Wage levels: US Department of Labor, Office of Foreign Labor Certification (OFLC) wage library, flag.dol.gov, built from the Bureau of Labor Statistics' Occupational Employment and Wage Statistics (OEWS) survey. Public domain. The table is refreshed when OFLC starts a new wage year on 1 July.
  • Job titles: ONET 30.0 Database by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA), used under the CC BY 4.0 license. ONET® is a trademark of USDOL/ETA.
  • Places: US Census Bureau, 2020 place-by-county list, joined to the counties OFLC lists for each area.

This is a lookup of published wage levels, not legal advice; the DOL's own prevailing wage determination is what counts in a filing.