--- title: US WARN Act Layoff Notices emoji: πŸ“‰ colorFrom: gray colorTo: red sdk: static pinned: false license: cc-by-4.0 short_description: 61,431 US WARN Act layoff notices, 48 states, free CSV tags: - layoffs - warn-act - warn-notices - layoff-tracker - labor-market - public-records - united-states - dataset - daily-updated - csv - rss custom_headers: cross-origin-opener-policy: same-origin cross-origin-resource-policy: cross-origin --- # US WARN Act layoff notices β€” 61,431 notices, 48 states, rebuilt every day **[Open the live site β†’](https://approjects-warn-act-notices.static.hf.space/)** Β· rebuilt 2026-09-25 | | | |---|---| | **61,431** | layoff notices on file, back to 1988 | | **48** | state portals re-scraped every single day | | **6,831,447** | workers named across those notices (all of it free, dated 1988-01-01 onward, no delay) | | **233** | notices filed in the last 30 days (23,474 workers) | | **5,545** | near-duplicate employer spellings merged onto 1,243 employers, redone every morning (Aramark alone files under 159 spellings) | | **25** | daily snapshots in the observed change log (2482 field changes / disappearances recorded since 2026-08-30) | Every US state publishes WARN Act layoff notices in its own format β€” different columns, different date conventions, some as quarterly PDFs, several with no notice date at all. This project re-scrapes 48 of them daily, normalizes them into one schema, deduplicates with stable row ids, and canonicalizes employer names so `Amazon.com Services LLC` and `Amazon` roll up together. A one-off copy of this data starts rotting the week it is posted: states amend headcounts, re-issue notices and silently drop rows. Compare the rebuild date above with the "last updated" date on any other US WARN dataset before you choose one. ## Free, no account, no email address - **Site** β€” [https://approjects-warn-act-notices.static.hf.space/](https://approjects-warn-act-notices.static.hf.space/): state pages, employer pages, weekly / monthly / yearly roll-ups, search. - **CSV / JSON** β€” [`/data/warn_notices.csv`](https://approjects-warn-act-notices.static.hf.space/data/warn_notices.csv), [`/data/coverage.json`](https://approjects-warn-act-notices.static.hf.space/data/coverage.json) (per-state row counts, last-scraped stamp, newest notice on file). - **RSS** β€” [all states](https://approjects-warn-act-notices.static.hf.space/feed.xml), or one feed per state. - **Dataset mirror** β€” [APProjects/us-warn-act-layoffs-notices-daily](https://huggingface.co/datasets/APProjects/us-warn-act-layoffs-notices-daily) (`load_dataset` in one line). - **Daily GitHub release** β€” [releases/latest](https://github.com/APVentureEngine/warn-act-notices/releases/latest). ```bash curl -s https://approjects-warn-act-notices.static.hf.space/data/coverage.json | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['total_rows'], 'notices;', len(d['states']), 'states')" ``` ## What a re-scrape cannot give you: the observed change log State portals overwrite themselves. When an agency amends a headcount, moves an effective date or quietly removes a notice, the previous value leaves the public internet. Because this dataset is committed on every daily rebuild, its history is a point-in-time record of what each portal was publishing on each day, and that record is published as [`/data/revisions.csv`](https://approjects-warn-act-notices.static.hf.space/data/revisions.csv) ([README](https://approjects-warn-act-notices.static.hf.space/data/revisions.README.txt)): one row per field change or disappearance between consecutive daily builds, 25 snapshots since 2026-08-30, 2482 rows so far, 177 of them a tracked field changing from one non-empty value to another. Read it honestly: a row means *our build changed*, which can be the agency amending the notice **or** this project's parser improving. The `cause_class` column labels only what is mechanically decidable (`field_populated`, `field_cleared`, `format_only`, `value_changed`); `row_absent` means the row stopped appearing in our build, not that the employer withdrew it. It grows by one snapshot a day and cannot be backfilled by anyone starting later. ## Get told when YOUR employers file β€” free, no card Name up to three employers (or one whole state); every daily rebuild is matched against them and every match lands on your own alert page with an RSS feed (plus an optional Slack / Discord / Teams webhook). **[Start a free 30-day watch β†’](https://approjects-warn-act-notices.static.hf.space/go/hf-free.html)** Β· $0, no card, nothing renews. Or skip the signup entirely: [match your employers in your own browser](https://approjects-warn-act-notices.static.hf.space/watch-now.html) and download an **.opml** holding one RSS feed per employer you typed β€” no account, no email address, no checkout. Every employer that filed in the last 180 days has a static feed at `/feeds/employer/.xml`, rebuilt each morning with the data. The paid tier is the one that comes to *you* (Slack / Discord / Teams / private alert page, 500 terms plus whole states); the feeds wait for your reader to ask. ## Paid tiers | | | |---|---| | **[WARN Watch β€” $49/year](https://approjects-warn-act-notices.static.hf.space/go/hf-buy.html)** | up to 500 employer terms + any number of whole states, matched on every daily refresh for a year. Private alert page + RSS + webhook, no login. [What it looks like](https://approjects-warn-act-notices.static.hf.space/watch.html). | | **[Full historical archive β€” free](https://github.com/APVentureEngine/warn-act-notices/releases/latest)** | all 61,431 notices, 1988–present, 48 states, CSV + JSON + coverage metadata, rebuilt every morning. No paywalled years since 2026-09-07, no account, CC BY 4.0. | The free tier is not crippled to sell these: same normalization, same columns, same CC BY 4.0 licence. ## Largest employers by workers noticed in 2026 so far | employer | workers noticed in 2026 | |---|---| | Ideal US Talent Systems Worker OpCo | 11,973 | | Spirit Airlines | 6,906 | | Meta Platforms | 5,686 | | Amazon | 5,386 | | Republic National Distributing | 3,533 | ## Honest scope - 48 states scraped; not covered yet: AR, NH, WY. `coverage.json` is the authoritative list and is regenerated on every run. - MI, PA and SC publish no notice date at all; those rows are labelled rather than guessed. - Compiled from state workforce-agency portals. Independent project, not affiliated with any government agency; not legal or financial advice. - Found a bad row? [Open an issue](https://github.com/APVentureEngine/warn-act-notices/issues) β€” corrections ship the same day. Source code: [github.com/APVentureEngine/warn-act-notices](https://github.com/APVentureEngine/warn-act-notices). Underlying scrapers include Apache-2.0 code from `biglocalnews/warn-scraper`. ## A layoff record you can audit, not just download This dataset is one cut of a single daily rebuild: **61,431 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-25**; 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,482 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 β†’](https://github.com/APVentureEngine/warn-act-notices/blob/main/CITATION.cff) **Look something up right now β€” free, no signup, nothing to install.** [Check any employer or state against the last 180 days β†’](https://approjects-warn-act-notices.static.hf.space/watch-now.html) 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 β†’](https://approjects-warn-act-notices.static.hf.space/api.html) **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 β†’](https://approjects-warn-act-notices.static.hf.space/sheets.html) `=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, 25 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](https://huggingface.co/datasets/APProjects/us-warn-act-layoffs-point-in-time-snapshots). 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](https://huggingface.co/datasets/APProjects/us-tech-company-layoffs-warn-act-notices-daily) Β· [hospitals & healthcare](https://huggingface.co/datasets/APProjects/us-hospital-healthcare-layoffs-warn-act-notices-daily) Β· [retail store closings](https://huggingface.co/datasets/APProjects/us-retail-store-closings-layoffs-warn-act-notices-daily) Β· [restaurants & hotels](https://huggingface.co/datasets/APProjects/us-restaurant-hotel-closings-layoffs-warn-act-notices-daily) Β· [factory & plant closings](https://huggingface.co/datasets/APProjects/us-factory-plant-closings-manufacturing-layoffs-warn-act-notices-daily) Β· [banks, insurance & finance](https://huggingface.co/datasets/APProjects/us-bank-insurance-finance-layoffs-warn-act-notices-daily) Β· [warehouses, trucking & logistics](https://huggingface.co/datasets/APProjects/us-warehouse-trucking-logistics-layoffs-warn-act-notices-daily) Β· [all 20 sectors](https://huggingface.co/datasets/APProjects/us-layoffs-by-industry-sector-warn-act). **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. - [See a real alert page before paying](https://approjects-warn-act-notices.static.hf.space/watch-sample.html) Β· [what you get](https://approjects-warn-act-notices.static.hf.space/watch.html) - [Try it free for 30 days, no card](https://approjects-warn-act-notices.static.hf.space/go/hf-free.html) Β· [Buy β€” $49/year](https://approjects-warn-act-notices.static.hf.space/go/hf-buy.html) **Not deciding today?** [Join the update list β†’](https://approj.gumroad.com/subscribe) β€” one email when a new dataset or tier is published; nothing promotional. A state added or a column renamed ships in the [daily release](https://github.com/APVentureEngine/warn-act-notices/releases) 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](https://github.com/APVentureEngine/warn-act-notices/subscription) β€” 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](https://github.com/APVentureEngine/warn-act-notices/issues/new/choose). Payments are handled by Gumroad as merchant of record, so an invoice can carry your company name. [Source, scrapers and methodology](https://github.com/APVentureEngine/warn-act-notices) Β· [the 48-state site](https://approjects-warn-act-notices.static.hf.space/) Card views are counted anonymously: one 1Γ—1 image on a public CDN, no cookies, no script, no personal data. The count is public: jsDelivr stats.