> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DOL H-1B y PERM: certificaciones laborales

> Todas las Labor Condition Applications H-1B y todas las certificaciones laborales PERM que DOL decidió desde el año fiscal 2008, las solicitudes que presenta un empleador para contratar a un trabajador extranjero y para patrocinarlo para la residencia: el empleador y su FEIN, el cargo, el salario, los lugares de trabajo, el abogado y la decisión.

Antes de que un empleador de EE. UU. pueda contratar a un trabajador con visa
H-1B (o H-1B1 o E-3), presenta una Labor Condition Application ante el
Departamento de Trabajo: el cargo y su código de ocupación, el salario que
pagará frente al salario prevaleciente del puesto, cada lugar donde trabajará
la persona, y el abogado que la presentó. La Office of Foreign Labor
Certification de DOL la certifica o la niega, y publica cada decisión.

Es el registro público más directo de qué cargos contrata una empresa en el
exterior y cuánto paga. Todas las decisiones desde el año fiscal 2008, con cada
lugar de trabajo, organizadas y listas para consultar, y actualizadas a medida
que DOL publica cada trimestre. El FEIN del empleador, publicado desde el año
fiscal 2024, une una solicitud exactamente con los filings de la misma empresa
ante la SEC.

Para patrocinar a un trabajador para la residencia permanente, el empleador
presenta después una certificación laboral PERM: el cargo y sus requisitos, el
salario ofrecido y el prevaleciente, cómo reclutó primero a trabajadores de
EE. UU. y, en el formulario usado hasta 2023, la ciudadanía, la visa actual y
la educación del trabajador. Todas las decisiones PERM desde el año fiscal
2020 también están aquí, en los dos formularios.

<Note>
  La fuente entera, organizada y lista para consultar: cada endpoint de esta página responde en milisegundos. Cada respuesta incluye `as_of`: qué tan actualizados están los datos. [Cómo funcionan los datasets](/es/datasets).
</Note>

## Buscar decisiones LCA

`POST /us/dol-oflc/lca-search/v1` <a className="dataset-pill" href="/es/datasets">Dataset</a>

Busca las decisiones por empleador, cargo, FEIN, clase de visa, estado,
ocupación, estado del lugar de trabajo, salario y fecha. Las más recientes primero.

| Campo            | Tipo    | Notas                                                                                                                                         |
| ---------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`          | string  | Opcional. Palabras a buscar en el nombre del empleador, su nombre comercial y el cargo. Todas las palabras deben coincidir; sin lematización. |
| `employer_fein`  | string  | Opcional. El FEIN del empleador, nueve dígitos, con o sin guion (publicado desde el año fiscal 2024).                                         |
| `case_number`    | string  | Opcional. El número de caso de DOL, p. ej. `I-200-25267-332158`.                                                                              |
| `fiscal_year`    | integer | Opcional. El año fiscal federal en que DOL publicó la decisión (octubre a septiembre), p. ej. `2026`. Por defecto `0`.                        |
| `visa_class`     | enum    | Opcional. `H-1B`, `H-1B1 Chile`, `H-1B1 Singapore` o `E-3 Australian`.                                                                        |
| `case_status`    | enum    | Opcional. `Certified`, `Certified - Withdrawn`, `Withdrawn` o `Denied`.                                                                       |
| `soc_code`       | string  | Opcional. El código SOC de la ocupación, p. ej. `15-1252.00` (desarrolladores de software).                                                   |
| `worksite_state` | string  | Opcional. El estado del lugar de trabajo principal, dos letras, p. ej. `CA`.                                                                  |
| `min_wage`       | number  | Opcional. Solo decisiones que ofrecen al menos este salario (en la unidad del salario, casi siempre anual). Por defecto `0`.                  |
| `decided_from`   | string  | Opcional. Límite inferior de la fecha de decisión (`yyyy-mm-dd`, inclusive).                                                                  |
| `decided_to`     | string  | Opcional. Límite superior de la fecha de decisión (`yyyy-mm-dd`, inclusive).                                                                  |
| `page`           | integer | Opcional. Página, empieza en 1. Por defecto `1`.                                                                                              |
| `per_page`       | integer | Opcional. Resultados por página, 1-50. Por defecto `20`.                                                                                      |

```bash theme={"dark"}
curl https://api.croma.run/us/dol-oflc/lca-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "query": "software engineer",
        "worksite_state": "CA",
        "case_status": "Certified"
      }'
```

Devuelve `as_of`, los filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` y `cases[]`, de la decisión más reciente a la más antigua.

Cada decisión incluye `id` (`<fiscal_year>:<case_number>`), `fiscal_year`, `case_number`, `case_status`, `received_date`, `decision_date`, `original_cert_date`, `visa_class`, `job_title`, `soc_code`, `soc_title`, `full_time_position`, `begin_date`, `end_date`, los conteos de trabajadores (`total_worker_positions`, `new_employment`, `continued_employment`, `change_previous_employment`, `new_concurrent_employment`, `change_employer`, `amended_petition`), `employer` (`{ name, trade_name_dba, address_1, address_2, city, state, postal_code, country, province, phone, phone_ext, fein, naics_code }`), `employer_contact` (nombre, cargo, dirección, teléfono y correo), `agent_representing_employer`, `agent_attorney` (nombre, dirección, teléfono y correo), `law_firm` (`{ name, fein }`), `state_of_highest_court`, `name_of_highest_state_court`, `worksite` (el principal), `wage` (`{ rate_from, rate_to, unit, prevailing_wage, prevailing_wage_unit, prevailing_wage_level, ... }`), `total_worksite_locations`, `agree_to_lc_statement`, `h1b_dependent`, `willful_violator`, `support_h1b`, `statutory_basis`, `appendix_a_attached`, `public_disclosure`, `preparer`, `appendix_a[]` (la institución, el campo de estudio y la fecha del título de los trabajadores exentos), `answers` (las columnas que solo traen los archivos anteriores al año fiscal 2020, como `withdrawn` o `job_code`, tal como se presentaron) y `source_file`.

Un caso que DOL decidió de nuevo en un año fiscal posterior (una certificación luego retirada) es una decisión propia, y una segunda solicitud distinta que el archivo de un año lista con el mismo número es `<fiscal_year>:<case_number>~2`. Los archivos anteriores al año fiscal 2020 publican menos columnas: lo que no traen es `null`. Los salarios son dólares por `unit`. Las fechas son `yyyy-mm-dd`; los FEIN tienen nueve dígitos; los campos vacíos son `null`.

## Un caso LCA

`POST /us/dol-oflc/lca-case/v1` <a className="dataset-pill" href="/es/datasets">Dataset</a>

Resuelve un caso con cada decisión y sus lugares de trabajo.

| Campo         | Tipo   | Notas                                                                   |
| ------------- | ------ | ----------------------------------------------------------------------- |
| `case_number` | string | **Obligatorio.** El número de caso de DOL, p. ej. `I-200-25267-332158`. |

```bash theme={"dark"}
curl https://api.croma.run/us/dol-oflc/lca-case/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "case_number": "I-200-25267-332158" }'
```

Devuelve `found`, `case_number`, `as_of`, `determinations[]` (del año fiscal más reciente al más antiguo) y `worksites[]` (de la decisión más reciente).

Cada decisión incluye `id` (`<fiscal_year>:<case_number>`), `fiscal_year`, `case_number`, `case_status`, `received_date`, `decision_date`, `original_cert_date`, `visa_class`, `job_title`, `soc_code`, `soc_title`, `full_time_position`, `begin_date`, `end_date`, los conteos de trabajadores (`total_worker_positions`, `new_employment`, `continued_employment`, `change_previous_employment`, `new_concurrent_employment`, `change_employer`, `amended_petition`), `employer` (`{ name, trade_name_dba, address_1, address_2, city, state, postal_code, country, province, phone, phone_ext, fein, naics_code }`), `employer_contact` (nombre, cargo, dirección, teléfono y correo), `agent_representing_employer`, `agent_attorney` (nombre, dirección, teléfono y correo), `law_firm` (`{ name, fein }`), `state_of_highest_court`, `name_of_highest_state_court`, `worksite` (el principal), `wage` (`{ rate_from, rate_to, unit, prevailing_wage, prevailing_wage_unit, prevailing_wage_level, ... }`), `total_worksite_locations`, `agree_to_lc_statement`, `h1b_dependent`, `willful_violator`, `support_h1b`, `statutory_basis`, `appendix_a_attached`, `public_disclosure`, `preparer`, `appendix_a[]` (la institución, el campo de estudio y la fecha del título de los trabajadores exentos), `answers` (las columnas que solo traen los archivos anteriores al año fiscal 2020, como `withdrawn` o `job_code`, tal como se presentaron) y `source_file`.

Un caso que DOL decidió de nuevo en un año fiscal posterior (una certificación luego retirada) es una decisión propia, y una segunda solicitud distinta que el archivo de un año lista con el mismo número es `<fiscal_year>:<case_number>~2`. Los archivos anteriores al año fiscal 2020 publican menos columnas: lo que no traen es `null`. Los salarios son dólares por `unit`. Las fechas son `yyyy-mm-dd`; los FEIN tienen nueve dígitos; los campos vacíos son `null`.

Cada lugar de trabajo incluye `id` (`<fiscal_year>:<case_number>:<n>`), `fiscal_year`, `case_number`, `n` (su orden en el caso), `workers`, `secondary_entity`, `secondary_entity_business_name`, la dirección (`address_1`, `address_2`, `city` tal como se presentó, `county`, `state` en código de dos letras, `postal_code`), `city_key` (la ciudad normalizada para buscar: `AUSTIN` para `Austin, TX`), el salario ofrecido allí (`rate_from`, `rate_to`, `unit`) y su salario prevaleciente, el `employer_fein` y `employer_name` del caso, y `answers` (lo que solo traen para un lugar de trabajo los archivos anteriores al año fiscal 2020). Hasta el año fiscal 2019 los lugares de trabajo salen de las filas del caso: dos por caso como máximo hasta 2014, uno de 2015 a 2018, hasta diez en 2019.

## Buscar lugares de trabajo

`POST /us/dol-oflc/lca-worksites-search/v1` <a className="dataset-pill" href="/es/datasets">Dataset</a>

Busca cada lugar de trabajo por lugar, empleador y año.

| Campo           | Tipo    | Notas                                                                                                                  |
| --------------- | ------- | ---------------------------------------------------------------------------------------------------------------------- |
| `employer_fein` | string  | Opcional. El FEIN del empleador, nueve dígitos, con o sin guion (publicado desde el año fiscal 2024).                  |
| `case_number`   | string  | Opcional. El número de caso de DOL: todos los lugares de trabajo de un caso.                                           |
| `fiscal_year`   | integer | Opcional. El año fiscal federal en que DOL publicó la decisión (octubre a septiembre), p. ej. `2026`. Por defecto `0`. |
| `state`         | string  | Opcional. El estado del lugar de trabajo, dos letras, p. ej. `TX`.                                                     |
| `city`          | string  | Opcional. La ciudad del lugar de trabajo, en mayúsculas o minúsculas, p. ej. `Austin`.                                 |
| `postal_code`   | string  | Opcional. El código postal de cinco dígitos del lugar de trabajo.                                                      |
| `page`          | integer | Opcional. Página, empieza en 1. Por defecto `1`.                                                                       |
| `per_page`      | integer | Opcional. Resultados por página, 1-50. Por defecto `20`.                                                               |

```bash theme={"dark"}
curl https://api.croma.run/us/dol-oflc/lca-worksites-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "city": "Austin", "state": "TX" }'
```

Devuelve `as_of`, los filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` y `worksites[]`, del año fiscal más reciente al más antiguo.

Cada lugar de trabajo incluye `id` (`<fiscal_year>:<case_number>:<n>`), `fiscal_year`, `case_number`, `n` (su orden en el caso), `workers`, `secondary_entity`, `secondary_entity_business_name`, la dirección (`address_1`, `address_2`, `city` tal como se presentó, `county`, `state` en código de dos letras, `postal_code`), `city_key` (la ciudad normalizada para buscar: `AUSTIN` para `Austin, TX`), el salario ofrecido allí (`rate_from`, `rate_to`, `unit`) y su salario prevaleciente, el `employer_fein` y `employer_name` del caso, y `answers` (lo que solo traen para un lugar de trabajo los archivos anteriores al año fiscal 2020). Hasta el año fiscal 2019 los lugares de trabajo salen de las filas del caso: dos por caso como máximo hasta 2014, uno de 2015 a 2018, hasta diez en 2019.

## Buscar decisiones PERM

`POST /us/dol-oflc/perm-search/v1` <a className="dataset-pill" href="/es/datasets">Dataset</a>

Busca las decisiones PERM por empleador, cargo, bufete, FEIN, estado, ocupación,
estado del lugar de trabajo, ciudadanía del trabajador, salario y fecha. Las más recientes primero.

| Campo                    | Tipo    | Notas                                                                                                                                                    |
| ------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`                  | string  | Opcional. Palabras a buscar en el nombre del empleador, su nombre comercial, el cargo y el bufete. Todas las palabras deben coincidir; sin lematización. |
| `employer_fein`          | string  | Opcional. El FEIN del empleador, nueve dígitos, con o sin guion (publicado desde el año fiscal 2024).                                                    |
| `case_number`            | string  | Opcional. El número de caso PERM de DOL, p. ej. `G-100-25273-349207` o `A-23043-00641`.                                                                  |
| `fiscal_year`            | integer | Opcional. El año fiscal federal en que DOL publicó la decisión (octubre a septiembre), p. ej. `2026`. Por defecto `0`.                                   |
| `case_status`            | enum    | Opcional. `Certified`, `Certified - Expired`, `Withdrawn` o `Denied`.                                                                                    |
| `soc_code`               | string  | Opcional. El código SOC de la ocupación, p. ej. `15-1252.00` (desarrolladores de software).                                                              |
| `worksite_state`         | string  | Opcional. El estado del lugar de trabajo, dos letras, p. ej. `WA`.                                                                                       |
| `country_of_citizenship` | string  | Opcional. El país de ciudadanía del trabajador como lo escribe DOL, en inglés, p. ej. `INDIA` (solo el formulario usado hasta 2023).                     |
| `min_wage`               | number  | Opcional. Solo decisiones que ofrecen al menos este salario (en la unidad del salario, casi siempre anual). Por defecto `0`.                             |
| `decided_from`           | string  | Opcional. Límite inferior de la fecha de decisión (`yyyy-mm-dd`, inclusive).                                                                             |
| `decided_to`             | string  | Opcional. Límite superior de la fecha de decisión (`yyyy-mm-dd`, inclusive).                                                                             |
| `page`                   | integer | Opcional. Página, empieza en 1. Por defecto `1`.                                                                                                         |
| `per_page`               | integer | Opcional. Resultados por página, 1-50. Por defecto `20`.                                                                                                 |

```bash theme={"dark"}
curl https://api.croma.run/us/dol-oflc/perm-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "query": "software engineer",
        "worksite_state": "WA",
        "case_status": "Certified"
      }'
```

Devuelve `as_of`, los filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` y `cases[]`, de la decisión más reciente a la más antigua.

Cada decisión incluye `id` (`<fiscal_year>:<case_number>`), `fiscal_year`, `case_number`, `form` (`9089` para el formulario usado hasta 2023, `9089_2023` para el revisado), `case_status`, `received_date`, `decision_date`, `decision_dates[]`, `employer` (`{ name, trade_name, address_1, address_2, city, state, postal_code, country, province, phone, phone_ext, fein, naics_code, employees, year_commenced, worker_ownership_interest, relationship_to_worker }`), `employer_contact` (nombre, cargo, dirección, teléfono y correo), `agent_attorney` (`representative_type`, nombre, `law_firm`, `law_firm_fein`, `state_bar_number`, `good_standing_state`, `good_standing_court`, dirección, teléfono y correo), `job` (`{ title, soc_code, soc_title, occupation_type }`), `wage` (`{ offer_from, offer_to, offer_unit, offer_conditions, prevailing_wage, prevailing_wage_unit, prevailing_wage_level, prevailing_wage_source, prevailing_wage_tracking_number, ... }`), `worksite` (`{ type, address_1, address_2, city, county, state, postal_code, bls_area, multiple_locations }`), `worker` (el `country_of_citizenship`, `birth_country`, `class_of_admission`, `education`, `major`, `institution` y su dirección, y `currently_employed` del trabajador extranjero), `preparer`, `answers` y `source_file`.

Los dos formularios hacen preguntas distintas: un campo que un formulario no pregunta es `null`, y `worker` solo viene lleno en el formulario usado hasta 2023 (el revisado pasó al trabajador a un anexo que DOL no publica). `answers` guarda cada otra respuesta del formulario bajo el nombre de columna de DOL en minúsculas (requisitos, reclutamiento, avisos, declaraciones), tal como se presentó. Los salarios son dólares por `offer_unit`. Las fechas son `yyyy-mm-dd`; los FEIN tienen nueve dígitos; los estados van en código de dos letras cuando la solicitud nombra un estado de EE. UU.

## Un caso PERM

`POST /us/dol-oflc/perm-case/v1` <a className="dataset-pill" href="/es/datasets">Dataset</a>

Resuelve un caso PERM con cada decisión.

| Campo         | Tipo   | Notas                                                                                          |
| ------------- | ------ | ---------------------------------------------------------------------------------------------- |
| `case_number` | string | **Obligatorio.** El número de caso PERM de DOL, p. ej. `G-100-25273-349207` o `A-23043-00641`. |

```bash theme={"dark"}
curl https://api.croma.run/us/dol-oflc/perm-case/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "case_number": "G-100-25273-349207" }'
```

Devuelve `found`, `case_number`, `as_of` y `determinations[]`, del año fiscal más reciente al más antiguo.

Cada decisión incluye `id` (`<fiscal_year>:<case_number>`), `fiscal_year`, `case_number`, `form` (`9089` para el formulario usado hasta 2023, `9089_2023` para el revisado), `case_status`, `received_date`, `decision_date`, `decision_dates[]`, `employer` (`{ name, trade_name, address_1, address_2, city, state, postal_code, country, province, phone, phone_ext, fein, naics_code, employees, year_commenced, worker_ownership_interest, relationship_to_worker }`), `employer_contact` (nombre, cargo, dirección, teléfono y correo), `agent_attorney` (`representative_type`, nombre, `law_firm`, `law_firm_fein`, `state_bar_number`, `good_standing_state`, `good_standing_court`, dirección, teléfono y correo), `job` (`{ title, soc_code, soc_title, occupation_type }`), `wage` (`{ offer_from, offer_to, offer_unit, offer_conditions, prevailing_wage, prevailing_wage_unit, prevailing_wage_level, prevailing_wage_source, prevailing_wage_tracking_number, ... }`), `worksite` (`{ type, address_1, address_2, city, county, state, postal_code, bls_area, multiple_locations }`), `worker` (el `country_of_citizenship`, `birth_country`, `class_of_admission`, `education`, `major`, `institution` y su dirección, y `currently_employed` del trabajador extranjero), `preparer`, `answers` y `source_file`.

Los dos formularios hacen preguntas distintas: un campo que un formulario no pregunta es `null`, y `worker` solo viene lleno en el formulario usado hasta 2023 (el revisado pasó al trabajador a un anexo que DOL no publica). `answers` guarda cada otra respuesta del formulario bajo el nombre de columna de DOL en minúsculas (requisitos, reclutamiento, avisos, declaraciones), tal como se presentó. Los salarios son dólares por `offer_unit`. Las fechas son `yyyy-mm-dd`; los FEIN tienen nueve dígitos; los estados van en código de dos letras cuando la solicitud nombra un estado de EE. UU.

<Card title="Referencia completa" icon="code" href="/es/api-reference/overview">
  Esquemas, todos los campos de respuesta y un playground interactivo.
</Card>
