County intelligence

Bucks County

Pennsylvania (PA) · FIPS 42017 · 1,647 employers · 9,941 filings with wage data

Employers in Bucks, PA logged 11,304 certified H-1B applications requesting 16,928 workers across 1,606 companies. The median offered wage is $65,000/yr. The largest filers are EPAM Systems Inc., Virgo Inc. and Wipro Limited. The displacement model assigns 21.8K worker-equivalent exposures to these filings. Separately, 933 layoffs appear in matched WARN notices.

Source import recorded Sep 2, 2026

What the local records contain / DOL & WARN

What XH1B calculates / Local wage comparisons

How to read the wage comparison

County averages mix occupations and years. Offered wages and the latest available national BLS occupation medians are averaged separately over available records, so their populations can differ. This is a screening comparison, not a comparison of matched filings or a finding about an individual wage.

Definitions & methodology ↗

Filings & wages

Annual filing records and a county-level wage comparison.

Filing history

Annual DOL filing records. Workers requested are not confirmed hires.

02004006008001K1K1K2Kpeak 1K (2015)2007: 103 filings (110 workers)2008: 1,066 filings (1,767 workers)2009: 414 filings (496 workers)2010: 235 filings (650 workers)2011: 987 filings (1,523 workers)2012: 1,081 filings (1,561 workers)2013: 890 filings (1,351 workers)2014: 242 filings (270 workers)2015: 1,329 filings (1,642 workers)2016: 1,073 filings (1,424 workers)2017: 945 filings (1,503 workers)2018: 619 filings (1,756 workers)2019: 472 filings (689 workers)2020: 392 filings (737 workers)2021: 464 filings (533 workers)2022: 453 filings (480 workers)2023: 345 filings (356 workers)2024: 332 filings (348 workers)2025: 315 filings (342 workers)2026: 65 filings (65 workers)200720082009201020112012201320142015201620172018201920202021202220232024202520262007: 110 workers2008: 1,767 workers2009: 496 workers2010: 650 workers2011: 1,523 workers2012: 1,561 workers2013: 1,351 workers2014: 270 workers2015: 1,642 workers2016: 1,424 workers2017: 1,503 workers2018: 1,756 workers2019: 689 workers2020: 737 workers2021: 533 workers2022: 480 workers2023: 356 workers2024: 348 workers2025: 342 workers2026: 65 workersfilings
filingsworkers (scaled)
Inspect filing outcomes All available years and DOL statuses

Certified, denied, and withdrawn counts describe application decisions. They do not measure visas issued or workers hired.

Offered-wage distribution

Percentiles across 10,122 positive year-unit LCA offers, all outcomes and visa classes.

$47,056$64,979$82,903$100,827$118,750$65,100annual wage

Application outcomes all available years

  • Certified11,192 · 95.6%
  • Denied196 · 1.7%
  • Withdrawn322 · 2.7%
How this distribution is built Year-unit offers, all outcomes and visa classes

The distribution covers positive offers with wage unit Year, across all outcomes and visa classes. It differs from the certified H-1B summary cohort. It does not adjust for occupation, employer, or worksite mix.

Downstream impact

Conditional effects of this county's modeled displacement exposure.

Americans displaced (modeled estimate)

21,835

The math
Base (1 per certified worker)
+16,928
Wage-gap multiplier

7397 of 11304 filings below BLS median

+3,974
WARN layoffs (government-reported)

8 notices filed

+933
Total21,835

Σ 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. WARN layoff counts are government-reported.

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

Modeled consequence estimates

Conditional impacts associated with modeled displacement

Explore Bucks County’s scenarioEarnings · children · health · adjust the worker count

These are conditional population estimates scaled from Bucks County'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

627.94

Range: 245.91 to 1,093.82

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

Source-profile mortality point (deaths)
627.937441482
No sustained excess from year 7 (deaths)
448.120671331

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

$10.5B

Range: $2.7B to $17.7B

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 627.937441482 (range 245.908324814 to 1,093.8211533); child lifetime earnings lost $10,456,494,904.79 (range $2,715,972,702.54 to $17,653,822,566.53);

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": 21834.673,
  "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": 627.9374414824787,
      "low": 245.90832481398522,
      "high": 1093.8211532983967,
      "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": 627.9374414824787,
            "low": 245.90832481398522,
            "high": 1093.8211532983967,
            "evidence_status": "source_profile_with_transport_assumptions",
            "citations": [
              "sullivan2009"
            ]
          },
          "no_sustained_excess": {
            "point": 448.1206713308456,
            "low": 200.67953987960618,
            "high": 772.1018918138785,
            "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": 179.8167701516331,
        "structural_point_range": {
          "low": 448.1206713308456,
          "high": 627.9374414824787,
          "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": 10456494904.79083,
      "low": 2715972702.543074,
      "high": 17653822566.52997,
      "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

Local connections

County context, public notices, and linked public records.

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.

Drug overdose deaths

2021

46.4: 14.3 above U.S.

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.

Medical workforce context

AHRF supply DOL filingsRecordAHRF county supply data and H-1B medical LCAs. Comparisons use the median US county.
MDs per 100k residents252↑ 2.4× median
Active MDs (non-federal)1,627
Nurse practitioners per 100k117↑ 22% above
County population645,984
Primary care HPSA designationsnot a designated shortage area0
H-1B medical workers certifiedhealthcare SOCs (29-* + 31-2*)20352% of BLS
Full medical breakdown

Bucks County in context

DOL filings CountyRecordH-1B intensity by county across Pennsylvania. This county is highlighted. Click any county to drill in.
Loading map…
Read the county map County-level H-1B intensity

The map gives geographic context. A county average does not classify every filing, employer, or worker within it.

Employers & occupations

The sponsors and job categories recorded in this county.

Employers (1,647)

DOL filings EmployerRecordRanked by applications in this county.
EmployerFilings
1

Virgo Inc. ⚠ Dep

964
2

Sapvix Inc. ⚠ Dep

756
3

Isync SOLUTIONS, Inc. ⚠ Dep

714
4

ERP and ERP Corp. ⚠ Dep

705
5

Noblesoft Solutions, Inc. ⚠ Dep

386
6

EPAM Systems Inc.

370
7

KVK-Tech, Inc. ⚠ Dep

331
8

Cerebra Consulting Inc. ⚠ Dep

250

Job categories (149)

  • Chemists$23.3M · 44.7%
  • Software Developers$8.1M · 15.7%
  • Management Analysts$3.9M · 7.6%
  • Electrical Engineers$3.8M · 7.3%
  • Physical Therapists$3.8M · 7.2%
  • Mechanical Engineers$3.3M · 6.3%
  • Statisticians$2.9M · 5.7%
  • Engineers, All Other$2.9M · 5.6%
DOL wage offers BLS occupationsSignalOccupation averages need not describe each filing.
Job categoryH-1B vs BLS
19-2031 ChemistsH-1B $74.9K vs BLS $91.2K-18%

813 workers · 537 filings · $23.3M wage theft

15-1252 Software DevelopersH-1B $114.5K vs BLS $136K-16%

320 workers · 304 filings · $8.1M wage theft

13-1111 Management AnalystsH-1B $83.4K vs BLS $101.9K-18%

131 workers · 95 filings · $3.9M wage theft

17-2071 Electrical EngineersH-1B $87.2K vs BLS $120.6K-28%

102 workers · 86 filings · $3.8M wage theft

29-1123 Physical TherapistsH-1B $62.4K vs BLS $102.8K-39%

90 workers · 34 filings · $3.8M wage theft

17-2141 Mechanical EngineersH-1B $80.2K vs BLS $104.1K-23%

118 workers · 106 filings · $3.3M wage theft

15-2041 StatisticiansH-1B $90K vs BLS $105.7K-15%

102 workers · 82 filings · $2.9M wage theft

17-2199 Engineers, All OtherH-1B $78.1K vs BLS $122.9K-36%

63 workers · 60 filings · $2.9M wage theft

Labor condition applications (11,961)

DOL filings BLS occupationsRecordAll recorded outcomes and visa classes. Use the wage badge to inspect an offer against available benchmarks.
Title · Worksite

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

What the filing rows show One application per row

Each row links to the disclosure record. A wage comparison is a screening calculation, not a finding of a wage violation.

WARN notices (10)Public layoff notices: open to inspect
WARN EmployerReviewOpen a notice to inspect its stated effective date and worker count. Coverage varies by state; some states file no public WARN data.

July

2026-09-16

147
121

September

2024-10-29

121

Silgan Plastics

2024-04-26

--

Brook & Whittle

2023-05-25

72

Records to inspect

Open the linked public records behind this county's filings.

Immigration law firms (497)

DOL filings Law firmRecordNames are shown as recorded.

Federal contracts (18,004)

Federal awards EmployerRecordAmounts are individual award actions, not total contract values.
INTERNATIONAL SOS GOVERNMENT SERVICES, INC.
Department of Defense · Mar 25, 2026
$55.7M
INTERNATIONAL SOS GOVERNMENT SERVICES, INC.
Department of Defense · Dec 2, 2025
$30M
ENVIRONMENTAL TECTONICS CORP
Department of Defense · Apr 27, 2026
$25.5M
INTERNATIONAL SOS GOVERNMENT SERVICES, INC.
Department of Defense · Nov 17, 2025
$14.5M
INTERNATIONAL SOS GOVERNMENT SERVICES, INC.
Department of Defense · Feb 4, 2026
$14.4M
INTERNATIONAL SOS GOVERNMENT SERVICES, INC.
Department of Defense · Mar 3, 2026
$14M
INTERNATIONAL SOS GOVERNMENT SERVICES, INC.
Department of Defense · Oct 6, 2025
$14M
RELIABILITY & PERFORMANCE TECHNOLOGIES, LLC
Department of Defense · Mar 3, 2026
$11.5M

Evidence & sources

Scope, methods, and source coverage for this county record.

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
  7. [7] Dataset documentation · HRSA. Area Health Resources Files: 2024–2025 technical documentation. County User Guide: physicians, Table 10 NPI professions, population estimates and missing values; Technical Documentation: variable years and sourcesClinician categories and variable years differ. County APRN counts use NPI taxonomy; physician active and federal status matter. Release year is not the year of every measure.Checked 2026-10-18.
Questions about the data & methods

How many H-1B filings are in Bucks County, PA?

11,304 H-1B labor condition applications requesting 16,928 workers have been filed in Bucks County, PA, per Department of Labor disclosure records.

How many employers have H-1B filings in Bucks County, PA?

1,606 distinct employers have filed H-1B labor condition applications in Bucks County, PA. The employer list on this page is ranked by filings and wage impact.

What worker-equivalent exposure does the displacement model estimate for Bucks County, PA?

The model estimates 21,835 worker-equivalents of displacement exposure in Bucks County, PA: 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 Bucks County, PA?

$65,000 per year is the median wage offered on H-1B labor condition applications filed for work in Bucks County, PA. The wage-distribution chart on this page shows the spread around that median.

Who files the most H-1B filings in Bucks County, PA?

VIRGO INC leads with 964 filings, about 9% of all Bucks County, PA filings. Its dossier page carries the full filing, wage, and layoff history.

What share of Bucks County, PA H-1B filings does DOL deny?

DOL disclosure records show 11,192 certified, 196 denied, 322 withdrawn of 11,710 labor condition applications with reported outcomes in Bucks County, PA. The denial share is 2% across the reported outcomes.

How many WARN layoff notices has Bucks County, PA recorded?

10 Worker Adjustment and Retraining Notification (WARN) notices. Where a layoff employer then filed H-1B labor condition applications in the same window, the pair is recorded as a displacement event with an evidence score.

When did H-1B use peak in Bucks County, PA?

Filings peaked in 2015 at 1,329 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 Bucks County, PA?

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

Do Bucks County, PA H-1B employers hold federal contracts?

18,004 federal contract actions in Bucks County, PA 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 Bucks County, PA 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.