The whole source, organized and ready to query: every endpoint on this page answers in milliseconds. Every response carries
as_of: how current the data is. How datasets work.Search LCA determinations
POST /us/dol-oflc/lca-search/v1 Dataset
Searches the determinations by employer, job, FEIN, visa class, status, occupation,
worksite state, wage and date. Newest decision first.
as_of, the applied filters, total, page, per_page, total_pages, count and cases[], newest decision first.
Every determination carries 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, the worker counts (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 (name, job title, address, phone and email), agent_representing_employer, agent_attorney (name, address, phone and email), law_firm ({ name, fein }), state_of_highest_court, name_of_highest_state_court, worksite (the primary one), 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[] (the exempt workers’ institution, field of study and degree date) and source_file.
A case DOL decided again in a later fiscal year (a certification later withdrawn) is a determination of its own. Wages are US dollars per unit. Dates are yyyy-mm-dd; FEINs are nine digits; empty fields are null.
One LCA case
POST /us/dol-oflc/lca-case/v1 Dataset
Resolves one case with every determination and its worksites.
found, case_number, as_of, determinations[] (newest fiscal year first) and worksites[] (of the newest determination).
Every determination carries 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, the worker counts (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 (name, job title, address, phone and email), agent_representing_employer, agent_attorney (name, address, phone and email), law_firm ({ name, fein }), state_of_highest_court, name_of_highest_state_court, worksite (the primary one), 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[] (the exempt workers’ institution, field of study and degree date) and source_file.
A case DOL decided again in a later fiscal year (a certification later withdrawn) is a determination of its own. Wages are US dollars per unit. Dates are yyyy-mm-dd; FEINs are nine digits; empty fields are null.
Every worksite carries id (<fiscal_year>:<case_number>:<n>), fiscal_year, case_number, n (its order in the case), workers, secondary_entity, secondary_entity_business_name, the address (address_1, address_2, city as filed, county, state as a two-letter code, postal_code), city_key (the city as matched: AUSTIN for Austin, TX), the wage offered there (rate_from, rate_to, unit) and its prevailing wage, and the case’s employer_fein and employer_name.
Search worksites
POST /us/dol-oflc/lca-worksites-search/v1 Dataset
Searches every worksite by place, employer and year.
as_of, the applied filters, total, page, per_page, total_pages, count and worksites[], newest fiscal year first.
Every worksite carries id (<fiscal_year>:<case_number>:<n>), fiscal_year, case_number, n (its order in the case), workers, secondary_entity, secondary_entity_business_name, the address (address_1, address_2, city as filed, county, state as a two-letter code, postal_code), city_key (the city as matched: AUSTIN for Austin, TX), the wage offered there (rate_from, rate_to, unit) and its prevailing wage, and the case’s employer_fein and employer_name.
Search PERM determinations
POST /us/dol-oflc/perm-search/v1 Dataset
Searches the PERM determinations by employer, job, law firm, FEIN, status, occupation,
worksite state, the worker’s citizenship, wage and date. Newest decision first.
as_of, the applied filters, total, page, per_page, total_pages, count and cases[], newest decision first.
Every determination carries id (<fiscal_year>:<case_number>), fiscal_year, case_number, form (9089 for the form used until 2023, 9089_2023 for the revised one), 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 (name, job title, address, phone and email), agent_attorney (representative_type, name, law_firm, law_firm_fein, state_bar_number, good_standing_state, good_standing_court, address, phone and email), 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 (the foreign worker’s country_of_citizenship, birth_country, class_of_admission, education, major, institution and its address, currently_employed), preparer, answers and source_file.
The two forms ask different questions: a field one form does not ask is null, and worker is filled only on the form used until 2023 (the revised form moved the worker to an appendix DOL does not publish). answers holds every other answer on the form under DOL’s column name in lower case (requirements, recruitment, notices, declarations), as filed. Wages are US dollars per offer_unit. Dates are yyyy-mm-dd; FEINs are nine digits; states are two-letter codes where the filing names a US state.
One PERM case
POST /us/dol-oflc/perm-case/v1 Dataset
Resolves one PERM case with every determination.
found, case_number, as_of and determinations[], newest fiscal year first.
Every determination carries id (<fiscal_year>:<case_number>), fiscal_year, case_number, form (9089 for the form used until 2023, 9089_2023 for the revised one), 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 (name, job title, address, phone and email), agent_attorney (representative_type, name, law_firm, law_firm_fein, state_bar_number, good_standing_state, good_standing_court, address, phone and email), 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 (the foreign worker’s country_of_citizenship, birth_country, class_of_admission, education, major, institution and its address, currently_employed), preparer, answers and source_file.
The two forms ask different questions: a field one form does not ask is null, and worker is filled only on the form used until 2023 (the revised form moved the worker to an appendix DOL does not publish). answers holds every other answer on the form under DOL’s column name in lower case (requirements, recruitment, notices, declarations), as filed. Wages are US dollars per offer_unit. Dates are yyyy-mm-dd; FEINs are nine digits; states are two-letter codes where the filing names a US state.
Full reference
Schemas, all response fields, and an interactive playground.