---
title: "Returns H-1B Labor Condition Applications from the Department of Labor's quarterly disclosure files — one record per LCA with employer, job title, O*NET-SOC occupation code, offered wage vs DOL prevailing wage, worksite location, and employer risk flags (h1b_dependent, willful_violator)"
method: GET
path: "/v1/h1b-filings"
---

# Returns H-1B Labor Condition Applications from the Department of Labor's quarterly disclosure files — one record per LCA with employer, job title, O\*NET-SOC occupation code, offered wage vs DOL prevailing wage, worksite location, and employer risk flags (h1b_dependent, willful_violator)

`GET /v1/h1b-filings`

## Request

- Base URL: `https://api.keyvex.com`
- URL: `https://api.keyvex.com/v1/h1b-filings`
- Auth: API key in header `x-api-key`

Returns H-1B Labor Condition Applications from the Department of Labor's quarterly disclosure files — one record per LCA with employer, job title, O*NET-SOC occupation code, offered wage vs DOL prevailing wage, worksite location, and employer risk flags (h1b_dependent, willful_violator). Covers H-1B, H-1B1 (Chile / Singapore), and E-3 (Australia) visa classes. Use this when the user asks about: a company's hiring activity or wage levels for specific roles, tech-hiring trends by state or occupation, offered vs prevailing wage gaps, or outsourcing-firm staffing patterns.  IMPORTANT interpretation notes (stated so agents don't over-read): an LCA is filed BEFORE the H-1B petition and can cover multiple positions (total_worker_positions) — it signals hiring INTENT, not an approved visa or a hire. Certified ≫ actual visas issued. Wage fields are as filed; wage_unit varies (Year / Hour / Month / Week / Bi-Weekly) — normalize before comparing.  Matching: employer_name is a substring over legal name + DBA (e.g., 'infosys', 'amazon'). soc_code is the precise occupation filter (e.g., '15-1252.00' Software Developers). case_status values: 'Certified', 'Certified - Withdrawn', 'Denied', 'Withdrawn'.  Coverage: FY2024→present from DOL's quarterly files (fiscal_year / fiscal_quarter on each record; ~400-550K filings per quarter).  Pure-publisher posture: DOL's disclosure rows as filed — no derived 'real wage' normalization or employer scoring.

## Query parameters

- `case_number` string
- `employer_name` string
- `job_title` string
- `soc_code` string
- `visa_class` string
- `case_status` string
- `worksite_state` string
- `since` string
- `until` string
- `sort_order` 'asc' | 'desc'
- `limit` integer

## Response `200`

JSON envelope: { results: [...], count, has_more }.

## Other responses

- `400`: Invalid parameter.
- `401`: Missing or invalid API key.
- `402`: This tool requires a higher plan (upgrade_required). Retrying will not help.
- `429`: Tier rate/quota limit reached (rate_limited). Retry-After points at the reset.

---

[API](https://skmtc.dev/keyvex/apis/keyvex-api.md) · [All operations](https://skmtc.dev/keyvex/apis/keyvex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/keyvex/apis/keyvex-api/revisions/01c0210c19cd?raw)
