The Sponsor File

Methodology

How each number here is produced, and where it stops being reliable

Every number is recomputed from the original files

We download the government's own disclosure files and compute everything ourselves.Every figure on this site is computed from the source files listed below. When two sources disagree about the same company, the difference is almost always in what is being counted, not in the arithmetic — so the rest of this page is mostly about what each number counts.

SourceWhat it isCoverageRowsLoaded
USCIS H-1B Employer Data HubUSCIS decisions on H-1B petitions (Form I-129)FY2009–FY2026 (through Q3)1,067,3752026-08-28
U.S. Department of Labor — OFLC LCA disclosure filesDepartment of Labor Labor Condition Applications (ETA-9035)FY2021–FY2026 (through Q3)3,291,9202026-08-28
U.S. Department of Labor — OFLC PERM disclosure filesDepartment of Labor permanent labor certifications (ETA-9089)FY2021–FY2026 (through Q3)703,4472026-08-28
State WARN layoff noticesState WARN layoff noticesFY2018–FY2026 (through Q4)13,7392026-08-28

Coverage is read from the database at page load, not typed into this page. A coverage note that has to be edited by hand goes stale silently, and a stale coverage note is worse than none — it looks maintained.

Denial rates and LCA certification are two different datasets

Our denial rates come from USCIS petition adjudications. That is a different dataset from the Department of Labor's LCA certification status, which is approved at close to 100% for nearly every employer. The two are often reported interchangeably; they measure different things.

We also do not blend petition types. A first-time petition must clear the annual lottery; moving to a new employer does not take a lottery slot. Those populations face different odds, so we lead with the change-of-employer figure — the one that applies if you are taking a new job — and show every type separately rather than averaging them into a single “denial rate”.

The headline denial figure combines 5 fiscal years, FY2021 through FY2025. One employer's petitions in a single year are often a handful of cases, and a percentage drawn from a handful reads like a probability. Combining years raises the count — but that only helps if the years belong to the same period. Across all employers in our data, the share of change-of-employer petitions denied ran at 9.54% in FY2018, 9.42% in FY2019 and 4.99% in FY2020, and has stayed between 1.28% and 1.99% in every one of the 5 years from FY2021 through FY2025. Averaging the earlier years in with the recent ones would not give a steadier estimate; it would give a number that describes no period at all. So the window covers one period, it stops short of the incomplete current year, and every figure taken from it carries the years it covers — on the page, in the tables, and in the search result summary. Each employer page also lists its own petitions year by year, so the combined figure never stands alone.

The window is not "the last 5 years" computed automatically. A window that rolls forward on its own would, sooner or later, merge two different adjudication periods without anything drawing attention to it. Its boundaries are set deliberately, and each time we reload the data we re-check that the years inside it still resemble one another; if they stop doing so, the refresh stops and the window gets re-decided by a person.

Every threshold we apply

10 in total

A threshold is a decision about what not to show you. We use 10 of them. Two decide whether a figure is a percentage or a raw count; the rest decide whether a page exists, whether we ask search engines to list it, and how long a list gets before we cut it. Each one is listed below with what it excludes, because the useful question is not which constants we chose but which trade-offs we made.

ThresholdValueWhat it gates
Certified filings needed for a median wage10
certified filings
Below this we show the count, not a median
USCIS decisions needed for a denial rate
counted over FY2021–FY2025 combined for the headline, and within each single year for the year-by-year rows
20
decisions
Below this we show approved/denied counts, not a percentage
Certified filings for an employer to get its own page10
certified filings
Employers below this are still in our data and still appear in search results, but without a page of their own
Certified filings for a city to get its own page50
certified filings
Filings in smaller places are counted on the employer's page, but we publish no city median for them
Certified filings for a job title to get its own page100
certified filings
Roles below this are counted as unclassified rather than split into their own page
Content score for a page to be listed for search engines7
points
Pages below this still answer at their own address; they are left out of the sitemap and marked noindex
Employers listed on a city or job-title page25
employers
Only the largest by filing count are listed; the page states the full total next to the list
Worksite states listed next to an employer's name5
states
The list is labelled with the full count. Coverage conclusions are computed from the complete set, never from this truncated one
WARN notices listed on one employer page25
notices
Longer histories are cut, and the page says so — it shows “25+ on record” rather than a count that looks complete
Employers listed in the “filing address in this city” section100
employers
Beyond this the list is truncated and labelled as truncated

The first two are different quantities gating different things, so they are configured and described separately — one is about wages, the other about petition outcomes, and merging them into a single “minimum sample” would hide that. The reasoning behind the denial-rate one:a number that a single case can move by ten percentage points should not be called a rate. At 20 decisions one case moves it by five points, which we think a reader can work with — and that is why every rate on this site is printed next to its n, at the same size. Screening out the worst samples is the first job; letting you judge what is left is the second.

Below a threshold we show raw counts rather than a percentage with a warning label attached. A small-sample percentage gets read as a probability no matter what the label says, while “8 approved, 2 denied” carries its own uncertainty.

Wages

All wage figures are medians, never averages, and count only certified filings. We exclude filings whose wage is implausible against its own prevailing wage — almost always a unit entered wrong, such as an hourly rate filed as a yearly one. Those records stay in the database, flagged; they are kept out of summary statistics.

A filed wage is what the employer committed to the Department of Labor. It excludes bonuses and equity, and it does not confirm what any individual was paid.A filing is also not a hire — employers file for roles they do not always fill.

Grouping employers, job titles and cities

The same company files under many spellings. We merge them only by rules that aredeterministic — identical after normalising case and punctuation, identical after dropping a legal suffix, or a name that literally contains the other as its “doing business as” prefix. We do not merge by similarity scores or edit distance.

The reason is asymmetric cost: wrongly merging two companies puts two different pay distributions on one page, which is not fixable by a reader; failing to merge only costs an extra page. Where we know from public fact that two filing entities are one company, that judgement is recorded by hand, with its evidence, rather than inferred.

Job titles work the same way, and the limit is visible: 28.6% of certified filings currently reduce to one of our 29 role pages. The rest carry titles we cannot group without guessing, so we leave them ungrouped rather than force them somewhere. They remain visible on their employer's page.

We also never flatten seniority. Staff and non-staff filings for the same role differ by tens of percent; a single blended figure overstates one end and understates the other.

Cities are grouped by the worksite on the filing, not the employer's address, and get a page at 50 certified filings (2,578 qualify; 2,298 of those also clear the content threshold and are listed in the city index). Where we cannot confidently place a city inside one federal statistical area, we show the city's own figures and make no comparison to a wider area — an area average printed under a city heading is two different populations in one number.

Where our coverage ends

Layoff notices are the biggest gap. WARN notices are published state by state and we have loaded California only. On an employer page, a blank layoff module means we have no data for that state — not that there were no layoffs. We say which states we have and which of the employer's own worksite states we are missing.

The most recent fiscal year is incomplete for every source. Where we know how far into the year the data runs, we say so; where the publisher gives us no way to tell, we say “partial year” rather than invent a quarter. A partial year always reads as a decline if it is not labelled.

Nothing here is legal or immigration advice, and none of it predicts what will happen to your petition. A high denial rate does not mean an employer will not sponsor you; a low one does not mean your petition will be approved.