SalaryBench IQ avatar

SalaryBench IQ

Pricing

Pay per event

Go to Apify Store
SalaryBench IQ

SalaryBench IQ

SalaryBench IQ turns official US Department of Labor wage disclosure filings into defensible salary benchmarks, percentile ranges, sample wage records, and employer pay intelligence.

Pricing

Pay per event

Rating

5.0

(1)

Developer

Omar Eldeeb

Omar Eldeeb

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

SalaryBench IQ turns official US Department of Labor wage disclosure data into defensible salary benchmarks, sample wage records, and employer pay intelligence for compensation teams, recruiters, immigration counsel, and founders. The actor reads H-1B, H-1B1, E-3, and PERM public filing files, normalizes wage units into annual USD, and returns either percentile benchmark rows or individual salary sample filings.

This is useful when you need salary ranges grounded in employer-filed wage records rather than self-reported compensation surveys.

What This Actor Does

  • Computes P10, P25, median, P75, and P90 salary benchmarks for a role.
  • Supports nationwide, state, city, and employer-specific salary filters.
  • Returns top local buckets when no city or state is supplied, with an all-US benchmark first.
  • Returns raw salary sample filings for auditability and CSV exports.
  • Converts hourly, weekly, biweekly, and monthly wages into annual USD.
  • Supports H-1B, H-1B1, E-3, and PERM green-card labor certification wage data.
  • Discovers available DOL files at run time and uses run storage for cache-friendly downloads when available.

Data Sources

The actor uses official Department of Labor Office of Foreign Labor Certification disclosure files:

https://www.dol.gov/agencies/eta/foreign-labor/performance

H-1B, H-1B1, and E-3 records come from LCA disclosure files. PERM records come from permanent labor certification disclosure files.

Input

Which Mode Should You Use?

Use salary-samples when you need exact salary data. This mode returns individual DOL filing records with employer, job title, work location, wage offered, wage unit, decision date, and source file.

Use salary-benchmark when you need market ranges. This mode scans matching DOL source filings, groups them by location, and returns percentile rows such as P10, P25, median, P75, and P90. The actor may scan thousands or millions of source rows to calculate those percentiles, but it only writes up to maxItems benchmark rows to the dataset.

The prefilled marketplace run uses salary-samples, H-1B only, the latest available fiscal year, and a small maxItems value. That keeps first tests and Apify automated quality checks fast. Switch to salary-benchmark, add PERM, or add more fiscal years when you intentionally want deeper benchmark coverage.

Modes

ModeDescription
salary-benchmarkAggregated salary ranges. Scans source filings first, then returns percentile rows for the requested role and location.
salary-samplesExact salary records. Returns individual wage filings matching the same filters.

Filters

FieldDescription
roleRequired job title keyword, such as software engineer, data scientist, or registered nurse.
employerOptional company keyword for company-specific salary benchmarks.
cityOptional worksite city. If set, benchmark rows are city-specific.
stateOptional two-letter state code. If set without city, benchmark rows are state-specific.
visaTypesAny mix of H-1B, H-1B1, E-3, and PERM. Defaults to H-1B; add PERM when you need green-card wage data.
decisionsFiling outcomes to include. Defaults to Approved.
fiscalYearsUS fiscal years. Leave empty for the latest available year.
minSalaryMinimum annualized offered salary in USD.
maxSalaryMaximum annualized offered salary in USD.
maxItemsMaximum dataset output rows. It does not limit source rows scanned in benchmark mode.
newFilingsOnlyFor salary-samples, skip filings at or before the saved decision-date watermark.
stateKeyValueStoreIdOptional key-value store for persistent newFilingsOnly watermarks across runs.

Example Inputs

Nationwide Benchmark

{
"mode": "salary-benchmark",
"role": "data scientist",
"visaTypes": ["H-1B"],
"decisions": ["Approved"],
"fiscalYears": ["2024"],
"maxItems": 5
}

State Benchmark

{
"mode": "salary-benchmark",
"role": "software engineer",
"state": "CA",
"visaTypes": ["H-1B", "PERM"],
"decisions": ["Approved"],
"fiscalYears": ["2024"]
}

Raw Salary Samples

{
"mode": "salary-samples",
"role": "registered nurse",
"state": "TX",
"visaTypes": ["H-1B"],
"decisions": ["Approved"],
"fiscalYears": ["2024"],
"maxItems": 25
}

Output

Every dataset item includes a type field.

salary-distribution

Returned by salary-benchmark.

{
"type": "salary-distribution",
"role": "data scientist",
"city": null,
"state": null,
"count": 6467,
"p10Salary": 85540,
"p25Salary": 107682,
"medianSalary": 135886,
"p75Salary": 168301,
"p90Salary": 199234,
"topEmployer": "WAL-MART ASSOCIATES, INC.",
"visaTypeBreakdown": { "H-1B": 6467 },
"scrapedAt": "2026-05-13T00:00:00.000Z"
}

When no city or state is supplied, the first row is the all-US benchmark and the remaining rows are the top local buckets by filing count.

filing

Returned by salary-samples.

{
"type": "filing",
"caseNumber": "I-200-24267-357561",
"visaType": "H-1B",
"decision": "Approved",
"decisionDate": "2024-09-30",
"filedDate": "2024-09-23",
"fiscalYear": 2024,
"employer": "GOOGLE LLC",
"jobTitle": "Software Engineer",
"socCode": "15-1252.00",
"wageOffered": 188601,
"wageUnit": "year",
"wageOfferedRaw": 188601,
"prevailingWage": 172931,
"prevailingWageLevel": "II",
"numberOfWorkers": 1,
"workCity": "Sunnyvale",
"workState": "CA",
"sourceProgram": "LCA",
"sourceFile": "LCA_Disclosure_Data_FY2024_Q4.xlsx",
"sourceUrl": "https://www.dol.gov/sites/dolgov/files/ETA/oflc/pdfs/LCA_Disclosure_Data_FY2024_Q4.xlsx",
"scrapedAt": "2026-05-13T00:00:00.000Z"
}

Pricing

This actor is configured for pay-per-event usage in .actor/pay_per_event.json.

EventPriceWhen it is charged
Actor start$0.01Synthetic start event charged automatically by Apify when a run starts.
Salary benchmark row$0.004Each percentile benchmark row returned.
Salary sample filing$0.003Each individual salary sample filing returned.

The first 10 chargeable output events in each run are treated as a free trial inside the actor logic before Actor.charge() is called.

Notes And Limitations

  • Salaries are official DOL filing wages, not total compensation. They do not include bonus, stock, or benefits.
  • When DOL publishes hourly, weekly, biweekly, or monthly wages, this actor annualizes them for comparison.
  • For wage ranges, the actor uses the lower offered wage field as the normalized offered salary.
  • Filing volumes vary heavily by role and location. Small counts should be treated as directional, not definitive.
  • Latest available data depends on when DOL publishes quarterly disclosure files.

Support

For issues or feature requests, use the actor's Apify listing or contact omar.eldeeb@remotegrowthpartners.com.