Most people moving to the US negotiate their salary with incomplete information. They use Glassdoor, LinkedIn Salary, or whatever their recruiter tells them. But there's a more authoritative data source that almost nobody uses: the US Department of Labor's PERM disclosure files.
Every employer that sponsors a foreign worker for a green card must submit the offered wage to the DOL as part of the PERM labor certification process. That data is public. And PermTrack has made all 279,666 cases searchable.
Why PERM Wage Data Is Different
Most salary databases aggregate self-reported figures from employees or job listings. PERM wages are different in two important ways:
They're legally binding. The wage submitted in a PERM application must meet or exceed the DOL prevailing wage for that occupation in that location. Employers can't lowball PERM wages the way they sometimes do in job postings. The submitted wage is what they're actually committing to pay.
They're verified. Each PERM filing is reviewed by the DOL. Wages that don't meet prevailing wage requirements are a common reason for denial. So the data reflects real, defensible salary commitments — not aspirational figures.
This makes PERM wage data one of the most reliable public benchmarks for professional salaries in the US.
What the Data Actually Shows
We analyzed 279,666 PERM cases. Here are some patterns worth knowing before you walk into a salary negotiation.
Software Developers (SOC 15-1252)
Software developers dominate PERM filings — they're the single largest occupation in the dataset by volume. The average PERM wage for software developers varies significantly by state:
| State | Avg PERM Wage (Software Developer) |
|---|---|
| California | ~$158,000 |
| Washington | ~$152,000 |
| New York | ~$147,000 |
| Texas | ~$138,000 |
| Georgia | ~$119,000 |
| Illinois | ~$128,000 |
The same role, the same visa category, filed by companies of similar size — and a $39,000 spread between California and Georgia. Location matters enormously.
The Employer Effect
The average wage also varies by employer, even within the same state and occupation. Large IT consulting firms that file high volumes of PERM cases often show lower average wages than product companies like Google, Amazon, or Microsoft.
This matters if you're comparing offers from a consulting firm vs. a product company. The PERM wage data gives you a factual floor for what each employer has historically committed to paying.
You can explore this at permtrack.app/employers — search any employer, filter by occupation, and see their average wages.
Wage Levels Explained
PERM wages are classified into four DOL wage levels:
- Level I (Entry): ~17th percentile of the occupation in that area
- Level II (Qualified): ~34th percentile
- Level III (Experienced): ~50th percentile
- Level IV (Fully Competent): ~67th percentile
Most PERM filings for experienced tech workers are at Level II or Level III. If your employer is filing your PERM at Level I and you have 5+ years of experience, that's a red flag worth discussing — it could indicate wage underpayment, which is also a common PERM audit trigger.
How to Use This Data in a Negotiation
Step 1: Look up your future employer
Go to permtrack.app/employers and search for the company that made you an offer. You'll see:
- Their total PERM filing volume (how experienced they are with sponsorship)
- Average wages across all their PERM cases
- Average wages filtered by occupation (use the SOC filter)
Step 2: Check your state and occupation on the Wage Map
Go to permtrack.app/map and select your occupation and state. This shows the average PERM wage for that combination — your market rate floor.
Step 3: Know your prevailing wage level
The DOL publishes prevailing wage determinations by occupation and location. If you're Level II or above, you should be offered at least the market median for your role. PERM data is a cross-check on whether the employer's offer is consistent with what they tell the government.
Step 4: Use the data in the conversation
You don't need to reveal that you looked this up. But knowing that the average PERM wage for your role in your city is $X gives you a factual anchor for negotiation. If an offer comes in well below that, you have data to push back with.
A Note on New Hires vs. Existing Employees
One subtlety worth knowing: PERM filings often reflect wages at the time of filing, which may be months or years after the initial hire. Some employers file PERM early (when salaries are lower) and update wages as the case progresses. The disclosed wage is a floor, not necessarily what the employee is earning at the time of approval.
Still, as a benchmarking tool for initial offers, PERM wage data is significantly more reliable than most alternatives.
What This Doesn't Cover
PERM wages cover base salary only. Total compensation (RSUs, bonuses, benefits) is not disclosed. For tech companies where equity is a large part of total comp, PERM wages will understate the full picture. Use them as one input alongside Levels.fyi, Glassdoor, and direct conversations with people at the company.
The Bottom Line
You wouldn't buy a house without checking comparable sales. Don't negotiate a US job offer without checking what your employer has committed to paying for the same role in the same city — on the public record.
279,666 data points. Free. No login required.
→ Explore PERM wage data at permtrack.app/map → Look up any employer at permtrack.app/employers
PermTrack uses public domain data from the U.S. Department of Labor, Office of Foreign Labor Certification (OFLC). Wage figures reflect employer submissions at time of PERM filing and may not reflect current market rates. This article is for informational purposes only and does not constitute legal or financial advice.