Seasonal Jobs & Worker Housing Scraper
Pricing
from $3.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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
| ๐ Job | Title, duties, job classification, start and end dates, date posted, workers requested, hours and schedule, experience and special requirements |
| ๐ข Employer | Company and trade name, office location |
| ๐ Contact | Employer email and phone, and how to apply (phone, email, website) |
| ๐ต Pay | Pay rate and unit, piece rate, additional wage notes |
| ๐ Worksite | Address, 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
- Click Try for free, then open the Input tab
- Pick a Worksite location and Job type (defaults: the 10 most recent agricultural jobs in Florida)
- Set Posting history (days) if you need postings older than the last 20 days
- 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
- Click Start
- 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).
| Setting | What it does | Default |
|---|---|---|
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 ago | 0 |
Posting history (days) (lookbackDays) | Filters by the date DOL accepted the posting. 2 suits a daily schedule, 90 covers every active posting; up to 365 | 20 |
Max job posts (top) | How many postings to collect, up to 10000 | 10 |
Job posts to skip (skip) | Skips the first N results, for collecting in batches: top: 500, skip: 0, then top: 500, skip: 500 | 0 |
Sort order (order) | Most recently posted first, or soonest start date first | Most recently posted |
Proxy configuration (proxyConfiguration) | Must be a U.S. proxy | U.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:
| Field | Description |
|---|---|
Date Posted | The date DOL accepted the posting. |
Number of Workers Requested / Total Workers / H-2A Workers | Workers requested as filed with DOL, and how many of those are H-2A workers. H-2A Workers is empty for H-2B postings. |
Multiple Worksites | Yes when the job order lists a worksite at another address besides the primary one. |
Housing | The primary worker housing site: address fields plus Total Units and Total Occupancy. Empty for H-2B postings. |
Additional Housing | One 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 postings | Price |
|---|---|
| 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 URLto 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.