Skip to content
← All datasets

H-2B Wage Offers

Average hourly wage offered on the H-2B non-farm positions the Labor Department certified for Georgia worksites each fiscal year, by county and occupation.

Year coverage
2020–2026
Updated
quarterly
Version
1.0.0
Schema hash
8b5afc879434

Detail levels available

State · defaultCounty

Overview

The average hourly wage employers offered on the H-2B temporary non-agricultural positions DOL's Office of Foreign Labor Certification certified for Georgia worksites, by federal fiscal year, weighted by positions certified: statewide by occupation (SOC) and by the county of the application's first worksite, with the positions and applications behind each average. The same applications as h2b_certifications, which counts the positions. From OFLC's H-2B program disclosure data, FY2020 through the third quarter of FY2026.

Row grain: One row per year, county_fips, soc_occupation.

Key metric

avg_hourly_wage_offer — Average Hourly Wage Offer (H-2B) (currency)

The single headline value most answers want.

Variables

Every column in the fact table. The code is the exact field name the API returns.

ColumnTypeUnitRangeNull?Description
yearYearinteger——noFederal fiscal year (October 1 - September 30) of DOL's final determination on the application, NOT the calendar year. FY2020-FY2026; FY2026 is partial (decisions through June 30, 2026).
Full description
Federal fiscal year (October 1 - September 30) of DOL's final determination on the application, NOT the calendar year. FY2020-FY2026; FY2026 is partial (decisions through June 30, 2026).
county_fipsCounty FIPSstring——yes5-digit FIPS of the county of the application's first worksite. NULL on statewide rows. County placement follows h2b_certifications; the counts in the next sentences are that topic's, over all of its Georgia applications of every case status. Where the worksite street address geocodes with certainty to another county and a second sign agrees (DOL's county holds under 5% of the worksite ZIP's residents, or the address lies at least 500 m from DOL's county in a county holding some of the ZIP's residents), the address's county replaces DOL's (88 applications); it also fills 4 counties DOL left blank. Where DOL's stated county is impossible for the worksite ZIP code (none of the ZIP's 2020 population lives there), it is replaced by the ZIP's county only when certain - at least 99% of the ZIP in that county and the city confirming the ZIP (1 application); 8 applications that fail the test keep DOL's county (see h2b_certifications' limitations). Of the applications in this table, the address replaced DOL's county on 68 applications and the ZIP rule on 0 applications; 6 applications failing the ZIP test keep DOL's county. A county DOL left blank is filled from the address or, failing that, the ZIP's population-dominant county; one neither can place counts in the statewide rows only.
Full description
5-digit FIPS of the county of the application's first worksite. NULL on statewide rows. County placement follows h2b_certifications; the counts in the next sentences are that topic's, over all of its Georgia applications of every case status. Where the worksite street address geocodes with certainty to another county and a second sign agrees (DOL's county holds under 5% of the worksite ZIP's residents, or the address lies at least 500 m from DOL's county in a county holding some of the ZIP's residents), the address's county replaces DOL's (88 applications); it also fills 4 counties DOL left blank. Where DOL's stated county is impossible for the worksite ZIP code (none of the ZIP's 2020 population lives there), it is replaced by the ZIP's county only when certain - at least 99% of the ZIP in that county and the city confirming the ZIP (1 application); 8 applications that fail the test keep DOL's county (see h2b_certifications' limitations). Of the applications in this table, the address replaced DOL's county on 68 applications and the ZIP rule on 0 applications; 6 applications failing the ZIP test keep DOL's county. A county DOL left blank is filled from the address or, failing that, the ZIP's population-dominant county; one neither can place counts in the statewide rows only.

Joins counties; adds its label columns.

soc_occupationOccupationstring——noOccupation (SOC) of the job: top five, other, all.
Full description
Occupation of the job (Standard Occupational Classification): 'landscaping_groundskeeping_workers' = SOC 37-3011 Landscaping and Groundskeeping Workers; 'forest_conservation_workers' = SOC 45-4011 Forest and Conservation Workers; 'meat_poultry_fish_cutters_trimmers' = SOC 51-3022 Meat, Poultry, and Fish Cutters and Trimmers; 'maids_housekeeping_cleaners' = SOC 37-2012 Maids and Housekeeping Cleaners; 'hand_packers_packagers' = SOC 53-7064 Packers and Packagers, Hand; 'other' = every other occupation; 'all' = every occupation. The same five named occupations as h2b_certifications. Statewide rows only; county rows are 'all'.
7 allowed values
  • all — total / aggregate
  • landscaping_groundskeeping_workers
  • forest_conservation_workers
  • meat_poultry_fish_cutters_trimmers
  • maids_housekeeping_cleaners
  • hand_packers_packagers
  • other
avg_hourly_wage_offerAverage Hourly Wage Offer (H-2B)numbercurrency—yesAverage hourly wage offered on certified H-2B positions, in dollars.
Full description
Average basic hourly wage (US dollars) offered on the H-2B positions DOL certified in the fiscal year (BASIC_WAGE_RATE_FROM where PER = 'Hour'; the bottom of an offered range), weighted by positions certified and rounded to the cent. At least the prevailing wage by rule; an offer, not earnings (no overtime). Never sum or average across rows: a county or occupation average is not additive.
num_positions_with_wagePositions in the Averageintegercount—yesCertified H-2B positions paid by the hour - the average's N.
Full description
Number of H-2B positions certified in the fiscal year on applications paid by the hour - the N the average is taken over. Equals h2b_certifications' num_positions_certified minus the positions on applications paid per another unit.
num_applications_with_wageApplications in the Averageintegercount—yesCertified H-2B applications paid by the hour behind the average.
Full description
Number of distinct H-2B applications behind the average: those with at least one certified position and an hourly wage offer. A small number means the average reflects few employers.

Filters

Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.

ParameterKindAllowed valuesNotes
yearyear_exactany value—
year_minyear_rangeany value—
year_maxyear_rangeany value—
detaildetailcountiesstatesenum-enforced, default: states
county_fipsforeign_keyany valuemulti-value
soc_occupationcategorical
7 allowed values
  • all
  • landscaping_groundskeeping_workers
  • forest_conservation_workers
  • meat_poultry_fish_cutters_trimmers
  • maids_housekeeping_cleaners
  • hand_packers_packagers
  • other
multi-value, enum-enforced

Example requests

Run these against the base URL — they return live data.

All rows (first page), states level

curl "https://georgiacivicdata.org/api/v1/immigration/h2b_wage_offers"

states data for 2026

curl "https://georgiacivicdata.org/api/v1/immigration/h2b_wage_offers?year=2026"

Filtered to soc_occupation = landscaping_groundskeeping_workers for 2026

curl "https://georgiacivicdata.org/api/v1/immigration/h2b_wage_offers?year=2026&soc_occupation=landscaping_groundskeeping_workers"

One county (FIPS 13121), 2026

curl "https://georgiacivicdata.org/api/v1/immigration/h2b_wage_offers?county_fips=13121&year=2026&detail=counties"

Download 2026 as CSV

curl "https://georgiacivicdata.org/api/v1/immigration/h2b_wage_offers?year=2026&format=csv"

Notes & limitations

NULL handling

  • Zero is a real, reported value.

Limitations

Federal fiscal years (October 1 - September 30), not calendar years: `year` is the fiscal year of DOL's final determination on the application. FY2026 is PARTIAL: decisions through June 30, 2026 only (DOL's Q3 file); do not compare it with complete years. Measured on the complete years FY2020-FY2025, the average over decisions from October through the same end date ran $0.31 to $0.58 above the full-year average every year, so FY2026's partial figure likely reads high by about that much. What the wage is: the basic hourly wage the employer offered for the H-2B job (BASIC_WAGE_RATE_FROM - the bottom of the range where the application offers a range), which must be at least the prevailing wage DOL determined for the occupation and area. It is an offer, not earnings: overtime and hours actually worked are not in it. The average is weighted by positions certified - each application's offer counts once per certified position - and covers every Georgia application DOL certified at least one position on (the positions h2b_certifications counts), except those paid per another unit. Georgia averages: FY2020 $13.05; FY2021 $13.29; FY2022 $13.85; FY2023 $14.85; FY2024 $15.59; FY2025 $16.76; FY2026 $17.82. 34% of the averaged positions (FY2020-FY2026) were offered a range rather than one rate; the average uses the bottom, so it understates what those workers could earn, most where the ranges are widest (position-weighted bottom and top of the ranged offers, largest occupations: landscaping_groundskeeping_workers $15.54-$20.62; forest_conservation_workers $11.51-$25.06). It includes the certifications DOL marks '(Returned)' - returned to DOL unused, most often because the H-2B visa cap was reached, with the job often filed again later - as h2b_certifications and DOL's own totals do (FY2020 399 positions; FY2022 52 positions; FY2023 195 positions; FY2024 88 positions; FY2025 121 positions; FY2026 1,198 positions); a re-filed job's offer can therefore count twice. Excluded: applications whose wage is stated per week, two weeks, month or year - FY2020 5 applications (115 positions); FY2023 1 application (60 positions); FY2024 1 application (15 positions); FY2025 2 applications (19 positions). 4 of them state a genuine weekly wage ($342.00-$393.20 a week); the other 5 (104 positions) state an hourly figure ($8.50-$18.33) under another unit - an evident unit slip - and are excluded rather than reinterpreted. Positions averaged plus positions excluded equal h2b_certifications' Georgia positions certified in every year. An hourly offer below the $7.25 federal minimum wage would be excluded as impossible; none exists. Geography is the application's FIRST worksite, placed exactly as in h2b_certifications (DOL's county, corrected from the geocoded street address where certain, then by the certain-only ZIP rule; blank counties from the address or the ZIP's population-dominant county) - see that topic's limitations for the counts and risks. Every application has a county. `soc_occupation` uses h2b_certifications' five named occupations (the five with the most Georgia positions certified) and 'other'; county rows are totals ('all'). A county or occupation average may rest on a single employer's application - read it with num_applications_with_wage. No suppression: rows are applications, not people, and DOL publishes each offer with the employer's name. An average is NULL only where no certified hourly position exists.