{
  "openapi": "3.0.1",
  "info": {
    "title": "US Visa Sponsor Leads - PERM Green Card, H-2A & H-2B",
    "description": "US employers sponsoring green cards (PERM) and H-2A / H-2B visas, from official DOL OFLC data since FY2020: company, phone, FEIN, named contact with email, attorney, job, wage, worksite. Rows per filing or per employer with approval rate. Independent tool, not affiliated with any government agency.",
    "version": "0.1",
    "x-build-id": "x49EXjPf6E7LFI8gF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~us-visa-sponsor-leads-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-us-visa-sponsor-leads-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapesage~us-visa-sponsor-leads-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-us-visa-sponsor-leads-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapesage~us-visa-sponsor-leads-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-us-visa-sponsor-leads-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "programs": {
            "title": "Visa programs",
            "type": "array",
            "description": "Which DOL OFLC programs to pull. PERM = permanent green-card labor certifications, H-2A = temporary agricultural (farm) work visas, H-2B = temporary non-agricultural seasonal work visas. Leave empty for all three. With several programs, Max results is shared evenly between them.",
            "items": {
              "type": "string",
              "enum": [
                "PERM",
                "H-2A",
                "H-2B"
              ],
              "enumTitles": [
                "PERM (Green Card / Permanent Labor Certification)",
                "H-2A (Temporary Agricultural / Farm Workers)",
                "H-2B (Temporary Non-Agricultural Seasonal Workers)"
              ]
            }
          },
          "outputMode": {
            "title": "Output mode",
            "enum": [
              "filings",
              "employers"
            ],
            "type": "string",
            "description": "filings = one row per visa filing (richest: job, wage, worksite, contacts). employers = one aggregated sponsor profile per employer (programs used, filing and worker totals, approval rate, top jobs, wage range).",
            "default": "filings"
          },
          "fiscalYears": {
            "title": "Fiscal years",
            "type": "array",
            "description": "US federal fiscal years to pull (FY2026 = Oct 2025 - Sep 2026). Leave empty for the newest data DOL has published. Each year uses its newest (most complete) quarterly file.",
            "items": {
              "type": "string",
              "enum": [
                "2027",
                "2026",
                "2025",
                "2024",
                "2023",
                "2022",
                "2021",
                "2020"
              ],
              "enumTitles": [
                "FY2027 (Oct 2026 - Sep 2027)",
                "FY2026 (Oct 2025 - Sep 2026)",
                "FY2025 (Oct 2024 - Sep 2025)",
                "FY2024 (Oct 2023 - Sep 2024)",
                "FY2023 (Oct 2022 - Sep 2023)",
                "FY2022 (Oct 2021 - Sep 2022)",
                "FY2021 (Oct 2020 - Sep 2021)",
                "FY2020 (Oct 2019 - Sep 2020)"
              ]
            }
          },
          "quarter": {
            "title": "Quarter (optional)",
            "enum": [
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Read a specific quarterly snapshot instead of the newest one. DOL files are cumulative: Q2 holds Q1 + Q2, and Q4 is the full fiscal year."
          },
          "states": {
            "title": "States",
            "type": "array",
            "description": "US states as two-letter codes or names (e.g. \"CA\", \"Texas\"). Matches the worksite OR the employer location. Leave empty for all states.",
            "items": {
              "type": "string"
            }
          },
          "certifiedOnly": {
            "title": "Certified filings only",
            "type": "boolean",
            "description": "Keep only certified (including partially certified) filings - drop denied and withdrawn ones.",
            "default": false
          },
          "caseStatuses": {
            "title": "Case statuses",
            "type": "array",
            "description": "Keep only these outcomes. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Certified",
                "Partial Certification",
                "Denied",
                "Withdrawn"
              ],
              "enumTitles": [
                "Certified (incl. Certified - Expired)",
                "Partial Certification (H-2A / H-2B)",
                "Denied (incl. Rejected)",
                "Withdrawn"
              ]
            }
          },
          "employerNameContains": {
            "title": "Employer name contains",
            "type": "string",
            "description": "Keep only employers whose legal or trade name contains this text (case-insensitive), e.g. \"Amazon\" or \"farms\"."
          },
          "jobTitleContains": {
            "title": "Job title contains",
            "type": "string",
            "description": "Keep only filings whose job title or SOC occupation title contains this text (case-insensitive), e.g. \"software\", \"nurse\", \"landscape\", \"farmworker\"."
          },
          "socCodes": {
            "title": "SOC occupation codes",
            "type": "array",
            "description": "Standard Occupational Classification code prefixes, e.g. \"15-1252\" (software developers) or \"29-\" (healthcare practitioners). Leave empty for all occupations.",
            "items": {
              "type": "string"
            }
          },
          "naicsCodes": {
            "title": "NAICS industry codes",
            "type": "array",
            "description": "Employer NAICS industry code prefixes, e.g. \"5415\" (computer systems design) or \"72\" (accommodation and food services). Leave empty for all industries.",
            "items": {
              "type": "string"
            }
          },
          "worksiteCities": {
            "title": "Worksite cities",
            "type": "array",
            "description": "Keep only filings whose worksite city is in this list (case-insensitive), e.g. \"Austin\".",
            "items": {
              "type": "string"
            }
          },
          "minAnnualWage": {
            "title": "Minimum annual wage (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only filings whose offered wage (or published prevailing wage) annualizes to at least this amount."
          },
          "minWorkers": {
            "title": "Minimum workers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only filings for at least this many workers (certified, else requested). H-2A / H-2B filings cover many workers; a PERM filing always covers one."
          },
          "decisionDateFrom": {
            "title": "Decided on or after",
            "type": "string",
            "description": "Keep only filings DOL decided on or after this date (YYYY-MM-DD)."
          },
          "withEmployerPhoneOnly": {
            "title": "Only with employer phone",
            "type": "boolean",
            "description": "Keep only filings that carry an employer phone number.",
            "default": false
          },
          "withEmailOnly": {
            "title": "Only with an email",
            "type": "boolean",
            "description": "Keep only filings that carry an employer-contact, apply-to or attorney/agent email address.",
            "default": false
          },
          "withFeinOnly": {
            "title": "Only with FEIN",
            "type": "boolean",
            "description": "Keep only filings that carry the employer's Federal Employer Identification Number (DOL publishes it from FY2024 on).",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "leadScore",
              "wageHigh",
              "workersHigh",
              "filingsHigh",
              "recent",
              "employerName",
              "source"
            ],
            "type": "string",
            "description": "Order of results; the top N up to Max results are kept.",
            "default": "leadScore"
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of records (filings or employer profiles) to return. Each one is a billed result.",
            "default": 1000
          },
          "includeRawFields": {
            "title": "Include raw source fields",
            "type": "boolean",
            "description": "Attach every raw OFLC column of the filing under sourceFields (dates as YYYY-MM-DD). Applies to filings mode.",
            "default": true
          },
          "monitorMode": {
            "title": "Monitor mode (only new)",
            "type": "boolean",
            "description": "Deliver only filings (or employers) that are new since this monitor's earlier runs. The first run with a monitor key is the baseline: it delivers the current best matches and remembers everything it read; later runs deliver only what DOL added since. Schedule it (e.g. weekly) - DOL publishes new data quarterly.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Names the monitor's memory, so different filter setups track separately (e.g. \"ca-perm\", \"h2b-landscaping\").",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. The DOL files download directly with no proxy; an Apify proxy is used automatically as a fallback if a direct download is refused.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}