# Visa Sponsor Leads Scraper - PERM, H-2A & H-2B Employers (`scrapesage/visa-sponsor-leads-scraper`) Actor

Scrape US visa-sponsor employer leads from official DOL OFLC data: PERM (green card), H-2A & H-2B. Get employer, named contact, email, phone, FEIN, NAICS, wage & lead score. Filter by state, status & date. Monitor mode returns only new filings. No login, no browser.

- **URL**: https://apify.com/scrapesage/visa-sponsor-leads-scraper.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** Lead generation, Agents, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

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

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.

No login, no cookies, no browser, no API key — fast, reliable extraction straight from the official `dol.gov` disclosure files.

### 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.

| Data | Typical scrapers | This actor |
|---|---|---|
| PERM (green card) + H-2A + H-2B in one run | ❌ one program | ✅ all three |
| Employer name, full address, phone | partial | ✅ |
| **Named point-of-contact** (first/last + job title) | ❌ | ✅ |
| **Point-of-contact direct email** | ❌ | ✅ when published |
| **Point-of-contact direct phone** | ❌ | ✅ when published |
| Employer **FEIN** + **NAICS** industry + sector | ❌ | ✅ |
| Number of employees & year business started (PERM) | ❌ | ✅ |
| Offered wage + annualized estimate | ❌ | ✅ |
| Attorney / agent + law firm + email | ❌ | ✅ |
| Job title, SOC code, worksite, employment dates | ❌ | ✅ |
| Application email / phone / website (H-2A/H-2B) | ❌ | ✅ |
| 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 filed/decided sponsors each day or week.
- **Competitive intelligence** — see which law 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](https://console.apify.com/sign-up) — 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), and click **Start**.
3. Watch results stream into the dataset table.
4. **Export** as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "programs": ["PERM", "H-2A", "H-2B"],
    "fiscalYear": "latest",
    "states": ["CA", "TX", "FL"],
    "caseStatuses": ["Certified"],
    "keyword": "landscaping",
    "naicsCodes": ["11", "72"],
    "decidedAfter": "2026-01-01",
    "withEmailOnly": true,
    "deduplicateEmployers": false,
    "maxResults": 1000,
    "monitorMode": false
}
```

- **programs** *(default all three)* — `PERM` (permanent / green-card sponsors), `H-2A` (seasonal agricultural / farms), `H-2B` (seasonal non-agricultural).
- **fiscalYear** *(default `latest`)* — `latest` uses the most recent quarter DOL has published (cumulative for the current fiscal year), or pick `2025`, `2024`, etc.
- **states** — keep only employers (or worksites) in these 2-letter state codes.
- **caseStatuses** — `Certified`, `Partial Certification`, `Denied`, `Withdrawn`, `Pending`. 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 that have a contact email / 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`.
- **startUrls** *(advanced)* — paste direct DOL OFLC `.xlsx` file URLs to use exactly those files.
- **monitorMode / monitorKey** — remember cases seen in previous runs and output only NEW ones.
- **proxyConfiguration** — Apify Proxy. **Residential US is required** (the `dol.gov` file host blocks datacenter IPs) and is the default — leave it as-is.

### Output

One record per case/filing (or per employer with `deduplicateEmployers`):

```json
{
    "program": "H-2A",
    "visaProgram": "H-2A (Seasonal Agricultural)",
    "caseNumber": "H-300-26090-741793",
    "caseStatus": "Determination Issued - Certification",
    "caseStatusCategory": "Certified",
    "receivedDate": "2026-03-31",
    "decisionDate": "2026-03-31",
    "fiscalYear": "2026_Q2",
    "employerName": "Robersonville Ag",
    "employerAddress": "22331 Nc Hwy 903",
    "employerCity": "Robersonville",
    "employerState": "NC",
    "employerPhone": "12522172923",
    "employerFein": "82-0711437",
    "naicsCode": "1119",
    "naicsSector": "Agriculture, Forestry, Fishing & Hunting",
    "pocFullName": "James Corey",
    "pocJobTitle": "Owner",
    "pocPhone": "12522172923",
    "pocEmail": "gray@coreyfarms.com",
    "attorneyName": "Manuel Fick",
    "attorneyFirm": "USAFARMLABOR",
    "attorneyEmail": "danat.usafl@gmail.com",
    "jobTitle": "Farmworkers and Laborers, Crop, Nursery, and Greenhouse",
    "socCode": "45-2092.00",
    "wageFrom": 12.78,
    "wageUnit": "Hour",
    "wageAnnualizedFrom": 26582,
    "totalWorkersCertified": 3,
    "employmentBeginDate": "2026-05-15",
    "employmentEndDate": "2026-11-30",
    "worksiteCity": "Robersonville",
    "worksiteState": "NC",
    "applyEmail": "gray@coreyfarms.com",
    "primaryEmail": "gray@coreyfarms.com",
    "primaryPhone": "12522172923",
    "leadScore": 95,
    "additionalData": { "typeOfEmployerApplication": "Individual Employer", "...": "every other published field" },
    "scrapedAt": "2026-06-20T03:30:00.000Z"
}
```

PERM records add `employerNumEmployees`, `employerYearCommenced`, and PERM-specific recruitment/job-requirement fields in `additionalData`. H-2A/H-2B records add worker counts, employment seasons, `applyEmail` / `applyPhone` / `applyWebsite`, and (H-2A) housing fields.

#### What to expect (field coverage)

This is official government filing data, so a field is populated only when the employer or their representative entered it. Verified across the current files, you can typically expect:

| Field | Coverage |
|---|---|
| Employer name, address, city/state, case status, decision date | ~100% |
| NAICS, SOC/occupation, job title, wage | ~95–100% |
| Employer phone, FEIN | ~90%+ |
| Named point-of-contact (name + title) | ~90%+ |
| **Point-of-contact email** | high on H-2A/H-2B; varies on PERM |
| Attorney / agent + email | present when the employer used representation |

A blank field means it wasn't published for that filing — never that scraping failed. With `includeRawFields` on, **nothing is dropped**.

### Automate & schedule

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

- **[Apify API](https://docs.apify.com/api/v2)** — start runs, fetch datasets, and manage schedules over REST.
- **[apify-client for JavaScript](https://docs.apify.com/api/client/js/)** and **[apify-client for Python](https://docs.apify.com/api/client/python/)** — official SDKs.
- **[Schedules](https://docs.apify.com/platform/schedules)** — run it daily/weekly with `decidedAfter` or **Monitor mode** to capture only newly certified sponsors; perfect for lead pipelines and newsletters.
- **[Webhooks](https://docs.apify.com/platform/integrations/webhooks)** — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.

```js
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](https://docs.apify.com/platform/integrations/make)** — multi-step automation scenarios.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — push new employer leads straight into your CRM.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get notified when a monitored search finds new sponsors.
- **[Google Drive / Sheets](https://docs.apify.com/platform/integrations/drive)** — auto-export every run to a spreadsheet.
- **[Airbyte](https://docs.apify.com/platform/integrations/airbyte)** — pipe results into your data warehouse.
- **[GitHub](https://docs.apify.com/platform/integrations/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](https://docs.apify.com/platform/integrations/mcp)** — 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](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/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**:

- **[H-1B Visa Scraper](https://apify.com/scrapesage/h1b-visa-scraper)** — H-1B / LCA filings, sponsor salaries, and employer leads (the H-1B companion to this actor).
- **[GSA eLibrary Scraper](https://apify.com/scrapesage/gsa-elibrary-scraper)** — federal Schedule contractors with SAM UEI, NAICS & contacts.
- **[USASpending Scraper](https://apify.com/scrapesage/usaspending-scraper)** — federal contract & grant awards by recipient.
- **[SBA Loan Leads Scraper](https://apify.com/scrapesage/sba-loan-leads-scraper)** — SBA 7(a)/504-financed small businesses (fresh financing intent).
- **[PPP Loan Data Scraper](https://apify.com/scrapesage/ppp-loan-data-scraper)** — 11M+ PPP loans with owner demographics & firmographics.
- **[US Federal Grants Scraper](https://apify.com/scrapesage/us-federal-grants-scraper)** — Grants.gov / NIH / NSF funding opportunities & recipients.
- **[US Business Formation Scraper](https://apify.com/scrapesage/us-business-formation-scraper)** — newly registered LLCs & companies (fresh B2B leads).
- **[US Contractor License Scraper](https://apify.com/scrapesage/us-contractor-license-scraper)** — licensed contractors with bond, insurance & qualifier.
- **[FMCSA Trucking Scraper](https://apify.com/scrapesage/fmcsa-trucking-scraper)** — motor carriers with contacts, fleet size & authority.
- **[NPI NPPES Scraper](https://apify.com/scrapesage/npi-nppes-scraper)** — 8M+ US healthcare providers with phone & taxonomy.
- **[TaxBuzz Scraper](https://apify.com/scrapesage/taxbuzz-scraper)** — accountant & tax-pro directory leads.

### Tips

- **Warmest leads**: filter `caseStatuses: ["Certified"]` + `withEmailOnly: true` — approved sponsors with a contact email.
- **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**: use `states`, `keyword`, `naicsCodes` and `maxResults` to keep runs focused — you're billed per lead returned.
- **Proxy**: keep the default **Residential US** proxy; the `dol.gov` file host blocks datacenter IPs.

### 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 — no API key, no login.

**Is this the same as the H-1B scraper?** No — they're complementary. The [H-1B Visa Scraper](https://apify.com/scrapesage/h1b-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](https://docs.apify.com/platform/integrations/drive).

**How do I get only new sponsors each week?** Turn on **Monitor mode** (it remembers cases across runs) and add a [Schedule](https://docs.apify.com/platform/schedules). Monitor mode works alongside Schedules — it does not replace them.

**A contact email is blank — why?** Some employers don't publish a point-of-contact email on every filing (especially PERM). The actor never invents data; blank means it wasn't in the official record. Use `withEmailOnly` to keep only records that have one.

**Is this legal?** This actor collects publicly available government disclosure data. You are responsible for using it in compliance with applicable laws (e.g. CAN-SPAM/TCPA for outreach) and DOL's terms.

### Need help?

Open an issue on the actor's **Issues** tab, or visit the [Apify help center](https://help.apify.com/). Feature requests are welcome — this actor is actively maintained.

# Actor input Schema

## `programs` (type: `array`):

Which DOL OFLC foreign-labor-certification programs to pull employer leads from. PERM = permanent (green-card) sponsors, H-2A = seasonal agricultural employers (farms), H-2B = seasonal non-agricultural employers (landscaping, hospitality, seafood, construction).

## `fiscalYear` (type: `string`):

Which fiscal-year disclosure file to use. "latest" uses the most recent quarter DOL has published (cumulative for the current fiscal year). Or pick a specific year for that year's full data (e.g. 2025, 2024).

## `states` (type: `array`):

Keep only employers located in these US states/territories (2-letter codes, e.g. CA, TX, FL, NC). Leave empty for all states.

## `caseStatuses` (type: `array`):

Keep only filings with these decision statuses. "Certified" = approved sponsors (the warmest leads). Leave empty for all statuses.

## `keyword` (type: `string`):

Keep only filings whose employer name, trade name, job title or occupation (SOC title) contains this text (case-insensitive). E.g. "dairy", "hotel", "software engineer".

## `naicsCodes` (type: `array`):

Keep only employers whose NAICS industry code starts with one of these prefixes (e.g. "11" = Agriculture, "72" = Accommodation & Food Services, "56" = Admin/Landscaping, "23" = Construction).

## `decidedAfter` (type: `string`):

Keep only filings with a decision date on or after this date (YYYY-MM-DD). Great for a fresh-leads feed.

## `withEmailOnly` (type: `boolean`):

Keep only records that have a direct employer / point-of-contact / application email.

## `withPhoneOnly` (type: `boolean`):

Keep only records that have an employer or point-of-contact phone number.

## `deduplicateEmployers` (type: `boolean`):

Output each employer only once (keeping their most recent filing), deduplicated by FEIN / employer name. Off = one record per case/filing.

## `includeRawFields` (type: `boolean`):

Attach an additionalData object with every other populated column from the source file (wage schedule, housing, recruitment, job requirements, etc.) so nothing is lost. Turn off for a slimmer record with the core lead fields only.

## `maxResults` (type: `integer`):

Maximum number of records to output across the whole run (newest first). Leave empty for all matching filings.

## `sortBy` (type: `string`):

Which date to sort by (newest first) and use for the "Max results" cut and the decided-after filter.

## `startUrls` (type: `array`):

Advanced: paste direct DOL OFLC disclosure .xlsx file URLs (from dol.gov/agencies/eta/foreign-labor/performance) to use exactly those files instead of auto-resolving. Program is auto-detected from the file name.

## `monitorMode` (type: `boolean`):

Remember cases seen in previous runs and output only NEW ones — a fresh feed of newly filed/decided visa-sponsor employers. Works alongside Apify Schedules; it does not replace them.

## `monitorKey` (type: `string`):

Namespace for monitor-mode memory. Use a distinct key per saved search (e.g. "h2a-ca") so different monitors don't share state.

## `proxyConfiguration` (type: `object`):

Apify Proxy. RESIDENTIAL US is required — the dol.gov file host blocks datacenter IPs. This is the default; leave it as-is.

## `urlsFromFile` (type: `string`):

Paste a list of URLs (one per line), OR one link to a .txt/.csv file, Google Sheet or Google Drive file containing them. Lets you import many Start URLs at once instead of typing each. Google Sheet/Drive share links are handled automatically.

## Actor input object example

```json
{
  "programs": [
    "H-2A"
  ],
  "fiscalYear": "latest",
  "states": [
    "CA",
    "TX",
    "FL"
  ],
  "keyword": "landscaping",
  "naicsCodes": [
    "11",
    "72"
  ],
  "decidedAfter": "2026-01-01",
  "withEmailOnly": false,
  "withPhoneOnly": false,
  "deduplicateEmployers": false,
  "includeRawFields": true,
  "maxResults": 1000,
  "sortBy": "decisionDate",
  "monitorMode": false,
  "monitorKey": "default",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped employer lead records in the default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "programs": [
        "H-2A"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    },
    "urlsFromFile": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/visa-sponsor-leads-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "programs": ["H-2A"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
    "urlsFromFile": "",
}

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/visa-sponsor-leads-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "programs": [
    "H-2A"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  },
  "urlsFromFile": ""
}' |
apify call scrapesage/visa-sponsor-leads-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapesage/visa-sponsor-leads-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/1aAatyKYfVHPYCVop/builds/gfOJdW2iOMoxe0Prb/openapi.json
