CoolFace
Datasetpublic

APProjects/us-multi-state-employer-layoffs-warn-notices-by-state

Which US employers are laying off in more than one state? Every state publishes its own WARN Act layoff notices, and every state's list stops at its border. The employer that filed in Texas on Monday and Ohio on Wednesday appears as two unrelated rows on two unrelated portals. This dataset is the merge: the free-window notices from 48 states, grouped by employer, kept to employers that filed in two or more states, rebuilt every day. The headline (free window, 1988 -… See the full description on the dataset page: https://huggingface.co/datasets/APProjects/us-multi-state-employer-layoffs-warn-notices-by-state.

sourceHugging Facecc-by-4.0updated 4h agoView on Hugging Face
0likes546downloads
Dataset Card

Which US employers are laying off in more than one state?

Every state publishes its own WARN Act layoff notices, and every state's list stops at its border. The employer that filed in Texas on Monday and Ohio on Wednesday appears as two unrelated rows on two unrelated portals. This dataset is the merge: the free-window notices from 48 states, grouped by employer, kept to employers that filed in two or more states, rebuilt every day.

The headline (free window, 1988 - today, as of 2026-09-22)

Employers with WARN filings in 2+ states2,759
Employers with filings in 5+ states605
Workers named in those employers' filings, as filed2,917,385
Underlying notices (one row each in notices)25,126
States spanned48
Tracking specific employers or states? Name up to three and every daily rebuild is matched for you - alert page + RSS, optional Slack/Discord/Teams webhook. Free 30-day watch, $0, no card, nothing renews.

Most states, top 20

employerstateswhichnoticesworkers as filed
Aramark37AL AZ CA CO CT DC DE FL IA ID IL IN KS KY MA MD MI MN MO MS NC NJ NV NY OH OK OR PA RI SC SD TN TX UT VA WA WI28049,229
Sodexo37AL AZ CA CO CT DC DE FL HI ID IL IN KS KY LA MA MD MI MN MO NC NE NJ NV NY OH OK OR PA RI SC TN TX VA WA WI WV26528,690
Walmart30AK AL AZ CA CO CT DC FL GA IL IN KS MA MD MI NC NJ NM NY OH OK OR PA SC TN TX UT VA WA WI14223,084
Conduent30AZ CA CO CT DE FL GA ID IN KY LA MD MI MO NC NE NM NV NY OH OK OR PA RI SC SD TN VA WA WI973,605
ABM27AL AZ CA CO DC FL GA IL IN MA MD MN MO NC NJ NV NY OH OK PA SC TN TX UT VA WA WI12212,448
Macy's26AL AZ CA CT FL GA ID IL IN KS KY MD MI MN NC NJ NY OH OK OR PA TN TX UT VA WA17117,428
Wells Fargo25AL AZ CA CO FL IA ID IL MD MN MT NC ND NE NJ NV NY OR PA SC SD TX UT VA WA17112,517
Yellow24AL AZ CA CO DC FL ID IL IN KS ME MI MN NC ND NM NV NY OH PA TX VA WA WI8313,286
Cygnus Home Service24AZ CA CO CT ID IL IN MA MD MI MO NC ND NE NM NY OH PA SC TX UT VA WA WI561,085
David's Bridal23AK AL CA CO CT GA MA ME MN MO NC NE NJ NM NV NY OH OR PA TN TX WA WI8222,433
Verizon23AL CA CO CT IA IL KS KY MD MI MN NE NJ NM NY OH OR PA SC TN TX VA WA6313,379
United Airlines22CA CO CT FL HI IL IN MI MN NC NE NJ NV NY OH OK OR PA RI TX VA WA6481,360
Cinemark22AZ CA CT ID IL IN KS MD MI MT NC NV NY OH PA SC TN TX UT VA WA WI14011,297
Enterprise Holdings22CA CT FL HI IN KS MD MI MN MO NC NM NV NY OH OK OR PA TN TX VA WI1008,054
Kmart21AL AZ CA FL IL IN KS KY MD MI MN NC NE NJ NY OR PA TN UT VA WA24320,049
First Transit21CA CT FL IL IN MD MN NC NJ NV NY OH OK OR PA TN TX UT VA WA WI546,683
Saks &21AL AZ CA FL HI IL MA MD MI MO MS NC NJ NV NY OH OR PA TN TX VA524,353
Block21AZ CA CO CT FL GA HI IL IN MA MN MO MT NC NV NY OR PA SC WA WI39877
Paper Source21CA CO CT FL IN KS MD MI MN MO NC NJ NV NY OH OR PA TX VA WA WI48754
Hostess Brands20AK AL AZ CT ID IL IN KS KY MD MI NJ NY OR PA SD TN VA VT WA1287,848

Most workers, top 10

employerworkers as filedstatesnotices
United Airlines81,3602264
Aramark49,22937280
Boeing42,90613403
OS Restaurant38,86413132
Northwest Airlines31,875317
Sodexo28,69037265
Walt Disney Parks and Resorts U.S24,843227
Walmart23,08430142
David's Bridal22,4332382
General Motors22,4121342

What is in the files

`data/multi_state_employers.csv` (config employers, default) - one row per employer, 2,759 rows:

columnmeaning
employercanonicalized employer name (see method)
n_statesnumber of distinct states with a filing
statesspace-separated two-letter codes
noticesnumber of filings across those states
workers_as_filedsum of employees_affected across those filings, exactly as each state filed it
first_noticeearliest notice date (or effective date where the state gives no notice date)
last_noticelatest such date

`data/multi_state_notices.csv` (config notices) - every underlying filing, 25,126 rows, the same columns as the daily notices dataset (id, state, company, company_canonical, company_dba, location, employees_affected, notice_date, effective_date, notice_type, first_seen) plus employer, the merged employer key that matches employer in the employers file (a row's own company_canonical may be one of that employer's other spellings). Join on id to the daily dataset, on employer to the employers file.

Both files cover the free window (1988 to today) - stated up front rather than discovered after download. The full 1988-onward notice history is free as well, in the daily notices dataset; what this file adds is the cross-state merge, recomputed over the recent window on every rebuild.

Method, and what it does NOT say

  • Grouping is deterministic string canonicalization, not corporate-entity resolution. Legal suffixes (Inc, LLC, Corp) are stripped, "dba" parts are split off, plant/site tails after dashes are dropped, ALL-CAPS is fixed. Nothing is looked up. Consequences you must expect: a subsidiary filing under its own name is not merged into its parent, and two spellings the rule cannot reconcile may split one employer into two rows. On top of that, a conservative alias merge folds spellings that share a distinctive token prefix into one employer ("Boeing Compnay", "Boeing - El Paso" -> Boeing) only when that token is at least 90% pure across the archive; it under-merges on purpose. Treat employer as a display key, not a legal identity.
  • workers_as_filed is a sum of headcounts as filed. States amend and re-file notices; where the source portal lists an amendment as a separate row, the workers are counted again. It is not a deduplicated headcount.
  • A filing in two states says the employer had two WARN-triggering events; it does not say they were the same decision, the same week, or the same business line.
  • "Notice" means one row on a state WARN portal. States differ in what they publish (some list every site, some one row per employer per event).

Freshness

Rebuilt daily from 48 state labor-department portals by an automated pipeline; the underlying build was 2026-09-22. A static copy of this list is wrong within a week - the multi-state view only exists because something merges the portals every day.

Related

License

CC BY 4.0. Underlying notices are US state public records. Attribution: "WARN Feed, https://approjects-warn-act-notices.static.hf.space".

Not affiliated with the US Department of Labor or any state agency.

<!-- warn-feed:offer:start -->

A layoff record you can audit, not just download

This dataset is one cut of a single daily rebuild: 61,428 US WARN Act layoff notices from 48 state agencies, 1988 to today, one schema, no login, no delay, CC BY 4.0. Snapshot as of 2026-09-24; the files above are rebuilt every day, so the live count is the truth.

Several projects publish a current WARN scrape and two of them carry more rows than we do. None of them publish what the records used to say:

  • 2,472 observed changes to already-published notices, logged daily since 2026-08-31. data/revisions.csv records every field that differed between two consecutive daily builds — employee counts, effective dates, notice types, company names — with the old value, the new value and the date we saw it. We publish the observation and not the cause: a change is equally explained by the agency amending the notice or by our own parser improving, and we do not guess which (see data/revisions.README.txt). A scrape that starts tomorrow cannot backfill any of it; it only exists if someone was watching.
  • 6,799 notices whose state agency page no longer lists them. Agencies take notices down. We keep them, flagged as archive-only, so a count you ran last year still reconciles.
  • Point-in-time employer identity. The ticker crosswalk resolves a filer to the company as it existed at the time of the notice — Kmart, Sears Holdings, Symantec — not to whatever is on today's ticker file.

If you have to defend a number to an editor, a referee or a compliance reviewer, that provenance layer is the part you cannot rebuild yourself. How to cite this dataset →

Look something up right now — free, no signup, nothing to install. Check any employer or state against the last 180 days → It runs in your browser against these same files.

Building something with it? The same files are a free HTTP API — JSON and CSV, no key, no signup, access-control-allow-origin: * so fetch() works from a browser: endpoints, schema and curl examples →

Prefer a spreadsheet? One formula puts the last 90 days, the last 12 months or any single state into Google Sheets as a live range that refreshes itself — no signup, no add-on: the formulas, one per state → =IMPORTDATA("https://cdn.jsdelivr.net/gh/APVentureEngine/warn-act-notices@main/data/sheets/us-last-90-days.csv")

Backtesting, or citing a figure you published last month? Today's file has look-ahead and survivorship bias baked in: notices get amended after the fact and some rows are later deleted. The same table as it stood on any past day since 2026-08-30 — one immutable vintage per day, 24 so far, plus a first-appearance index giving the first and last day every notice id was in the file — is the point-in-time snapshot archive. Nobody can backfill it.

Need one industry only? The same filings, cut by an auditable employer-name rule (each row keeps the rule that fired): tech companies · hospitals & healthcare · retail store closings · restaurants & hotels · factory & plant closings · banks, insurance & finance · warehouses, trucking & logistics · all 20 sectors.

Or have it watch a list for you. Coming back to look is the part a CSV cannot do. WARN Watch — $49 for a year, one payment, nothing auto-renews, 14-day refund, no login: up to 500 employer names plus whole states, matched on every daily refresh, delivered to a private alert page + calendar (.ics) + RSS + an optional Slack / Discord / Teams webhook. Every alert carries that employer's whole filing history from the archive, which a keyword rule on an RSS feed cannot see. There is no built-in email — we do not claim one.

Not deciding today? Join the update list → — one email when a new dataset or tier is published; nothing promotional. A state added or a column renamed ships in the daily release instead, no address needed. The list is shared across APProjects datasets, holds an email address only, is run by Gumroad, and any message unsubscribes you. Rather give no address at all? Watch the repo's releases — GitHub notifies you on every daily republish, and a new state or changed field is in those notes the day it lands.

Reaching a human. WARN Feed is published by APProjects, an automated data publisher — that is stated plainly rather than dressed up. Corrections, coverage gaps, schema questions and refund requests all go here and are read: open an issue. Payments are handled by Gumroad as merchant of record, so an invoice can carry your company name.

Source, scrapers and methodology · the 48-state site <!-- warn-feed:offer:end -->

<!-- warn-feed:px:start --> <img src="https://cdn.jsdelivr.net/gh/APVentureEngine/warn-act-notices@main/assets/px/hf/us-multi-state-employer-layoffs-warn-notices-by-state.png" width="1" height="1" alt=""> <sub>Card views are counted anonymously: one 1×1 image on a public CDN, no cookies, no script, no personal data. The count is public: <a href="https://data.jsdelivr.com/v1/stats/packages/gh/APVentureEngine/warn-act-notices@main/files?period=month">jsDelivr stats</a>.</sub> <!-- warn-feed:px:end -->