What you can do with H-1B Visa Data

Built for

Talent Acquisition Leaders, Immigration Attorneys, Wage Benchmarking Analysts, Labor Market Researchers

Example workflows

Top H-1B sponsors

Headline 'who sponsors' question — instantly establishes the dataset's value.

Try this

Who are the top 25 H-1B sponsors in the most recent quarter? Show employer name, application count, and median offered wage.

Wage benchmark by SOC

Wage benchmarking is the analyst use case — pivots on SOC + MSA.

Try this

What's the typical offered wage for Software Developers (SOC 15-1252) in the San Francisco Bay Area in the most recent year? Show 25th percentile, median, 75th percentile, and the prevailing wage on the LCA.

Sponsor lookup

Candidate-research workflow — quick yes/no with full filing detail.

Try this

Does Nvidia sponsor H-1Bs? If so, what job titles, what wages, and how many filings in the last 4 quarters?

Geography breakdown

Pivot the dataset by geography — a question journalists and policy researchers ask repeatedly.

Try this

Show me the share of H-1B filings by metro area for software roles in 2024. List the top 10 MSAs, with filing counts and median wage.

Context to know first

Where does the data come from?

DOL OFLC (Department of Labor, Office of Foreign Labor Certification) public LCA disclosure files, refreshed when OFLC publishes a new quarter. Coverage spans the recent fiscal years that OFLC currently makes available.

Does an LCA mean the worker actually got a visa?

No. The LCA is the Labor Condition Application the employer files with DOL — a certified LCA is a prerequisite for the H-1B petition, not the visa grant itself. Use this dataset to study sponsorship intent, wage levels, and labour-market demand, not USCIS approval outcomes.

How current is the wage data?

The 'offered wage' on the LCA is the wage the employer committed to at the time of filing. It's a strong signal for new-hire benchmarking but does not necessarily equal current pay after raises and promotions.

Related editorial

H-1B Salary Database with AI

How LCA filings support wage benchmarks, employer research, and sponsorship analysis.

Read article

AI Skill
SKILL.md

Domain knowledge for H-1B Visa Data — workflow patterns, data models, and gotchas for your AI agent.

H-1B Visa Data

H-1B, H-1B1, and E-3 Labor Condition Application (LCA) disclosure data published by the US Department of Labor's Office of Foreign Labor Certification. ~675K applications across the most recent five quarters. Updated weekly from the OFLC quarterly XLSX releases.

Free, no authentication required.

What an LCA is (and isn't)

LCAs are filings, not visa grants. An employer files an LCA with DOL before sponsoring a foreign worker; a certified LCA is a precondition for the H-1B petition that USCIS later approves or denies. So this dataset tells you who applied to sponsor whom, at what offered wage, in what occupation — not who actually got a visa, started work, or is currently employed.

Data Source

SourceOFLC LCA Disclosure Data
PublisherUS Department of Labor — Office of Foreign Labor Certification
Visa classesH-1B (vast majority), E-3 Australian, H-1B1 Singapore, H-1B1 Chile
FieldsEmployer, job title, SOC code, worksite address, offered wage, prevailing wage, wage level, case status, decision date
UpdateDOL publishes quarterly; we refresh weekly

Capabilities

  • Search employers by name — fuzzy match on the employer name. Optional state filter on employer state. Returns aggregate stats per employer (application counts, certification rate, average annual salary). Cap: 100 results per call.
  • Search applications by job, occupation, or worksite — at least one of job_title (fuzzy), soc_code, or employer is required. Further narrow by state (worksite) and visa_class. Returns individual application records, not aggregates. Cap: 200 results per call.
  • Employer detail — given an exact employer name from a search result, returns every application plus aggregate stats (certification rate, salary range, position counts, top job titles, top worksites). Cap: 500 applications.
  • Dataset statistics — totals, certification counts, employer count, average salary, top sponsors, data freshness.

Field model

  • SOC code — Standard Occupational Classification, e.g. 15-1252.00 (Software Developers), 15-2051.00 (Data Scientists). Self-reported by the employer at filing time; see the SOC mismatch note in the gotchas.
  • Wage level — DOL prevailing-wage tier I (entry) through IV (fully competent). Wage level I roles are typically junior and often command intense scrutiny on RFEs.
  • Case statusCERTIFIED, CERTIFIED-WITHDRAWN, WITHDRAWN, DENIED. "Certification rate" in aggregates excludes withdrawals.
  • Wage — the offered wage at filing time, not what the worker is actually paid after the petition is approved. Returned as a string with unit suffix ($176,866/Year, $35.00/Hour, etc.) — see the wage-units gotcha.
  • Visa class — the jobs-search visa_class filter accepts the short alias (H-1B, E-3, H-1B1) or the literal stored value (E-3 Australian, H-1B1 Singapore, H-1B1 Chile). The response always shows the literal stored value.

Workflows

Sponsorship lookup: Search the employer by name → review aggregate certification rate, average salary, top job titles, and top worksites. Use the exact employer name from the result for the detail call when full application history is needed.

Wage benchmarking by role: Search applications by job title (preferred — see SOC gotcha) → filter to a specific worksite state if local market matters → normalize wages to annual before averaging (units are mixed) → discard salary outliers above ~$1M and below ~$50K before computing means for general roles.

Sponsor discovery for a region/role: Search applications with job_title + state (no employer) → group results by employer to find who sponsors a given role in a given state.

Trend / volume: Get dataset statistics for top sponsors and totals; combine with per-employer detail for year-over-year comparisons within the loaded quarters.

Gotchas

  • At least one of job_title, soc_code, or employer is required for the jobs searchstate-only or visa_class-only queries return an error. Always pair a location/visa filter with one of those three.
  • Empty results return silently with results_count: 0 and an empty applications list. Always check results_count > 0 before treating a response as positive evidence; a "no sponsors in state X" conclusion based on an empty result is only valid if at least one identifier was supplied.
  • Wage units are mixed within a single result set — /Year, /Hour, and occasionally /Bi-Weekly co-exist. Normalize to annual before averaging or comparing across rows. The aggregate avg_annual_salary returned by the employer search and detail endpoints already filters to /Year rows only and is safe to use directly.
  • SOC code does not always match the job title — both fields are employer-self-reported. The same job title can carry several different SOC codes across employers (e.g. "Product Manager" is filed as Software Developer, Industrial Engineer, Marketing Manager, IT Project Manager, and Operations Research Analyst across different employers; "Chief Financial Officer" is filed as Chief Executive, Treasurer/Controller, General Manager, and Financial Specialist). For role-level analysis, prefer searching by job_title and treat SOC as supplementary; for occupation-level cross-employer comparison, use SOC and accept that some titles will be misclassified.
  • Salary outliers exist — most rows are within plausible market ranges, but C-suite filings legitimately show $1M-$2M offered wages, and a handful of rows look like data-entry errors (extremely high values, $30K-or-less for senior roles). Filter out values above ~$1M and below ~$50K before computing means or medians for general roles; keep them for executive analysis.
  • Aggregate avg_annual_salary can be null — if an employer's filings are all /Hour or /Week (no /Year rows), the year-only average comes back as null. Detail-level wage fields are always populated; only the aggregate is missing. Handle the null explicitly.
  • Fuzzy employer search is broad — short or generic names (Inc, Tech, Group) return many unrelated companies, all with match_score: 1.0. Use ≥2 distinctive words (Amazon Web, Goldman Sachs) to narrow. The match_score field on each result reflects pg_trgm similarity and decays for weaker matches; sort or filter on it when over-matching is a problem.
  • Employer-name variants are not deduplicated — the same parent (e.g. Amazon) appears as Amazon.com Services LLC, Amazon Web Services, Inc., Amazon Development Center U.S., Inc., plus uppercase/lowercase duplicates per state. Aggregate stats are per matched name, not per parent. Combining variants for parent-level analysis is the caller's responsibility.
  • Worksite vs. employer state are different — employer-level filters (state on the employer search) match the employer's address; application-level filters (state on the jobs search) match the worksite address. Remote work is recorded as the worksite the employer actually filed for.
  • Geographic fields contain occasional bad data — a small number of rows have placeholder or fictitious worksite cities (literal Test City rows, made-up place names). Treat one-off worksite values for a single application with skepticism.
  • limit is silently capped per tool — employer search at 100, jobs search at 200, employer detail at 500. Requesting larger values returns the cap with no warning.
  • Five quarters of history — this dataset is rolling, not full historical. Long-range trend analysis (multi-year) is out of scope.
  • DENIED is rare in raw counts — most rejected H-1B sponsorships never reach DOL denial; they fail later at USCIS. Don't treat a 99%+ certification rate as a quality signal.

Where the data comes from

OFLC LCA Disclosure Data
US Department of Labor — Office of Foreign Labor Certification

Labor Condition Application (LCA) disclosure files containing all H-1B, H-1B1, and E-3 visa applications — employer name, job title, worksite, wage offered, prevailing wage, SOC code, and case outcome.

~675K applications (5 quarters)
Source updated: Quarterly
We refresh: Weekly
XLSX (72-137 MB per quarter)
US — all H-1B/H-1B1/E-3 LCA filings
H-1B LCA data reflects applications filed with DOL, not actual visa grants. A certified LCA does not guarantee the worker received a visa or is currently employed. Wage data represents the offered wage at time of filing.

Tools in this Server (4)

H1B Get Employer Detail

Get detailed H-1B sponsorship data for a specific employer — all applications, job titles, wages, worksite locations, and aggregate statistics includi...

H1B Get Stats

Get aggregate statistics about the H-1B visa dataset — total applications, certification counts, employer count, average salaries, top sponsors, and d...

H1B Search Employer

Search for H-1B visa sponsor employers by name. Uses pg_trgm fuzzy matching to find companies even with partial or misspelled names. Returns aggregate...

H1B Search Jobs

Search H-1B visa applications by job title, SOC code, employer name, or worksite state. At least one of job_title, soc_code, or employer is required —...

Frequently Asked Questions

What is the H-1B Visa Data MCP server?

Search H-1B visa sponsorship data — employer applications, job titles, wages, locations, and prevailing wage data. Covers 100,000+ LCA applications per quarter with wage levels, SOC codes, and case outcomes. Updated quarterly from DOL OFLC disclosure files. It provides 4 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect H-1B Visa Data to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/h1b-visa. Authentication is handled automatically.

How many tools does H-1B Visa Data provide?

H-1B Visa Data provides 4 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does H-1B Visa Data require?

H-1B Visa Data uses open data APIs — no authentication required.

Where does the data come from?

DOL OFLC (Department of Labor, Office of Foreign Labor Certification) public LCA disclosure files, refreshed when OFLC publishes a new quarter. Coverage spans the recent fiscal years that OFLC currently makes available.

Does an LCA mean the worker actually got a visa?

No. The LCA is the Labor Condition Application the employer files with DOL — a certified LCA is a prerequisite for the H-1B petition, not the visa grant itself. Use this dataset to study sponsorship intent, wage levels, and labour-market demand, not USCIS approval outcomes.

How current is the wage data?

The 'offered wage' on the LCA is the wage the employer committed to at the time of filing. It's a strong signal for new-hire benchmarking but does not necessarily equal current pay after raises and promotions.

What identifiers can I search by?

Employer name (fuzzy), SOC code, job title, work-site location (state, city, MSA), wage range, fiscal year, and case status. The full filing detail includes prevailing-wage level and source.

Setup Instructions

Connect H-1B Visa Data to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/h1b-visa

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to H-1B Visa Data and paste the MCP URL into Remote MCP server URL.
  4. Click Add. H-1B Visa Data will appear under Not connected — select it and click Connect to complete OAuth.
Name: H-1B Visa Data
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/h1b-visa
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Other ways to use H-1B Visa Data

Same data, different audiences.

Dataset

H-1B Visa LCA Disclosures — live data product, refresh cadence + sources documented.

Open dataset
REST API

Call every tool from your own backend. OpenAPI spec + cURL examples.

Open API docs

Try H-1B Visa Data now

No API key or third-party login required. Chat with AI and run tools instantly.

H-1B Visa Data MCP Server & Skill — 4 Tools