Methodology
Every figure on this site is computed from the agency files listed on the data sources page (this build: 30 Sep 2026). Enforcement files are re-read at least every ten days, OFLC disclosure files when a new quarter is published, injury summaries once a year and contract totals at each build; the data-through date of each source is printed on the pages that use it. This page explains the choices.
Entity matching
An employer is a normalised name plus a state. The name is upper-cased, punctuation is removed, corporate suffixes (Inc, LLC, Corp, Co, Ltd, LP, LLP and similar) and "dba …" trade-name tails are stripped, and a hand-kept alias file maps spelling and legal-name variants of the same entity (for example "Wal-Mart Stores East" to Walmart, or "Dolgencorp" to Dollar General). Separately named subsidiaries, divisions, independent bottlers and dealers are not merged into a parent. OSHA and injury records use the establishment's state; Wage and Hour records use the employer address; OFLC records use the employer's state on the application, which is the headquarters state, so a company's H-1B filings usually sit under one state while its inspections are spread across the states where the sites are. USAspending recipients are matched by normalised name across all states because the recipient profile is a company-level record. Where the sources spell a name differently, the employer page says so under "Is this the same company?". Subsidiaries and separately incorporated entities with their own names are separate employers. Establishments recorded by an agency under a shared brand name (for example franchised restaurants) fall under that name in the state, whoever operates them, because the agency record carries no operator identifier; the "Is this the same company?" note and the link to each OSHA inspection let a reader check the establishment.
Who gets a page
Organisations only. Names that read as one or more people are excluded at ingest: "First Last" and "Last, First" forms, a person doing business under a trade name ("dba"), practices named after a doctor, personal trusts, and a person's name followed by a trade with no legal form ("Jose Corea Roofing"), unless the same name also appears with a legal form such as LLC or Inc. Their records still count in state, industry and national totals, but the names are never shown. An employer gets a page when it has five or more records; or records in two or more sources and at least three records; or 50 or more reported employees (Form 300A or PERM payroll) and at least two records. Employers below that line are not named anywhere on the site: state, industry, occupation and monthly tables list only employers that have a page, and count everything else in the totals. 72,330 employers meet the rule in this build; 9,026 person-named keys were excluded. Pages with three or fewer records, all more than five years old, are built but marked noindex.
OSHA
Inspections opened since 2016 from the enforcement inspection file, joined to the violation file by activity number; deleted violation rows are dropped. "Citations" are violation rows; "current penalty" is OSHA's current penalty field after any settlement, and "initial" the penalty as issued. Status follows the record: a citation is contested when it carries a contest date and has a final order when it carries a final order date; an inspection is "Contested" when any citation is contested and "Final order" when every citation has one. Standard numbers are shown as OSHA labels them (29 CFR part and section, with paragraph designators). Per-inspection comparisons divide totals by inspections in the same industry, state or nation.
Injury summaries
Form 300A summaries submitted through the Injury Tracking Application, calendar years 2023, 2024, 2025. Rates use OSHA's formula: cases × 200,000 ÷ hours worked, per 100 full-time workers; TRC counts all recordable cases and DART those with days away, restricted duty or job transfer. Employer figures sum every establishment filed under the same name in the state. Industry distributions take the median and quartiles across establishments with at least 20,000 hours; "pooled" rates use all hours and cases. Only establishments in covered industries above the size thresholds must submit, so absence is not evidence of no injuries.
Wage and Hour Division
Concluded compliance actions since fiscal year 2005. "Back wages agreed to pay" is WHD's own field (BW_ATP_AMT) and "civil money penalties assessed" its CMP field; the file does not record subsequent payment. Cases are dated by their findings end date. Act breakdowns use the per-act violation and back-wage columns of the file.
OFLC: LCA and PERM
Labor condition applications (H-1B, H-1B1 and E-3) for fiscal years 2025–2026 and PERM applications for 2024–2026, by fiscal year of decision; the latest fiscal year is partial, and PERM FY2024 covers the new Form 9089 only. Offered and prevailing wages are annualised from the rate and unit on the application (hourly × 2,080; weekly × 52; bi-weekly × 26; monthly × 12) and values under $10,000 or over $2.5 million are ignored. Medians use a reservoir sample of up to 300 applications per employer and 4,000 per occupation. No wage statistic is shown for fewer than 3 applications (per employer, per job title or per employer within an occupation), so that a figure never describes one worker. A case that appears in more than one quarterly file is counted once, with its latest status. Wage levels I–IV are as stated on the application. Applications are filings, not hires.
Federal contracts
The USAspending recipient endpoint lists recipients by contract obligations over the latest twelve months; this site loads the top 3,903. For recipients matched to an employer page, obligations by fiscal year and by awarding agency come from the spending-over-time and spending-by-category endpoints (contract award types A–D, the last seven fiscal years) and are refreshed at least monthly.
NLRB
Election results as certified at the data date. The NLRB site refuses automated connections from many networks; when it does, the last good snapshot is used, and when no snapshot exists the union section is left out and the questions section says that election results are not loaded.
Why counts can differ from the agencies' pages
- Cut-offs: OSHA inspections before 2016 are not loaded; the agency's establishment search shows all years.
- Matching: an agency page shows one legal entity; this site groups name variants and, for OSHA, every site in the state.
- State and industry totals count every record in the files, including employers without a page and person-named establishments.
- Timing: files refresh on different schedules (7 sources; data-through dates are on every page).
- Rounding: rates to one decimal, money to the dollar.
Thresholds and indexing
Occupation pages need 50 applications; state-month pages with fewer than three named rows are noindex; employer pages with three or fewer records, all older than five years, are noindex. State-month pages cover the 24 months to the latest complete month of OSHA data.