H1B Salary Scraper: Employers, Jobs & Pay Data
Pricing
from $10.00 / 1,000 salary filings
H1B Salary Scraper: Employers, Jobs & Pay Data
Scrape H1B visa salary data from public DOL LCA filings: employer, job title, base salary, city, dates and per-employer median, average and max pay. Fiscal years 2012-2026. Export CSV, Excel, JSON or XML. No login or API key. Netflix 2026 returns 2,157 filings.
Pricing
from $10.00 / 1,000 salary filings
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
๐ผ H1B Salary Scraper: Employers, Jobs & Pay Data
H1B Salary Scraper pulls US Department of Labor LCA filings from two sources: the fast h1bdata.info search (certified filings, fiscal years 2012 to 2026) or the official DOL OFLC disclosure workbooks (fiscal years 2020 to 2026, all case statuses, up to 74 fields per filing). Filter by employer, job title, city, state, salary band, visa class, wage level or SOC code and get one row per filing plus an optional employer summary of minimum, median, average and maximum pay. Export CSV, Excel, JSON or XML. No login, no API key. Priced $0.01 per filing, verified 2026-10-10.
The H1B salary scraper turns an employer, job title, city or state search into a spreadsheet of real, employer-stated wages, for job seekers, recruiters, compensation teams, immigration attorneys and researchers. A DOL-source run for Google, fiscal year 2025, California matched 5,634 filings with a median base salary of $186,000.
๐ What does the H1B Salary Scraper do?
- Looks up H1B salary data by one or several employers, with filters for job title, city, state, yearly salary band and case status.
- Two sources in one actor:
h1bdata(default, fast, certified filings only) anddol(official Department of Labor files, including withdrawn and denied cases). - DOL source only: fiscal quarter, visa class, prevailing wage level I to IV, H-1B dependent employers, SOC code prefix and employer name match.
- Converts hourly, weekly, bi-weekly and monthly wages to a yearly figure on DOL rows, keeping the raw wage and unit.
- Adds an optional employer summary row with filing count, minimum, median, average, maximum salary and top job titles.
๐ What data can you extract from H1B LCA filings?
The dataset schema has 77 typed properties and four views. h1bdata fills about a dozen; DOL fills up to 74.
| Group | Fields |
|---|---|
| Row basics | recordType, employerSearched, employer, jobTitle, baseSalary, location, city, state, submitDate, startDate, caseStatus, year, quarter, source |
| Case and visa (DOL) | caseNumber, visaClass, decisionDate, originalCertDate, endDate, socCode, socTitle, fullTimePosition, publicDisclosure, statutoryBasis |
| Positions (DOL) | totalWorkerPositions, newEmployment, continuedEmployment, changePreviousEmployment, newConcurrentEmployment, changeEmployer, amendedPetition |
| Employer and worksite (DOL) | tradeName, employerCity, employerState, employerPostalCode, employerCountry, employerFein, naicsCode, agentRepresentingEmployer, lawFirmName, worksiteCounty, worksitePostalCode, worksiteWorkers, secondaryEntity, secondaryEntityName, totalWorksiteLocations |
| Wages (DOL) | wageFrom, wageTo, wageUnit, annualizedWageTo, prevailingWage, prevailingWageUnit, annualizedPrevailingWage, wageLevel, abovePrevailingWagePercent, oesYear |
| Prevailing wage source (DOL) | pwOtherSource, pwOtherYear, pwSurveyPublisher, pwSurveyName |
| Flags (DOL) | h1bDependent, willfulViolator, supportH1b |
| Summary row | filings, minSalary, medianSalary, averageSalary, maxSalary, topJobTitles, summaryFilesScanned, summaryFilesTotal, summaryComplete |
| Always | sourceUrl, scrapedAt; error rows add error, errorType, hint |
Fields that do not apply to a row are omitted, not left empty. Employer and attorney contact names, phones, emails, preparer fields and street addresses are not output on purpose, because they can identify private individuals.
๐งพ Sample output
Rows shortened to the main fields, from a DOL-source run on 2026-10-10 (Google, fiscal year 2025, California).
{"recordType": "salary","source": "dol","employer": "Google LLC","jobTitle": "Technical Program Manager","baseSalary": 212000,"city": "Sunnyvale","state": "CA","caseNumber": "I-200-25266-329244","submitDate": "2025-09-23","startDate": "2026-03-18","year": "2025"}
Summary row of the same run (salary at most $250,000):
{"recordType": "employer-summary","source": "dol","filings": 5634,"medianSalary": 186000,"summaryFilesScanned": 4,"summaryFilesTotal": 4,"summaryComplete": true}
๐ต How much does it cost to scrape H1B salary data?
Pay per event, no subscription. Live prices, the same on every Apify plan tier:
| Event | Price |
|---|---|
| Salary filing (one row, either source) | $0.01 ($10 per 1,000) |
| Employer salary summary (one per search, optional) | $0.02 |
A 10-filing run with the summary costs $0.12. A 1,000-filing run costs 1,000 x $0.01 = $10.00, or $10.02 with a summary. DOL rows use the same filing price. Rows with errors, searches with no matches, invalid input and runs that fail are not charged. Set a maximum total charge in the run options and the Actor stops cleanly when it is reached. Free users get a 10-row preview.
๐ How to scrape H1B salaries in 3 steps
- Click Try for free, pick the data source and enter employers (or a job title, city or state).
- Choose the fiscal year.
- Click Start and download the dataset as CSV, Excel, JSON or XML.
โ๏ธ Input
| Field | Default | Meaning |
|---|---|---|
dataSource | h1bdata | h1bdata or dol |
employers | ["Google"] | Company names, one search each |
jobTitle, city | empty | Job title keyword and worksite city |
state | any | Worksite state or territory (two letters) |
year | 2026 | Fiscal year, or "All Years" (DOL: 2020 to 2026) |
maxItems | 10 | Maximum salary rows (summary rows not counted) |
minSalary, maxSalary | 0 | Yearly salary band, 0 = no bound |
caseStatus | any | Certified, certified-withdrawn, withdrawn, denied (last three need DOL) |
includeEmployerSummary | true | Add the per-employer statistics row |
quarter / visaClass | any | DOL only: fiscal quarter 1 to 4; H-1B, H-1B1 Chile, H-1B1 Singapore, E-3 Australian |
wageLevel / h1bDependent | any | DOL only: wage level I, II, III, IV or N/A; dependent employer yes or no |
socCode | empty | DOL only: SOC prefix such as 15-1252 or 15-1 |
employerMatch | contains | DOL only: contains, startsWith or exact legal name |
With h1bdata, state, minSalary, maxSalary and caseStatus run client-side on the downloaded table; with DOL they run before a row is built. Using a DOL-only field with h1bdata stops the run with a free error row that says so.
{ "dataSource": "dol", "employers": ["Google"], "year": "2025", "state": "CA", "maxSalary": 250000, "maxItems": 5 }
Provide at least one employer or another filter, otherwise the run ends as SUCCEEDED with one free error row (errorType: invalid-input) and nothing is charged.
๐ฆ Output
One dataset with four views: salary rows first, then the employer summary row when enabled. Dates are MM/DD/YYYY in h1bdata rows and ISO (YYYY-MM-DD) in DOL rows. If a search matches nothing, the run finishes with a status message and zero charge. If the source layout changes or the site is unreachable, the run fails instead of reporting an empty success.
How fast is it, and what is slow?
h1bdata runs finish in seconds (about 10 seconds for 10 rows). The DOL source reads quarterly workbooks of 53 to 290 MB, so a four-file fiscal year scan took about 80 to 140 seconds. The worst case is "All Years" with an employer that matches few or no filings: the actor must read all 25 files, which can take up to about 14 minutes. Choose a year or quarter to avoid it.
๐ H1B salary scraper vs alternatives
Read from the public Apify Store pages on 2026-10-10:
| Capability | This Actor | scrapesage | pink_comic |
|---|---|---|---|
| Source | h1bdata.info or official DOL files | h1bdata.info index of DOL data | Official DOL workbooks |
| Employer summary row | Yes, min, median, average, max | Yes, with percentiles | Not stated in their listing |
| Only-new monitoring | Not offered | Yes, monitor mode | Not stated in their listing |
| Contact names and emails | Not output on purpose | Yes, from the filing | Not output |
| Price per filing | $0.01 | $0.004 | $0.002 |
Other H1B actors on the Store: haketa ($0.005 per item, optional live WARN layoff check), inexhaustible_glass ($0.005), nexgendata ($0.05, opt-in email and SEC add-ons). Several are cheaper per row, and scrapesage adds monitoring and contact data that we leave out. We fit better for official DOL fields (denied cases, wage level, annualized pay) or a summary row, with free failed and empty runs. If you only need cheap rows or contacts, pick a rival.
๐ผ Use cases
Salary negotiation, compensation benchmarking, recruiting research and wage evidence for immigration cases.
๐ Run via API and integrations
curl -X POST "https://api.apify.com/v2/acts/recordsdata~h1b-salaries-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"employers":["Netflix"],"year":"2026","maxItems":10}'
Works with the Apify API, Python and JavaScript clients, schedules, webhooks, Zapier, Make, n8n and Google Sheets. There is no only-new mode, so a scheduled run returns the same filings again.
โ๏ธ Is it legal to scrape H1B salary data?
LCA disclosure data is published by the US Department of Labor and is public by law. This Actor reads the public h1bdata.info pages and DOL disclosure files politely and exports no worker names. You remain responsible for the source terms and local law.
๐ค H1B Salary Scraper MCP server for AI agents
AI agents can call this Actor through the Apify MCP server at https://mcp.apify.com?tools=RecordsData/h1b-salaries-scraper, which loads only this Actor as a tool.
Add this to your MCP client configuration (Claude Desktop, Cursor, VS Code):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=RecordsData/h1b-salaries-scraper"}}}
Example agent prompt:
Use the H1B Salary Scraper with the DOL source to find fiscal year 2025 H1B filings for Google in California under $250,000, include the employer summary, and tell me the median base salary.
Tool description: choose this Actor when an agent needs employer-filed H1B wage data (base salary, wage level, SOC code, case status, location, dates and median statistics) rather than self-reported estimates. The tool takes the same fields as the Input table.
โ Frequently asked questions
๐ผ How do I look up H1B salaries by company?
Enter the company name in the Employers field of the H1B Salary Scraper, choose a fiscal year and click Start. You get one dataset row per filing, with employer, job title, base salary, worksite location and submit and start dates. Add a job title, city or state to narrow results.
๐ต Are the H1B Salary Scraper salaries real?
Yes. The H1B Salary Scraper returns the base salaries that employers stated on LCA filings to the US Department of Labor, through h1bdata.info or straight from the DOL files, not survey guesses. Each row keeps a sourceUrl, and DOL rows carry the case number so you can check them.
๐ Which fiscal years does the H1B Salary Scraper cover?
The h1bdata source covers fiscal years 2012 to 2026, or all years with "All Years", but it holds very little 2024 data, so 2022, 2023, 2025 and 2026 work best. The DOL source covers fiscal year 2020 Q1 to fiscal year 2026 Q1 (25 workbooks). The default year is 2026.
๐ Can I combine employer, job title and city in the H1B Salary Scraper?
Yes. The scraper applies the employer, job title, city and state filters together in one search, for example Software Engineer in Seattle at a chosen company. You need at least one filter. Set minSalary and maxSalary to keep only filings inside a yearly salary band.
๐ How is the H1B median salary calculated?
The optional employer summary row is calculated across every filing the search matched, not only the rows you export. With h1bdata, maxItems does not change it. With the DOL source the same holds only when the scan finishes inside the bound described below, and summaryComplete tells you whether it did.
๐ข Why did the H1B Salary Scraper return 0 results?
The search matched nothing, for example a misspelled employer name, a state with no filings for that employer, or a fiscal year with sparse data. Try a shorter employer name or another year. A run with no matches finishes with a status message, saves no rows and costs nothing.
๐ธ Do I pay for the H1B Salary Scraper summary if it is off?
No. The employer salary summary is a separate $0.02 event, billed once per search and only when includeEmployerSummary is enabled and a summary row is actually produced. With it off you pay only the $0.01 per salary filing, and rows with errors are never charged.
๐งฏ What happens if I send an empty or invalid input to the H1B Salary Scraper?
Wrong values for dropdowns or number fields are rejected by the Apify platform with a 400 error before any run starts. Valid but unusable inputs, such as no filter at all, a DOL-only filter with h1bdata or a minimum salary above the maximum, end as SUCCEEDED with one free error row and no charge.
โ๏ธ Does the H1B Salary Scraper need an API key or login?
No. The H1B Salary Scraper reads public pages and public DOL files, so it needs no login and no API key. You only need an Apify account to run it and export the data as CSV, Excel, JSON or XML. It exports no worker names, only public LCA disclosure fields.
๐ฆ How many H1B filings can one scraper run return?
One run can return up to 1,000,000 salary filings on paid Apify plans, controlled by the maxItems field, which defaults to 10. Free Apify users get a 10-row preview. You can also set a maximum total charge in the run options and the actor stops cleanly when it is reached.
๐ Which source should I choose, h1bdata or DOL?
Use h1bdata for quick salary lookups: certified filings in seconds with about a dozen fields. Use the DOL source when you need denied or withdrawn cases, wage level, prevailing wage, SOC code, visa class, FEIN or NAICS. DOL runs read large files and take minutes, so set a year or quarter.
๐งฎ How is the annualized wage calculated?
On DOL rows baseSalary is the offered wage-from value as a yearly integer: year x1, month x12, bi-weekly x26, week x52, hour x2,080. The raw wageFrom and wageUnit stay in the row, so a $33.63 hourly wage shows as $69,950 a year. Check wageUnit before trusting outliers.
๐ Is the employer summary always complete on the DOL source?
Not always. With the summary on, the actor reads at most four more quarterly files after maxItems is reached. If the scan finishes inside that bound the summary is exact (summaryComplete true). Otherwise the row is still delivered with summaryComplete false; raise maxItems for a complete summary.
๐ What data does the H1B Salary Scraper not output?
It leaves out employer and attorney contact names, phones and emails, preparer fields and street addresses, because they can identify private individuals. It also adds no WARN layoff checks or SEC company data. You still get the law firm name and employer and worksite city, state, county and postal code.
๐ Support
Questions or custom needs: Issues tab or contact.punkrecordsdata@gmail.com.
โ ๏ธ Disclaimer: independent tool, not affiliated with the US Department of Labor or h1bdata.info. It exports only publicly available disclosure data.
Last updated: 2026-10-11