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.
- 2020–2026
- quarterly
- 1.0.0
- 8b5afc879434
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.
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.
| Column | Type | Unit | Range | Null? | Description |
|---|---|---|---|---|---|
year | integer | — | — | no | 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).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_fips | string | — | — | yes | 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.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. |
soc_occupation | string | — | — | no | Occupation (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▾
|
avg_hourly_wage_offer | number | — | yes | Average 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_wage | integer | — | yes | Certified 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_wage | integer | — | yes | Certified 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.
| Parameter | Kind | Allowed values | Notes |
|---|---|---|---|
year | year_exact | any value | — |
year_min | year_range | any value | — |
year_max | year_range | any value | — |
detail | detail | countiesstates | enum-enforced, default: states |
county_fips | foreign_key | any value | multi-value |
soc_occupation | categorical | 7 allowed values▾
| 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.