ZIP Code

ZIP 94117

High activity

County page · 497 H-1B filings

Employers in 94117 (CA) filed 497 certified H-1B applications requesting 565 workers across 258 companies. The median offered wage is $123,020/yr. The largest filers are University of San Francisco, Deloitte Consulting LLP and The University of San Francisco. The displacement model assigns 612 worker-equivalent exposures to these filings.

Source import recorded Sep 2, 2026

Overview

H-1B Filings

497

497

Workers

565

requested

Employers

258

certified filings

Avg Offered

$129.2K

annual

BLS reference

$104.6K

occupation average

Offered vs BLS reference

24%

above benchmark

Below prevailing

0%

466 filings with offered wage data

WARN notices

0

reported records

Headline filing and employer counts use certified H-1B records. The below-prevailing share uses filings with offered wage data as its denominator. Offered, prevailing and BLS averages use independently available values; their populations can differ. The BLS reference averages national occupation medians linked to certified filings, using each occupation's latest available year. It is not a ZIP-wide market median. The employer list includes all LCA outcomes and visa classes; quality-flagged rows are excluded.

Offered wage vs BLS reference

$0$32.3K$64.6K$96.9K$129.2K$129.2KZIP 94117 avgoffer$104.6KAverage BLSreferenceannual wage

Employers & jobs

Employers (312)

EmployerFilings
1

University of San Francisco ⚠ Dep

$95.4K avg

78
2

The University of San Francisco

$101.3K avg

20
3

University of California, San Francisco

$115.5K avg

15
4

Ucsf Medical Center

$138.2K avg

11
5

Lycee Francais De San Francisco

$71.6K avg

9
6

Google LLC ⚠ Dep

$161.2K avg

8
7

American Board of Podiatric SURGERY, Inc.

$108.5K avg

8
8

Open Avenues Foundation ⚠ Dep

$98K avg

6

Job categories (102)

  • Software Developers62 · 32.6%
  • Software Developers, Applications36 · 18.9%
  • Computer Occupations, All Other18 · 9.5%
  • Operations Research Analysts18 · 9.5%
  • Market Research Analysts and Marketing Specialists15 · 7.9%
  • Management Analysts14 · 7.4%
  • Business Teachers, Postsecondary14 · 7.4%
  • General and Operations Managers13 · 6.8%
Job categoryH-1B vs BLS
15-1252 Software DevelopersH-1B $173.6K vs BLS $136K+28%

62 workers · 62 filings · $180K wage theft

15-2031 Operations Research AnalystsH-1B $133.2K vs BLS $88.9K+50%

18 workers · 18 filings · $34K wage theft

24 workers · 15 filings · $121K wage theft

13-1111 Management AnalystsH-1B $105.3K vs BLS $101.9K+3%

14 workers · 14 filings · $145K wage theft

25-1011 Business Teachers, PostsecondaryH-1B $126.7K vs BLS $99.1K+28%

14 workers · 14 filings · $6K wage theft

11-1021 General and Operations ManagersH-1B $117.8K vs BLS $105.8K+11%

13 workers · 13 filings · $170K wage theft

Filings

LCA filings (628)

Title · Worksite

A negative % sits below the BLS market median; a positive % sits above.

Americans displaced (modeled estimate)

612

The math
Base (1 per certified worker)
+565
Wage-gap multiplier

162 of 497 filings below BLS median

+47
Total612

Σ workers×(1+wage_gap) + Σ WARN layoffs. The 1.0 base rate per certified H-1B worker request is a site model assumption. Wage gap multiplier = (BLS median − offered wage) / BLS median, applied only to filings offering less than the BLS median. Related research provides context, not validation of these exact coefficients. This is a modeled estimate, not a count of actual displacements.

Exposure method v1.2 · This is a modeled worker-equivalent count.

Modeled consequence estimates

Conditional impacts associated with modeled displacement

Explore ZIP 94117’s scenarioEarnings · children · health · adjust the worker count

These are conditional population estimates scaled from ZIP 94117's current modeled displacement count. They are not observed outcomes, a prediction about any person, or evidence that this entity caused displacement.

Exposure method v1.2 (stored with this aggregate) · benchmarked to the latest BLS survey. Consequence parameters v1.54; build v1.54+engine0.4.1+d84162591c94d06c8148c4834ae705ff3f9a015c29955d95d26749834cd136ed+national-reference1

Excess deaths over 20 years

Illustrative reference calculation · population applicability is not established

17.6

Range: 6.89 to 30.65

20-year reference scenario: high-seniority male displacement effect. This is not an expected count for an unknown population.

Source-profile mortality point (deaths)
17.5950217235
No sustained excess from year 7 (deaths)
12.556494367

Declared structural comparison; not a confidence interval or a model probability.

Baseline population: US prime-age men (45-54).

Child lifetime earnings lost

Illustrative reference calculation · population applicability is not established

$293.0M

Range: $76.1M to $494.7M

Canadian father–son firm-closure effect, applied to a US male lifetime-earnings baseline in 2024 dollars. The reference result uses 2 children per worker.

Baseline population: US male median lifetime earnings.

The mortality effect comes from a high-seniority male study cohort. Treat the count as a reference scenario unless the population matches. A mixed population needs a reviewed transport rule.

The range is the engine's parameter-support envelope: it varies declared parameters only and adds none of the exposure input's uncertainty.

The math, limits, and citations

Illustrative reference calculation scaled by the supplied worker-equivalent exposure. Two children per worker; 20-year mortality follow-up. This does not establish that an entity caused these outcomes.

Input SHA-256: a771d456f24b73ab4a27e51e83ec07640a0d93114d4ffc968aae925e700d843d

Excess deaths over 20 years: {"status":"illustrative_reference_calculation","eligible_for_public_headline":false,"target_population":null,"decision":null,"transport_assumptions":["high-tenure male mass-layoff cohort, ages 45–54","Pennsylvania early-1980s response transported to target place and calendar time","fixed baseline age rate over follow-up; cohort aging is not modeled"],"reason":"Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."}

Child lifetime earnings lost: {"status":"illustrative_reference_calculation","eligible_for_public_headline":false,"target_population":null,"decision":null,"transport_assumptions":["Canadian father-son firm-closure estimate transported to the target families","US male synthetic career earnings convert a relative adult earnings effect to dollars","lifetime dollars are undiscounted; this is not an annual loss"],"reason":"Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."}

Projection eligibility: {"child":{"status":"direct_estimate","eligible_for_validated_direct_contrast":true,"reason":"direct displacement-to-child adult earnings estimate; transport still requires an applicability decision"},"grandchild":{"status":"structural_projection","eligible_for_validated_direct_contrast":false,"reason":"combines a direct child estimate with an intergenerational persistence assumption; not an identified displacement intervention effect"},"greatgrandchild":{"status":"source_withdrawn","eligible_for_validated_direct_contrast":false,"reason":"source withdrawn for grandchild_earnings->greatgrandchild_earnings: The source measures earnings for three generations and education for four. It does not estimate .55 causal gap transmission to a fourth earnings generation. Retaining a projection would require an explicit uncalibrated assumption, not a source-identified default."}}

Exposure source: {"source":"one-worker normalized reference input","method":"scale by the stored warehouse worker-equivalent exposure at read time"}

Exact values: excess deaths over 20 years 17.5950217235 (range 6.89043530655 to 30.6492425559); child lifetime earnings lost $292,994,561.00 (range $76,102,483.38 to $494,666,141.95);

The displayed range is a parameter-support envelope, not a confidence interval.

Place reference: national reference.

Not included: exposure estimation error; baseline estimation error; unmodeled pathways.

Blocked model paths: local_service_jobs_lost: requires a documented net local loss of tradable jobs; worker displacement alone is not this exposure.

  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_peak; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_offset_1; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_offsets_2_3; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_offsets_4_5; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_sustained; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Child lifetime earnings lost: oreopoulos2008 (displacement->child_earnings; EXACT) Study population: Canada 39k father-son pairs firm closures.
Scenario assumptions, sensitivity and source records

Outcome statistics use the displayed exposure. Baselines, coefficients, annual family schedules and component records retain their source normalization.

{
  "displayed_workers": 611.815,
  "source_normalization_workers": 1,
  "applicability": {
    "excess_deaths": {
      "status": "illustrative_reference_calculation",
      "eligible_for_public_headline": false,
      "target_population": null,
      "decision": null,
      "transport_assumptions": [
        "high-tenure male mass-layoff cohort, ages 45–54",
        "Pennsylvania early-1980s response transported to target place and calendar time",
        "fixed baseline age rate over follow-up; cohort aging is not modeled"
      ],
      "reason": "Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."
    },
    "child_lifetime_earnings_lost_usd": {
      "status": "illustrative_reference_calculation",
      "eligible_for_public_headline": false,
      "target_population": null,
      "decision": null,
      "transport_assumptions": [
        "Canadian father-son firm-closure estimate transported to the target families",
        "US male synthetic career earnings convert a relative adult earnings effect to dollars",
        "lifetime dollars are undiscounted; this is not an annual loss"
      ],
      "reason": "Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."
    }
  },
  "target_population": null,
  "projection_eligibility": {
    "child": {
      "status": "direct_estimate",
      "eligible_for_validated_direct_contrast": true,
      "reason": "direct displacement-to-child adult earnings estimate; transport still requires an applicability decision"
    },
    "grandchild": {
      "status": "structural_projection",
      "eligible_for_validated_direct_contrast": false,
      "reason": "combines a direct child estimate with an intergenerational persistence assumption; not an identified displacement intervention effect"
    },
    "greatgrandchild": {
      "status": "source_withdrawn",
      "eligible_for_validated_direct_contrast": false,
      "reason": "source withdrawn for grandchild_earnings->greatgrandchild_earnings: The source measures earnings for three generations and education for four. It does not estimate .55 causal gap transmission to a fourth earnings generation. Retaining a projection would require an explicit uncalibrated assumption, not a source-identified default."
    }
  },
  "child_applicability": {
    "source": "oreopoulos2008",
    "source_age_at_displacement": [
      10,
      14
    ],
    "source_child_sex": "Male",
    "source_parent_sex": "Male",
    "source_geography": "Canada",
    "source_event": "father firm closure 1980-1982",
    "target_child_profiles": null,
    "incompatible_children": [],
    "unknown_children": [],
    "source_income_quartile": null,
    "income_rank_definition": null,
    "eligible_for_reviewed_transport": false,
    "status": "unknown",
    "limitations": [
      "No response curve across child ages is identified by this narrow cohort.",
      "Income groups refer to father's average pre-displacement income in 1978-1979; target rank mapping requires a transport argument.",
      "A subgroup's nonsignificant coefficient is retained with its uncertainty, not replaced with zero."
    ]
  },
  "child_valuation": null,
  "assumptions": {
    "mortality_method": "odds_survival",
    "mortality_timing": "Source-offset profile: displacement, +1, +2–3, +4–5, and +6+; displacement is follow-up year 1, so offset +6 begins in follow-up year 7. Annual baseline rates use a constant-hazard rate-to-risk conversion; odds ratios modify annual risk, and survival compounds across phases. The selected baseline age rate is held fixed over the follow-up horizon.",
    "mortality_contract": {
      "method": "odds_survival",
      "timing": "source_profile",
      "baseline_conversion": "1-exp(-annual_rate)",
      "phases": [
        {
          "phase": "displacement",
          "start_offset": 0,
          "duration_years": 1,
          "first_follow_up_year": 1
        },
        {
          "phase": "offset_1",
          "start_offset": 1,
          "duration_years": 1,
          "first_follow_up_year": 2
        },
        {
          "phase": "offsets_2_3",
          "start_offset": 2,
          "duration_years": 2,
          "first_follow_up_year": 3
        },
        {
          "phase": "offsets_4_5",
          "start_offset": 4,
          "duration_years": 2,
          "first_follow_up_year": 5
        },
        {
          "phase": "offset_6_plus",
          "start_offset": 6,
          "duration_years": null,
          "first_follow_up_year": 7
        }
      ],
      "description": "Source-offset profile: displacement, +1, +2–3, +4–5, and +6+; displacement is follow-up year 1, so offset +6 begins in follow-up year 7. Annual baseline rates use a constant-hazard rate-to-risk conversion; odds ratios modify annual risk, and survival compounds across phases. The selected baseline age rate is held fixed over the follow-up horizon."
    },
    "place_application": "initial_only",
    "place_counterfactual": "national child-dollar result is the reference"
  },
  "exposure_provenance": {
    "source": "one-worker normalized reference input",
    "method": "scale by the stored warehouse worker-equivalent exposure at read time"
  },
  "place": null,
  "place_mix": [],
  "input_content_sha256": "a771d456f24b73ab4a27e51e83ec07640a0d93114d4ffc968aae925e700d843d",
  "engine_version": "0.4.1",
  "bundle_sha256": "d84162591c94d06c8148c4834ae705ff3f9a015c29955d95d26749834cd136ed",
  "exposure_input_sha256": "8b4c78f6529f0fbefd8fc3154c9e9b976065d910b4c6e9d55690e36d5c3cdeaa",
  "input_hash": null,
  "engine_sha256": "d84162591c94d06c8148c4834ae705ff3f9a015c29955d95d26749834cd136ed",
  "adapter_sha256": "5fe4b51a9cebfb247cfcd74c734a2b6cb0eae44fce1073917b01455525c6ae52",
  "outcomes": {
    "excess_deaths": {
      "point": 17.59502172350384,
      "low": 6.890435306545163,
      "high": 30.649242555877006,
      "unit": "deaths",
      "baseline": {
        "value": 0.004944,
        "annual_probability": 0.004931798548274205,
        "unit": "deaths_per_person_year",
        "citation": "cdc_wonder D76 (Underlying Cause of Death, 1999-2020), Male 45-54 years, pooled 2015-2019: 514314 deaths / 104024440 person-years = 494.4 per 100k; pulled 2026-09-06 via scraper.cli wonder-mortality into warehouse wonder_mortality",
        "population": "US prime-age men (45-54)",
        "notes": "Pre-pandemic window: excludes 2020 (COVID-distorted; 2020 crude rate 601.5/100k). Single-year 2019 = 490.0/100k. Ages 45-54 match the Sullivan & von Wachter prime-age counterfactual population",
        "sex": "Male",
        "age": "45-54 years",
        "years": "2015-2019",
        "cause": "All causes",
        "geography": "US"
      },
      "steps": [
        {
          "link": "earnings_shock->mortality_peak",
          "phase": "displacement",
          "point": 2.6698,
          "low": 2.1144,
          "high": 3.3711,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        },
        {
          "link": "earnings_shock->mortality_offset_1",
          "phase": "offset_1",
          "point": 1.9838,
          "low": 1.3697,
          "high": 2.8732,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        },
        {
          "link": "earnings_shock->mortality_offsets_2_3",
          "phase": "offsets_2_3",
          "point": 1.7315,
          "low": 1.3238,
          "high": 2.2649,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        },
        {
          "link": "earnings_shock->mortality_offsets_4_5",
          "phase": "offsets_4_5",
          "point": 1.2712,
          "low": 0.97,
          "high": 1.6661,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        },
        {
          "link": "earnings_shock->mortality_sustained",
          "phase": "offset_6_plus",
          "point": 1.1354,
          "low": 1.0335,
          "high": 1.2474,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        }
      ],
      "components": {
        "follow_up_years": 20,
        "method": "odds_survival",
        "timing": "source_profile"
      },
      "applicability": {
        "status": "illustrative_reference_calculation",
        "eligible_for_public_headline": false,
        "target_population": null,
        "decision": null,
        "transport_assumptions": [
          "high-tenure male mass-layoff cohort, ages 45–54",
          "Pennsylvania early-1980s response transported to target place and calendar time",
          "fixed baseline age rate over follow-up; cohort aging is not modeled"
        ],
        "reason": "Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."
      },
      "interpretation": "Conditional modeled expected difference; parameter bands are support envelopes, not a confidence interval.",
      "persistence_sensitivity": {
        "available": true,
        "status": "declared_structural_sensitivity",
        "eligible_for_public_headline": false,
        "unit": "deaths",
        "variants": {
          "source_profile": {
            "point": 17.59502172350384,
            "low": 6.890435306545163,
            "high": 30.649242555877006,
            "evidence_status": "source_profile_with_transport_assumptions",
            "citations": [
              "sullivan2009"
            ]
          },
          "no_sustained_excess": {
            "point": 12.55649436702264,
            "low": 5.623109294627003,
            "high": 21.634558893559255,
            "evidence_status": "structural_assumption",
            "motivating_citations": [
              "eliasonstorrie2009"
            ],
            "assumption": "Retain source odds through offset +5; set offset +6 onward OR=1.",
            "first_changed_follow_up_year": 7,
            "fixed_late_odds_ratio": 1
          }
        },
        "source_minus_no_sustained_point": 5.038527356481199,
        "structural_point_range": {
          "low": 12.55649436702264,
          "high": 17.59502172350384,
          "interpretation": "Range of point estimates across these two assumptions; not a confidence interval or a bound on the true effect."
        },
        "shared_inputs": [
          "exposure",
          "resolved mortality baseline",
          "follow-up horizon",
          "source odds through offset +5"
        ],
        "limitations": [
          "No probabilities or model-average weights are assigned to the structures.",
          "A nonsignificant long-run estimate does not establish an exactly zero effect.",
          "The Swedish study differs in population, design, effect scale and follow-up; this hybrid does not reproduce its estimates or substitute its hazard ratios for odds ratios.",
          "The cutoff follows the source profile's offset +6 phase, not the Swedish study's windows; persistence beyond its 12-year follow-up is an assumption in either direction.",
          "Baseline aging and target-population transport remain unresolved in both structures."
        ]
      }
    },
    "child_lifetime_earnings_lost_usd": {
      "point": 292994560.99821615,
      "low": 76102483.37616007,
      "high": 494666141.9450401,
      "steps": [
        {
          "link": "displacement->child_earnings",
          "kind": "direct",
          "citation": "oreopoulos2008",
          "tier": "EXACT",
          "param_point": 0.9076,
          "param_low": 0.844,
          "param_high": 0.976,
          "value_point": 0.9076,
          "value_low": 0.844,
          "value_high": 0.976,
          "causal_role": "direct_displacement_estimate",
          "population_scope": "Canada 39k father-son pairs firm closures",
          "evidence_role": "conditional"
        }
      ],
      "unit": "usd_2024",
      "baseline": {
        "value": 2591418,
        "unit": "usd_2024",
        "citation": "SSA Annual Statistical Supplement 2025, Table 4.B6 (CWHS/Master Earnings File, 1 percent sample): male median earnings by age, 2023 (preliminary) — synthetic career ages 20-64 = 5x(24218+42561+52485+60423+64962+67506+68160+64854)+2x60666+3x56666 = 2517175 usd_2023; CPI-U annual averages 304.702->313.689 (BLS series CUUR0000SA0, pulled 2026-09-06) -> 2591418 usd_2024; warehouse ssa_median_earnings (pulled via ssa-earnings-download)",
        "population": "US male median lifetime earnings",
        "notes": "Derivation declared: the cross-sectional age profile summed over a 45-year working life (ages 20-64) is a synthetic cohort — the sum of age-band medians approximates rather than equals the median of individual lifetime sums; median-of-workers semantics excludes non-working years; 2023 medians are preliminary (SSA replaces them with final data in a later edition)"
      },
      "applicability": {
        "status": "illustrative_reference_calculation",
        "eligible_for_public_headline": false,
        "target_population": null,
        "decision": null,
        "transport_assumptions": [
          "Canadian father-son firm-closure estimate transported to the target families",
          "US male synthetic career earnings convert a relative adult earnings effect to dollars",
          "lifetime dollars are undiscounted; this is not an annual loss"
        ],
        "reason": "Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."
      },
      "interpretation": "Conditional modeled expected difference; parameter bands are support envelopes, not a confidence interval."
    }
  }
}

Parameter set v1.54 · model v1.54+engine0.4.1+d84162591c94d06c8148c4834ae705ff3f9a015c29955d95d26749834cd136ed+national-reference1

Layoffs & community

WARN notices

No WARN notices on record.

Community well-being

Food insecurity, SNAP receipt, mental distress, smoking, and overdose mortality in this area. CDC models these from survey data: treat them as local estimates, not headcounts. Bars compare each estimate against population-weighted averages of all reporting areas for the same data year.

Food insecurity

2023

8.1%: 9.0 points below All ZIPs

Adults receiving SNAP

2023

6.9%: 7.4 points below All ZIPs

Frequent mental distress

2023

15.2%: 1.6 points below All ZIPs

Adult smoking

2023

7.1%: 6.1 points below All ZIPs

Source: CDC PLACES 2025 release (BRFSS survey year 2023) and NCHS drug poisoning mortality. PLACES values are model-based small-area estimates, not survey counts. Benchmarks are population-weighted averages across all reporting areas.

Read the data

Questions about the data & methods

How many H-1B filings are in ZIP 94117, CA?

497 H-1B labor condition applications requesting 565 workers have been filed in ZIP 94117, CA, per Department of Labor disclosure records.

How many employers have H-1B filings in ZIP 94117, CA?

258 distinct employers have filed H-1B labor condition applications in ZIP 94117, CA. The employer list on this page is ranked by filings and wage impact.

What worker-equivalent exposure does the displacement model estimate for ZIP 94117, CA?

The model estimates 612 worker-equivalents of displacement exposure in ZIP 94117, CA: one per requested worker on a certified H-1B filing, raised where the offered wage sits below the occupation's BLS median, plus government-reported WARN layoffs matched to filings. This is a modeled exposure estimate, not a count of documented job losses; the formula is on the About page.

What is the median H-1B wage in ZIP 94117, CA?

$123,020 per year is the median wage offered on H-1B labor condition applications filed for work in ZIP 94117, CA. The wage-distribution chart on this page shows the spread around that median.

Who files the most H-1B filings in ZIP 94117, CA?

University of San Francisco leads with 78 filings, about 16% of all ZIP 94117, CA filings. Its dossier page carries the full filing, wage, and layoff history.

What share of ZIP 94117, CA H-1B filings does DOL deny?

DOL disclosure records show 468 certified, 11 denied, 15 withdrawn of 494 labor condition applications with reported outcomes in ZIP 94117, CA. The denial share is 2% across the reported outcomes.

When did H-1B use peak in ZIP 94117, CA?

Filings peaked in 2023 at 73 labor condition applications. The filings-by-year chart on this page shows the full trend since records began.

Which immigration law firms file the most H-1B filings in ZIP 94117, CA?

157 distinct law firms and agents have filed H-1B applications for employers in ZIP 94117, CA. The law-firm table on this page ranks them by filings and by the wage gap their filings carry.

Do ZIP 94117, CA H-1B employers hold federal contracts?

14 federal contract actions in ZIP 94117, CA name employers that also file H-1B labor condition applications. The contracts table links each award to the employer dossier. A shared employer name does not show how award funds were spent.

Where does the ZIP 94117, CA H-1B data come from?

Every figure on this page traces to a public government record: DOL OFLC disclosure files (LCA filings, wages, outcomes), BLS OES wage data (occupation medians), state WARN notices, and federal contract awards. The archive is read-only evidence; nothing is crowdsourced or anonymous.

Public source records and site analysis. We do not attest to accuracy. Read the full disclaimer.

Dataset guides and site methods

  1. [1] Dataset documentation · DOL OFLC. LCA public disclosure record layout (FY2026 Q3). Pages 1–4: application, DOL outcome and dates, requested positions, employer, representatives, worksites and pay unitsThis layout covers determinations issued October 1, 2025 through June 30, 2026. It documents employer-provided application fields and DOL decisions, not USCIS decisions, payroll verification, legal bills or worker-linked moves. Older layouts can differ.Checked 2026-10-17.
  2. [2] Dataset documentation · BLS. OEWS technical notes (May 2025). Scope of the survey; occupational coding; concepts and estimation methodologyDocuments occupation and geographic wage estimates, not an individual worker’s pay. Use the estimate year and geography stated by the site; older releases can differ.Checked 2026-10-17.
  3. [3] XH1B method or registry · XH1B. WARN Notices (mass layoffs): source registry; Calculation and Matching Methods; Reading Public Records and Derived Indicators. Source registry entry: warn; Filing units, annualization, weighting, wage comparisons, and inference limits; Reading records: units, source coverage, wage gaps, entity links, and inference limitsXH1B dataset description: One row per source_notice_id. The definition of a mass layoff and the layoff threshold vary by state. The threshold is typically 50 or more employees.; These are the site's review methods, not validated predictions of wrongdoing. Inspect underlying records and alternative explanations.
  4. [4] Dataset documentation · USAspending / U.S. Treasury. Federal Spending Guide: contract transactions. Pages 3, 5, 9 and 17: transactions, amount fields and recipient identifiersContract downloads contain prime award transactions. XH1B’s use of recipient identifiers for employer links is its own processing step.Checked 2026-10-18.
  5. [5] XH1B method or registry · XH1B. Displacement Model and Assumptions. Eligibility, requested-position weighting, scopes, WARN matching, and counting limitsModel outputs are estimates. A matched layoff notice does not prove that an H-1B worker replaced a laid-off worker.
  6. [6] XH1B method or registry · XH1B. Downstream Research and Methods. Study populations, parameter bounds, baselines, and expected outcomes; linked model card