Seasonal Jobs & Worker Housing Scraper avatar

Seasonal Jobs & Worker Housing Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Seasonal Jobs & Worker Housing Scraper

Seasonal Jobs & Worker Housing Scraper

Scrape H-2A and H-2B seasonal job orders from the US Department of Labor, including housing details buried in PDF attachments. Get employer, job title, worker counts, dates, worksite addresses, housing units and occupancyโ€” Export to CSV, schedule runs, pull via API, or connect over MCP for AI agents

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Alkausari M

Alkausari M

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

2 days ago

Last modified

Share

Get U.S. seasonal job postings into a spreadsheet โ€” including the worker housing addresses, units and occupancy from each official job order. Pick a state and a job type, press Start, and get every matching posting from the U.S. Department of Labor's Seasonal Jobs website as one clean record, usually in under a minute.

Export to Excel, CSV, JSON or XML, or send results to Google Sheets, your CRM, Zapier, Make or your own code through the Apify API. Schedule it daily to catch every new posting.

Who it's for

  • ๐Ÿง‘โ€๐Ÿ’ผ Recruiters and staffing agencies โ€” track which employers are hiring seasonal workers, where and when
  • ๐Ÿ  Housing, transport and service providers โ€” know exactly where seasonal workers will live and work
  • ๐Ÿšœ Suppliers โ€” find farms and businesses about to receive seasonal labor in your area
  • ๐Ÿ“Š Researchers, journalists and advocacy groups โ€” analyze seasonal labor demand and worker housing across DOL's official H-2A and H-2B job registry

What you get

๐Ÿ“‹ JobTitle, duties, job classification, start and end dates, date posted, workers requested, hours and schedule, experience and special requirements
๐Ÿข EmployerCompany and trade name, office location
๐Ÿ“ž ContactEmployer email and phone, and how to apply (phone, email, website)
๐Ÿ’ต PayPay rate and unit, piece rate, additional wage notes
๐Ÿ“ WorksiteAddress, city, state, ZIP code and county, and whether the job has other worksites
๐Ÿ  Housing (H-2A)Primary housing address, number of units, and how many workers it holds
๐Ÿ˜๏ธ Additional housing (H-2A)Every extra housing site, each with its own address, units, occupancy and notes

Covers agricultural (H-2A) and non-agricultural (H-2B) postings; H-2B employers don't have to provide housing.

How to Run

  1. Click Try for free, then open the Input tab
  2. Pick a Worksite location and Job type (defaults: the 10 most recent agricultural jobs in Florida)
  3. Set Posting history (days) if you need postings older than the last 20 days
  4. Keep the proxy country set to United States. DOL only serves U.S. traffic, so a run through a proxy in any other country fails
  5. Click Start
  6. View results in the Output tab, or download from Storage โ†’ Dataset

Input โ€” Pick a state, a job type, and how far back to look

Set these in the Input tab, or pass them as JSON through the API (the JSON key is in brackets).

SettingWhat it doesDefault
Worksite location (location)The job's primary worksite โ€” all 50 states, DC and U.S. territories, or All locations ("all")Florida
Job type (jobtype)Agricultural (H-2A: farm work, harvesting, nursery, livestock), Non-agricultural (H-2B: landscaping, hospitality, seafood processing), or All (all)H-2A
Begin-date day offset (offset)Filters by the job's start date. 0 = starting today or later; -7 = also jobs that started up to a week ago0
Posting history (days) (lookbackDays)Filters by the date DOL accepted the posting. 2 suits a daily schedule, 90 covers every active posting; up to 36520
Max job posts (top)How many postings to collect, up to 1000010
Job posts to skip (skip)Skips the first N results, for collecting in batches: top: 500, skip: 0, then top: 500, skip: 5000
Sort order (order)Most recently posted first, or soonest start date firstMost recently posted
Proxy configuration (proxyConfiguration)Must be a U.S. proxyU.S. residential

Example input

A daily run for Florida farm jobs; settings you leave out keep their defaults:

{
"location": "Florida",
"jobtype": "H-2A",
"lookbackDays": 2,
"top": 1000
}

Output

One record per job posting, with all housing nested inside it. Employers often house workers at more than one address: the primary site is the Housing object, and every extra site is an element of the Additional Housing array. The Output tab has two views: Overview (one row per posting) and Housing sites (one row per additional housing site, each carrying its job's details). Your CSV or Excel export follows whichever view you pick.

A real H-2A posting (long texts and the second housing site shortened):

{
"Case Number": "H-300-26232-183154",
"Job Post URL": "https://seasonaljobs.dol.gov/jobs/H-300-26232-183154",
"Job Title": "Farmworkers and Laborers",
"Employer": "South Harvesting LLC (FL-1)",
"Employer Email": "m.santiago1382@gmail.com",
"Employer Phone": "+12399552801",
"Employment Type": "TEMPORARY",
"First Date": "10/19/2026",
"Last Date": "5/31/2027",
"Job Duties": "This job is SOC Code is 45-2092 Level I. Workers will perform described job...",
"Worksite Address": "10965 CR 846",
"Worksite City": "Clewiston",
"Worksite State": "FLORIDA",
"Worksite Postal Code": "33440",
"Pay Rate Min": 15,
"Pay Rate Max": 0,
"Pay Unit": "HOUR",
"Pay Currency": "USD",
"Telephone Number to Apply": "+12399552801",
"Email address to Apply": "m.santiago1382@gmail.com",
"Number of Workers Requested": "48",
"Job Classification": "45-2092.00 - Farmworkers and Laborers, Crop, Nursery, and Greenhouse",
"Experience Required": "Yes",
"Months of Experience Required": "2",
"Special Requirements": "Employer may conduct criminal background and/or drug screening at the employer's expense...",
"Number of Hours Per Week": "36",
"Work Schedule (Start/End time)": "7:09 A.M. - 2:00 P.M.",
"Company Name": "South Harvesting LLC (FL-1)",
"Location": "St. Petersburg, FL 33702",
"Address": "10965 CR 846, Clewiston, FL 33440",
"ETA Case Number": "H-300-26232-183154",
"Multiple Worksites": "No",
"Additional Wage Information": "Tying: $0.80 per unit; Estimated hourly wage rate equivalent is $16.00, or 20 units per...",
"Date Posted": "9/15/2026",
"Piece Rate Offer": "$0.80",
"Total Workers": "48",
"H-2A Workers": "48",
"Place of Employment Address": "10965 CR 846",
"Employment City": "Clewiston",
"Employment State": "Florida",
"Employment Postal Code": "33440",
"Employment County": "Hendry County",
"Housing": {
"Address/Location": "1407 Avocado Street",
"City": "Immokalee",
"State": "Florida",
"Postal Code": "34142",
"County": "Collier County",
"Total Units": "1",
"Total Occupancy": "15"
},
"Additional Housing": [
{
"Physical Location": "1316 Tangerine Street\nImmokalee, Florida 34142\nCOLLIER COUNTY",
"Information": "Employer leased housing.",
"Total Units": "2",
"Total Occupancy": "28",
"Address/Location": "1316 Tangerine Street",
"City": "Immokalee",
"State": "Florida",
"Postal Code": "34142",
"County": "COLLIER COUNTY"
}
]
}

Most fields are self-explanatory; the ones worth a note:

FieldDescription
Date PostedThe date DOL accepted the posting.
Number of Workers Requested / Total Workers / H-2A WorkersWorkers requested as filed with DOL, and how many of those are H-2A workers. H-2A Workers is empty for H-2B postings.
Multiple WorksitesYes when the job order lists a worksite at another address besides the primary one.
HousingThe primary worker housing site: address fields plus Total Units and Total Occupancy. Empty for H-2B postings.
Additional HousingOne entry per extra housing site โ€” the same address fields, plus Physical Location (the full address block) and Information (the employer's notes). Empty when the job order lists no extra sites.

Pricing

You pay per job posting, whatever the filters:

Job postingsPrice
100$0.30
1,000$3.00
10,000$30.00

Each run also has a start fee of $0.00005 per GB of memory โ€” a fraction of a cent. Set Max job posts to cap what a run can cost.

Integrations & scheduling

Results don't have to stay on Apify. Without writing any code you can:

  • Send postings to Google Sheets, Airtable or Slack โ€” pick the integration on the Actor's Integrations tab and every run appends its results automatically
  • Connect anything else via Zapier or Make โ€” thousands of apps, triggered when a run finishes
  • Fire a webhook to your own server the moment a run completes, with a link to the fresh dataset
  • Pull the data over the API in JSON, CSV, Excel or XML โ€” one URL, ideal for a script or notebook
  • Call it from an AI agent โ€” Apify's MCP server makes this Actor a tool for Claude and other MCP-compatible agents

Run it on a schedule. Save a task with Posting history 2, schedule it daily after 1 AM US Eastern time, and send the output to a sheet or CRM โ€” a no-code new-posting alert. A posting can appear in two consecutive runs, so use Case Number as the unique key. Weekdays only? Use 3 so Monday's run catches Friday's postings.

Tips

  • Run once with the defaults to see the output, then widen the filters.
  • Choose All locations to search every state at once, or save one task per state you follow.
  • No results? Increase Posting history, lower offset, or set the job type to All or the location to All locations. The run log prints the filters used.

Good to know

  • New postings reach the Actor the day after DOL accepts them, from about 1 AM US Eastern time.
  • Optional fields โ€” contact, experience, schedule, trade-name and wage-note fields are left out when the job order doesn't include them, so map a sheet or CRM from a record that has them.
  • Status and Full Time aren't included โ€” open a posting's Job Post URL to see its current status.

๐Ÿ“ฎ Support

Bugs, feature requests, or custom work โ€” more states, extra fields, scheduled pipelines โ€” open an issue on Apify, email alkausarimujahid@gmail.com, or visit ayzalsoft.com.