{
  "openapi": "3.0.1",
  "info": {
    "title": "H1B Salary Scraper: Employers, Jobs & Pay Data",
    "description": "Scrape H1B visa salary data from public DOL LCA filings: employer, job title, base salary, city, dates and per-employer median, average and max pay. Fiscal years 2012-2026. Export CSV, Excel, JSON or XML. No login or API key. Netflix 2026 returns 2,157 filings.",
    "version": "0.2",
    "x-build-id": "G1gnXsIaAcam2mO4x"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~h1b-salaries-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-h1b-salaries-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/recordsdata~h1b-salaries-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-h1b-salaries-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/recordsdata~h1b-salaries-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-h1b-salaries-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": {
          "dataSource": {
            "title": "Data source",
            "enum": [
              "h1bdata",
              "dol"
            ],
            "type": "string",
            "description": "h1bdata.info = fast salary search (certified filings, 6 fields, fiscal years 2012 to 2026). DOL OFLC files = the official Labor Condition Application disclosure data straight from the US Department of Labor: 60+ fields per filing, all case statuses (certified, denied, withdrawn), prevailing wage and wage level, SOC code, visa class, FEIN, NAICS. DOL covers fiscal years 2020 to 2026 and reads whole quarterly files, so broad searches take longer.",
            "default": "h1bdata"
          },
          "employers": {
            "title": "Employers",
            "type": "array",
            "description": "Company names to search on H1B LCA filings, one search per employer (e.g. Google, Microsoft, Deloitte). Combine with job title, city and state. Leave empty only if you set another filter (job title, city, state and so on).",
            "default": [
              "Google"
            ],
            "items": {
              "type": "string"
            }
          },
          "jobTitle": {
            "title": "Job title (optional)",
            "type": "string",
            "description": "Filter H1B salary filings by job title keyword (e.g. Software Engineer, Data Scientist). Optional.",
            "default": ""
          },
          "city": {
            "title": "City (optional)",
            "type": "string",
            "description": "Filter H1B salary filings by work city (e.g. New York, Seattle). Optional.",
            "default": ""
          },
          "state": {
            "title": "Work state (optional)",
            "enum": [
              "",
              "AL",
              "AK",
              "AZ",
              "AR",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FL",
              "GA",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "OH",
              "OK",
              "OR",
              "PA",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "PR",
              "GU",
              "VI",
              "MP",
              "AS"
            ],
            "type": "string",
            "description": "Keep only filings whose worksite is in this US state or territory. Applied after the search, so it also works together with the h1bdata.info source. Leave on Any state for no filter.",
            "default": ""
          },
          "year": {
            "title": "Fiscal year",
            "enum": [
              "All Years",
              "2026",
              "2025",
              "2024",
              "2023",
              "2022",
              "2021",
              "2020",
              "2019",
              "2018",
              "2017",
              "2016",
              "2015",
              "2014",
              "2013",
              "2012"
            ],
            "type": "string",
            "description": "LCA filing fiscal year (October to September). h1bdata.info source: 2012 to 2026 (the source has very little 2024 data; 2022, 2023, 2025 and 2026 are fully populated). DOL source: 2020 to 2026 or All years; FY2026 holds the quarters the DOL has published so far.",
            "default": "2026"
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of salary filing rows to export per run (1 to 1,000,000). Free users are limited to 10. The employer summary row is separate and not counted.",
            "default": 10
          },
          "minSalary": {
            "title": "Minimum base salary (USD per year)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip filings below this annual base salary. With the DOL source, hourly, weekly, bi-weekly and monthly wages are first converted to a yearly figure (hour x 2,080, week x 52, bi-weekly x 26, month x 12). 0 = no minimum.",
            "default": 0
          },
          "maxSalary": {
            "title": "Maximum base salary (USD per year)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip filings above this annual base salary. Same yearly conversion as the minimum. 0 = no maximum.",
            "default": 0
          },
          "caseStatus": {
            "title": "Case status (optional)",
            "enum": [
              "",
              "CERTIFIED",
              "CERTIFIED-WITHDRAWN",
              "WITHDRAWN",
              "DENIED"
            ],
            "type": "string",
            "description": "Keep only filings with this outcome. h1bdata.info lists certified filings only, so denied, withdrawn and certified-withdrawn need the DOL source. Leave on Any status for no filter.",
            "default": ""
          },
          "includeEmployerSummary": {
            "title": "Employer summary row",
            "type": "boolean",
            "description": "One extra row per employer search: filing count, min/median/average/max base salary and top job titles, computed over all matched filings. Billed as its own event. With the DOL source, after maxItems is reached the actor reads at most 4 more quarterly files to feed the summary: the numbers are exact only when the scan finishes inside that bound (summaryComplete is true, summaryFilesScanned equals summaryFilesTotal). Otherwise the row is still delivered with summaryComplete false and the files counts; raise maxItems for a complete summary. Turn it off to stop right at maxItems.",
            "default": true
          },
          "quarter": {
            "title": "Fiscal quarter (DOL source only)",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Read only one fiscal quarter of the DOL files (Q1 = October to December). Leave on All quarters for the whole year. Only valid with the DOL source.",
            "default": ""
          },
          "visaClass": {
            "title": "Visa class (DOL source only)",
            "enum": [
              "",
              "H-1B",
              "H-1B1 Chile",
              "H-1B1 Singapore",
              "E-3 Australian"
            ],
            "type": "string",
            "description": "Keep only one visa class. Only valid with the DOL source.",
            "default": ""
          },
          "wageLevel": {
            "title": "Prevailing wage level (DOL source only)",
            "enum": [
              "",
              "I",
              "II",
              "III",
              "IV",
              "N/A"
            ],
            "type": "string",
            "description": "Keep only filings at this prevailing wage level (I = entry, IV = fully experienced). Only valid with the DOL source.",
            "default": ""
          },
          "socCode": {
            "title": "SOC occupation code (DOL source only)",
            "type": "string",
            "description": "Keep only filings whose SOC code starts with this value, e.g. 15-1252 (software developers), 15-1 (computer occupations) or 29 (healthcare practitioners). Only valid with the DOL source.",
            "default": ""
          },
          "h1bDependent": {
            "title": "H-1B dependent employer (DOL source only)",
            "enum": [
              "",
              "yes",
              "no"
            ],
            "type": "string",
            "description": "Keep only filings by H-1B dependent employers (yes) or by employers that are not dependent (no). Only valid with the DOL source.",
            "default": ""
          },
          "employerMatch": {
            "title": "Employer name match (DOL source only)",
            "enum": [
              "contains",
              "startsWith",
              "exact"
            ],
            "type": "string",
            "description": "How the employer names you entered are compared with the legal employer name in the DOL files (case and punctuation are ignored). Contains finds Google in GOOGLE LLC and in subsidiaries; exact needs the full legal name. Only valid with the DOL source.",
            "default": "contains"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}