Visa Sponsor Leads Scraper - PERM, H-2A & H-2B Employers avatar

Visa Sponsor Leads Scraper - PERM, H-2A & H-2B Employers

Pricing

from $3.86 / 1,000 visa-sponsor employer leads

Go to Apify Store
Visa Sponsor Leads Scraper - PERM, H-2A & H-2B Employers

Visa Sponsor Leads Scraper - PERM, H-2A & H-2B Employers

Scrape US visa-sponsor employer leads from official DOL OFLC data: PERM (green card), H-2A & H-2B. Employer, named contact, email, phone, FEIN, NAICS, wage & lead score; state, status & date filters; monitor mode. Independent tool, not affiliated with any government agency.

Pricing

from $3.86 / 1,000 visa-sponsor employer leads

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

4 days ago

Last modified

Share

Visa Sponsor Leads Scraper - PERM, H-2A & H-2B Employers (Email, Phone & Named Contact)

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Department of Labor or any government body. All trademarks mentioned are the property of their respective owners. The U.S. Department of Labor PERM, H-2A and H-2B disclosure data is referenced only to describe the public data source this Actor collects from.

Turn the U.S. Department of Labor's official foreign labor certification disclosure data into a clean, contact-rich B2B lead list of every employer that sponsors foreign workers: PERM (green card) sponsors, H-2A agricultural employers (farms), and H-2B seasonal employers (landscaping, hospitality, seafood, construction).

Every record is a ready-to-contact lead: employer name & address, a named point-of-contact with a direct email and phone, employer phone, FEIN, NAICS industry, offered wage, worksite, the attorney/agent on the case, and a 0-100 lead score, plus every other published field.

The data is cleaned as it is read: phone numbers come in one international format (+14155550123, other countries +<digits>, extension split out; a number with a digit missing is left blank rather than passed on), ZIP codes keep their leading zeros, FEINs are formatted 12-3456789, US states are always two-letter codes, emails are lower-cased and validated, two contacts on one filing are paired correctly, and the stray ¿ marks DOL's export leaves where it dropped a character ("¿Landscape Laborer", "4640¿W¿Grand¿River¿Ave") are cleaned. H-2A and H-2B records link to the official job posting on SeasonalJobs.dol.gov.

No login, no cookies, no browser, no API key: the official dol.gov disclosure files are read directly, so runs are quick and cheap.

Why this scraper?

These employers are funded, growing, in-market businesses with a paperwork-verified contact: they just spent thousands of dollars and months of legal work to hire. Generic "paste a URL" lead scrapers can't touch this data, and the few that do return one program only, no contact fields, and no monitoring. This actor ships the richest dataset in the category, across three programs, in one run.

DataTypical scrapersThis actor
PERM (green card) + H-2A + H-2B in one run❌ one program✅ all three
Employer name, full address, phonepartial✅
Named point-of-contact (first/last + job title)❌✅
Point-of-contact direct email❌✅ when published
Point-of-contact direct phone❌✅
Employer FEIN + NAICS industry + sector + company email domain❌✅
Number of employees & year business started (PERM)❌✅
Offered wage + annualized estimate❌✅
Attorney / agent + law firm + email, phone & address❌✅
Job title, SOC code, worksite address, employment dates❌✅
Application email / phone / website + official job-posting link (H-2A/H-2B)❌✅
Earlier fiscal years (2020-2025) with full contact details❌✅
Lead score (0-100)❌✅
Every other published field (additionalData)❌✅
Monitor mode (only NEW filings)❌✅

Who buys this data?

  • Immigration & employment law firms - prospect employers actively filing PERM/H-2 cases (and see which attorney already has them).
  • Staffing, recruiting & global-mobility services - reach employers with a proven need for workers.
  • Agricultural suppliers & ag-tech (H-2A) - every H-2A employer is a working farm with a named owner, crops/job, worker count and a season.
  • Hospitality, landscaping, seafood & construction vendors (H-2B) - seasonal employers buying labor, housing, equipment and insurance.
  • HR / payroll / compliance SaaS, insurance, relocation & housing providers - sell to companies that just committed to hiring.
  • Researchers, journalists & analysts - wage levels, sponsor trends, and labor-market intelligence by state, industry and occupation.

Use cases

  • Lead generation - export employers with a named contact, direct email and phone; filter to Certified cases for the warmest, approved sponsors.
  • Territory & vertical targeting - filter by state, NAICS industry, or keyword (e.g. dairy, hotel, software engineer) to build a focused list.
  • Fresh-leads feed - combine decidedAfter + Monitor mode + a Schedule to capture only newly decided sponsors each day or week.
  • Competitive intelligence for law firms - the Attorneys & agents view shows which firms and agents represent which employers.
  • Market & wage research - analyze offered wages, occupations and sponsor volume across programs, states and industries.

How to use

  1. Sign up for Apify - the free plan is enough to try this actor.
  2. Open the Visa Sponsor Leads Scraper, choose your programs (PERM, H-2A, H-2B), add any filters (state, status, keyword, NAICS, date), set Max results, and click Start.
  3. The results land in the dataset newest decisions first. Switch between the Leads, Employers, Seasonal employers and Attorneys & agents views.
  4. Export as JSON, CSV, Excel, XML, or RSS, or pull results programmatically via the Apify API.

Input

{
"programs": ["PERM", "H-2A", "H-2B"],
"fiscalYear": "latest",
"states": ["CA", "Texas", "FL"],
"caseStatuses": ["Certified"],
"keyword": "landscaping",
"naicsCodes": ["11", "72"],
"decidedAfter": "2026-01-01",
"withEmailOnly": true,
"deduplicateEmployers": false,
"maxResults": 1000,
"monitorMode": false
}
  • programs - PERM (permanent / green-card sponsors), H-2A (seasonal agricultural / farms), H-2B (seasonal non-agricultural). Leave empty for all three.
  • fiscalYear (default latest) - latest uses the most recent quarter DOL has published (cumulative for the current fiscal year), or pick any year from 2020 to 2025 for that year's full data. FY2024 PERM was published as two files (old and new ETA-9089 form) and both are read.
  • states - keep only filings whose employer or worksite is in these states. Two-letter codes or full names both work (CA, Texas, new york).
  • caseStatuses - Certified (includes certifications that have since expired), Partial Certification, Denied (includes rejected H-2B applications), Withdrawn. Leave empty for all.
  • keyword - keep only filings whose employer name, trade name, job title or occupation contains this text.
  • naicsCodes - keep only employers whose NAICS code starts with one of these prefixes (e.g. 11 = Agriculture, 72 = Accommodation & Food Services).
  • decidedAfter - keep only filings decided on/after this date (YYYY-MM-DD).
  • withEmailOnly / withPhoneOnly - keep only records with the employer's own contact or application email (an attorney's email alone does not count) / with an employer, contact or application phone.
  • deduplicateEmployers (default false) - output each employer once (most recent filing), deduplicated by FEIN / name.
  • includeRawFields (default true) - attach an additionalData object with every other published column so nothing is lost.
  • maxResults / sortBy - cap the output (newest first), by decisionDate or receivedDate. Leave Max results empty for every matching filing: a full program-year is 15,000-115,000 filings, each one billed, delivered program by program (each newest first).
  • startUrls / urlsFromFile (advanced) - read exactly these DOL OFLC .xlsx files instead of auto-resolving (paste them, link a text file, or upload one).
  • monitorMode / monitorKey - output only NEW filings. The first run with a key is the baseline (the newest matches; everything read is remembered); every later run delivers only filings DOL adds after it. If Max results cuts the new filings short, the next run delivers the rest, so nothing is skipped and nothing is billed twice.
  • proxyConfiguration - not needed. The files are downloaded straight from dol.gov; an Apify proxy is used automatically only if a download is refused.

A run started with no input at all (for example an API call with {}) returns a small sample: the 25 newest H-2A filings.

Output

One record per case/filing (or per employer with deduplicateEmployers). An H-2A example (values shortened):

{
"program": "H-2A",
"visaProgram": "H-2A (Seasonal Agricultural)",
"caseNumber": "H-300-26176-050845",
"caseStatus": "Determination Issued - Certification",
"caseStatusCategory": "Certified",
"receivedDate": "2026-06-29",
"decisionDate": "2026-06-30",
"fiscalYear": "2026_Q3",
"employerName": "Sample Valley Farms LLC",
"employerAddress": "1200 County Road 5",
"employerCity": "Oakfield",
"employerState": "WI",
"employerPostalCode": "53065",
"employerPhone": "+19205550142",
"employerFein": "46-1234567",
"employerDomain": "samplevalleyfarms.com",
"naicsCode": "115113",
"naicsSector": "Agriculture, Forestry, Fishing & Hunting",
"pocFullName": "Jane Doe",
"pocJobTitle": "Owner",
"pocPhone": "+19205550142",
"pocEmail": "jane@samplevalleyfarms.com",
"pocEmailShared": false,
"pocAddress": "1200 County Road 5",
"representationType": "Agent",
"attorneyName": "John Smith",
"attorneyFirm": "Example Farm Labor Services LLC",
"attorneyEmail": "john@examplefarmlabor.com",
"attorneyPhone": "+18655550188",
"jobTitle": "Agricultural Equipment Operator",
"socCode": "45-2091.00",
"wageFrom": 18.22,
"wageUnit": "Hour",
"wageAnnualizedFrom": 37898,
"totalWorkersCertified": 1,
"employmentBeginDate": "2026-09-01",
"employmentEndDate": "2026-12-15",
"worksiteAddress": "1200 County Road 5",
"worksiteCity": "Oakfield",
"worksiteState": "WI",
"worksiteCounty": "FOND DU LAC COUNTY",
"applyEmail": "jane@samplevalleyfarms.com",
"jobPostingUrl": "https://seasonaljobs.dol.gov/jobs/H-300-26176-050845",
"primaryEmail": "jane@samplevalleyfarms.com",
"primaryPhone": "+19205550142",
"leadScore": 88,
"additionalData": { "jobOrderNumber": "JO-A-300-26176-050845", "hourlyScheduleBegin": "8:00 AM", "...": "every other published field" },
"scrapedAt": "2026-10-07T22:14:05.952Z"
}

PERM records add employerNumEmployees, employerYearCommenced and PERM recruitment / job-requirement fields in additionalData. H-2A/H-2B records add worker counts, employment seasons (employmentBeginDate / employmentEndDate: the certified period, or the requested one on denied and withdrawn cases, which DOL certifies no dates for; requestedBeginDate / requestedEndDate always as requested), applyEmail / applyPhone / applyWebsite, the official jobPostingUrl, and (H-2A) housing fields. Every record also carries employerPhoneExt, pocPhoneExt, pocCity / pocState / pocPostalCode, attorneyFirmFein, attorneyAddress / attorneyCity / attorneyState / attorneyPostalCode, wageTo / wageAnnualizedTo, worksitePostalCode, preparerEmail / preparerFirm and the sourceFile it came from, whenever DOL published them.

The dataset has four views: Leads (contact first), Employers (firmographics), Seasonal employers (H-2A / H-2B workers, wages, season dates and the job posting) and Attorneys & agents (who represents whom).

Good to know

  • This is official filing data, so a field is filled only when the employer or their representative entered it. Every filing carries the employer's name, address, phone, case status and decision date; a named point-of-contact is on nearly every filing, and their email on most.
  • employerDomain is the company's own web domain, read from its contact's mailbox (or the application address): a mail host becomes the company domain (ny.email.gs.com -> gs.com), a state agency keeps its own (cdcr.ca.gov, not ca.gov), and in-house filers keep theirs even when their own counsel writes from it. It stays blank rather than wrong when the only mailbox is a free one, an internet provider's, a hosted helpdesk, a state job bank, or a law firm's or visa agent's (a law firm sponsoring its own staff keeps its own domain).
  • Some H-2A / H-2B employers list their filing agent's or internet provider's mailbox as the point of contact. When many different employers share one contact mailbox, the row keeps it but sets pocEmailShared: true (and scores it lower), and that agent's domain is never reported as an employer's employerDomain. Corporate families that file under several company names (CVS Health, Johnson & Johnson, hospital systems) keep their shared domain.
  • Attorney / agent details appear only when the employer used representation.
  • DOL publishes employer FEINs only from FY2024 on, so FEIN is empty for FY2020-FY2023 filings; the FY2020 PERM file also has no contact job title or year-founded column, and the H-2A FY2020 file has no attorney email.
  • The FY2020-FY2023 PERM files and the FY2024 old-form PERM file use the older ETA-9089 layout with a single contact-name field; first and last names are split from it, and the contact's job title comes from the employer declaration when the same person signed it.
  • latest is cumulative for the current fiscal year (which starts on 1 October) and moves to each new quarter as soon as DOL publishes it.
  • The wageAnnualizedFrom estimate multiplies the offered wage by its pay period (2,080 hours, 52 weeks or 12 months a year). A few filings leave the pay period blank or publish one that cannot be right for the amount (an hourly rate filed "per month", a yearly salary filed "per hour"); for those the estimate uses the pay period the amount fits and wageUnitInferred names it, while wageFrom and wageUnit always stay exactly as published. When no pay period fits (a typo such as $1 an hour), the estimate is left empty. Piece-rate wages are not annualized.
  • A blank field means it was not published for that filing, never that scraping failed. With includeRawFields on, nothing is dropped.

How much does it cost to scrape the U.S. Department of Labor PERM, H-2A and H-2B disclosure data?

This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:

  • Visa-sponsor employer lead - One US visa-sponsor / foreign-labor employer lead from official DOL OFLC disclosure data (PERM, H-2A or H-2B): employer name & full address, named point-of-contact with direct email & phone, employer phone, FEIN, NAICS industry, case status, job title & SOC, offered wage, worksite, attorney/agent, and a 0–100 lead score.

The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API - start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python - official SDKs.
  • Schedules - run it daily/weekly with decidedAfter or Monitor mode to capture only newly certified sponsors; perfect for lead pipelines and newsletters.
  • Webhooks - trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/visa-sponsor-leads-scraper').call({
programs: ['H-2A', 'H-2B'],
states: ['CA', 'FL'],
caseStatuses: ['Certified'],
withEmailOnly: true,
maxResults: 1000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} visa-sponsor employer leads`);

Integrate with any app

Connect the dataset to 5,000+ apps - no code required:

  • Make - multi-step automation scenarios.
  • Zapier - push new employer leads straight into your CRM.
  • Slack - get notified when a monitored search finds new sponsors.
  • Google Drive / Sheets - auto-export every run to a spreadsheet.
  • Airbyte - pipe results into your data warehouse.
  • GitHub - trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server - ask your assistant to "find certified H-2A farm employers in California with an email" and let it run the scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready: AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402: an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server, with no account and no API key.
  • Skyfire: agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete US B2B / government-data lead-gen stack:

Tips

  • Warmest leads: filter caseStatuses: ["Certified"] + withEmailOnly: true for approved sponsors with a contact email.
  • One row per company: turn on deduplicateEmployers to keep only each employer's most recent filing.
  • By industry: H-2A is almost all farms (NAICS 11); H-2B skews to landscaping (56), hospitality/food (72) and construction (23). Use naicsCodes or keyword to target.
  • Fresh feed: set decidedAfter to your last run date, or turn on Monitor mode with a unique monitorKey per saved search, and schedule it.
  • Cost control: set Max results, and use states, keyword and naicsCodes to keep runs focused. You are billed per lead returned, never for filings that were read but filtered out.
  • Law-firm research: open the Attorneys & agents view to see which firms and agents file for which employers.

FAQ

Where does the data come from? The U.S. Department of Labor, Office of Foreign Labor Certification (OFLC) publishes quarterly public disclosure data for every PERM, H-2A and H-2B application. This actor reads those official .xlsx files directly, with no API key and no login.

Is this the same as the H-1B scraper? No, they're complementary. The H-1B Visa Scraper covers H-1B/LCA filings; this actor covers PERM (green card), H-2A and H-2B, which have completely different employers (farms, seasonal businesses, green-card sponsors).

How current is it? DOL releases data quarterly; fiscalYear: "latest" always uses the newest published file, which is cumulative for the current fiscal year.

Can I export to Google Sheets, CSV, or Excel? Yes: one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I get only new sponsors each week? Turn on Monitor mode (the first run is the baseline; every later run delivers only filings DOL adds after it) and add a Schedule. Monitor mode works alongside Schedules; it does not replace them.

A contact email is blank - why? Not every filing lists a point-of-contact email. The actor never invents data; blank means it wasn't in the official record. Use withEmailOnly to keep only records that have one.

Can I use the data for outreach? It is public government disclosure data, but it names real people, so see Data & lawful use below and follow the outreach rules that apply to you (for example CAN-SPAM and the TCPA in the US).

Data & lawful use

The source is an official public register, published so that anyone can consult it. Records can name individuals (employer points of contact, attorneys, agents and preparers named on the filings), so the output may contain personal data even though it is public. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis, honour access and deletion requests, and respect the register's own reuse conditions, which can restrict marketing or commercial use.

Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Department of Labor or any government body. All trademarks mentioned are the property of their respective owners.

The U.S. Department of Labor PERM, H-2A and H-2B disclosure data is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of the U.S. Department of Labor and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this actor is actively maintained.