# Where EarthOnline Layoffs' notices come from

Every notice on https://layoffs.earthonlines.com comes from a US state government's own list of WARN notices: the notices employers file with the state before a plant closing or a mass layoff, under the federal [WARN Act](https://www.law.cornell.edu/uscode/text/29/chapter-23) ([regulations](https://www.ecfr.gov/current/title-20/chapter-V/part-639), [Department of Labor](https://www.dol.gov/agencies/eta/layoffs/warn)) or a state law like it. There is no national list: each state publishes its own, as a web page, a PDF, an Excel file or a search form. We read each list once a day, put every notice in one shape, and keep 36,208 notices from 5,059 companies in 15 states. Every notice keeps the row as the state published it and says which state page it came from. We are not affiliated with or endorsed by any state.

## How the lists are read

With two open-source tools by [Big Local News](https://biglocalnews.org), a program at Stanford University, both under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0): [warn-scraper](https://github.com/biglocalnews/warn-scraper) 1.2.176.dev0 (one scraper per state; it fetches the state's page and files and writes the rows as the state has them) and [warn-transformer](https://github.com/biglocalnews/warn-transformer) 1.3.412 (it maps each state's columns onto one schema: company, location, notice date, effective date, workers, temporary, closure, amendment). Louisiana's and Mississippi's PDFs are read with Big Local News's fork of [camelot](https://github.com/biglocalnews/camelot-olde) (MIT). Checked 2026-10-03: both projects are maintained (warn-scraper's latest release 2026-09-03, warn-transformer's 2026-10-01).

Seven of the scrapers also read older notices from Big Local News's own archive copies (files they collected earlier, at storage.googleapis.com/bln-data-public/warn-layoffs/): Georgia, Iowa, Kentucky, Ohio, Oregon, Tennessee and Texas. Those notices come from the same state lists, copied before the states took them down or changed format.

## State by state

15 states covered. 43 have a scraper this site runs every day; 8 are not covered, and why: Arkansas (no scraper), Minnesota (no scraper), Nevada (no scraper), New Hampshire (no scraper), North Carolina (no scraper), Virginia (its scraper needs a browser), West Virginia (no scraper), Wyoming (no scraper). "Scraper broken" means the last read failed (the state changed its page, or its site refused us); a state whose scraper broke keeps the notices of its last good read.

| State | Source | Format | Status | Notices | Latest notice | Read |
|---|---|---|---|---|---|---|
| Alabama (AL) | [Alabama Department of Commerce](https://www.madeinalabama.com/warn-list/) | CSV | Covered | 1,074 | 2026-09-21 | 2026-10-03 |
| Alaska (AK) | [Alaska Department of Labor and Workforce Development](https://jobs.alaska.gov/RR/WARN_notices.htm) | web page | Covered | 66 | 2026-07-06 | 2026-10-03 |
| Arizona (AZ) | [Arizona Department of Economic Security](https://www.azjobconnection.gov/search/warn_lookups/new) | JobLink search | Read, no notices | 0 | — | 2026-10-03 |
| Arkansas (AR) | none known | — | Not covered: no scraper | 0 | — | — |
| California (CA) | [California Employment Development Department](https://edd.ca.gov/en/Jobs_and_Training/Layoff_Services_WARN) | web page, PDF, Excel | Covered | 17,239 | 2026-09-30 | 2026-10-03 |
| Colorado (CO) | [Colorado Department of Labor and Employment](https://cdle.colorado.gov/employers/layoff-separations/layoff-warn-list) | web page | Covered | 861 | 2026-09-25 | 2026-10-03 |
| Connecticut (CT) | [Connecticut Department of Labor](https://dolpublicdocumentlibrary.ct.gov/CsblrCategory?prefix=%2Frapid_response%2Fwarn_documents) | JSON | Covered | 24 | 2026-09-09 | 2026-10-03 |
| Delaware (DE) | [Delaware Department of Labor](https://joblink.delaware.gov/search/warn_lookups/new) | JobLink search | Read, no notices | 0 | — | 2026-10-03 |
| District of Columbia (DC) | [District of Columbia Department of Employment Services](https://does.dc.gov/page/industry-closings-and-layoffs-warn-notifications-2026) | web page | Scraper broken: MissingSchema: Invalid URL '/page/rapid-response': No scheme supplied. Perhaps you meant https:///page/rapid-response? | 0 | — | — |
| Florida (FL) | [Florida Department of Economic Opportunity](https://floridajobs.org/workforce-resources/worker-adjustment-and-retraining-notification-%28warn%29) | web page, PDF | Scraper broken: IndexError: list index out of range | 0 | — | — |
| Georgia (GA) | [Georgia Department of Labor](https://www.dol.state.ga.us/public/es/warn/searchwarns/list) | web page, older files | Read, no notices | 0 | — | 2026-10-03 |
| Hawaii (HI) | [Workforce Development Hawaii](https://labor.hawaii.gov/wdc/real-time-warn-updates/) | web page, PDF | Covered | 455 | 2026-07-31 | 2026-10-03 |
| Idaho (ID) | [Idaho Department of Labor](https://www.labor.idaho.gov/businesss/layoff-assistance/) | PDF | Covered | 201 | 2026-09-17 | 2026-10-03 |
| Illinois (IL) | [Illinois Department of Commerce and Economic Opportunity](https://www2.illinois.gov/dceo/WorkforceDevelopment/warn/Pages/default.aspx) | web page, Excel | Covered | 4,891 | 2026-09-25 | 2026-10-03 |
| Indiana (IN) | [Indiana Department of Workforce Development](https://www.in.gov/dwd/warn-notices/current-warn-notices/) | web page | Covered | 1,018 | 2026-09-30 | 2026-10-03 |
| Iowa (IA) | [Iowa Workforce Development Department](https://workforce.iowa.gov/employers/business-resources/warn) | web page, Excel, older files | Covered | 434 | 2026-09-30 | 2026-10-03 |
| Kansas (KS) | [Kansas Department of Commerce](https://www.kansasworks.com/search/warn_lookups/new) | JobLink search | Read, no notices | 0 | — | 2026-10-03 |
| Kentucky (KY) | [Kentucky Career Center](https://kcc.ky.gov/employer/Pages/Business-Downsizing-Assistance---WARN.aspx) | Excel, older files | Covered | 832 | 2026-11-19 | 2026-10-03 |
| Louisiana (LA) | [Louisiana Workforce Commission](https://www.laworks.net/Downloads/Downloads_WFD.asp) | web page, PDF | Scraper broken: TypeError: write() argument must be str, not None | 0 | — | — |
| Maine (ME) | [Maine Department of Labor](https://joblink.maine.gov/search/warn_lookups/new) | JobLink search | Read, no notices | 0 | — | 2026-10-03 |
| Maryland (MD) | [Maryland Department of Labor](https://www.dllr.state.md.us/employment/warn.shtml) | web page | Covered | 1,424 | 2026-10-01 | 2026-10-03 |
| Massachusetts (MA) | [Massachusetts Executive Office of Labor and Workforce Development](https://www.mass.gov/info-details/worker-adjustment-and-retraining-notification-act-warn-layoff-and-closure-updates) | Excel, CSV, older files | Scraper broken: TypeError: write() argument must be str, not None | 0 | — | — |
| Michigan (MI) | [Michigan Department of Technology, Management and Budget](https://www.michigan.gov/leo/bureaus-agencies/wd/data-public-notices/warn-notices) | web page, PDF, JSON | Covered | 116 | — | 2026-10-03 |
| Minnesota (MN) | none known | — | Not covered: no scraper | 0 | — | — |
| Mississippi (MS) | [Mississippi Department of Employment Security](https://mdes.ms.gov/information-center/warn-information/) | PDF |  | 0 | — | — |
| Missouri (MO) | [Missouri Office of Workforce Development](https://jobs.mo.gov/warn/) | web page | Read, no notices | 0 | — | 2026-10-03 |
| Montana (MT) | [Montana Department of Labor and Industry](https://wsd.dli.mt.gov/wioa/related-links/warn-notice-page) | web page, Excel | Not read yet | 0 | — | — |
| Nebraska (NE) | [Nebraska Department of Labor](https://dol.nebraska.gov/ReemploymentServices/LayoffServices/LayoffsAndDownsizingWARN) | web page | Not read yet | 0 | — | — |
| Nevada (NV) | none known | — | Not covered: no scraper | 0 | — | — |
| New Hampshire (NH) | none known | — | Not covered: no scraper | 0 | — | — |
| New Jersey (NJ) | [New Jersey Department of Labor and Workforce Development](https://www.nj.gov/labor/employer-services/warn/) | web page | Not read yet | 0 | — | — |
| New Mexico (NM) | [New Mexico Department of Workforce Solutions](https://www.dws.state.nm.us/Rapid-Response) | PDF | Not read yet | 0 | — | — |
| New York (NY) | [New York Department of Labor](https://dol.ny.gov/warn-notices) | older files, Excel, web page | Covered | 205 | 2026-09-24 | 2026-10-03 |
| North Carolina (NC) | none known | — | Not covered: no scraper | 0 | — | — |
| North Dakota (ND) | [Job Service North Dakota](https://www.jobsnd.com/documents) | PDF | Not read yet | 0 | — | — |
| Ohio (OH) | [Ohio Department of Job and Family Services](https://jfs.ohio.gov/warn/index.stm) | web page, PDF, older files | Not read yet | 0 | — | — |
| Oklahoma (OK) | [Oklahoma Office of Workforce Development](https://www.employoklahoma.gov/Participants/s/warnnotices) | — | Not read yet | 0 | — | — |
| Oregon (OR) | [Oregon Higher Education Coordinating Commission](https://ccwd.hecc.oregon.gov/Layoff/WARN) | Excel, older files | Not read yet | 0 | — | — |
| Pennsylvania (PA) | [Pennsylvania Department of Labor and Industry](https://www.pa.gov/agencies/dli/programs-services/workforce-development-home/warn-requirements/warn-notices) | web page | Not read yet | 0 | — | — |
| Rhode Island (RI) | [Rhode Island Department of Labor and Training](https://dlt.ri.gov/employers/worker-adjustment-and-retraining-notification-warn) | Excel | Not read yet | 0 | — | — |
| South Carolina (SC) | [South Carolina Department of Employment and Workforce](https://scworks.org/employer/employer-programs/at-risk-of-closing/layoff-notification-reports) | web page, PDF | Not read yet | 0 | — | — |
| South Dakota (SD) | [South Dakota Department of Labor and Regulation](https://dlr.sd.gov/workforce_services/businesses/warn_notices.aspx) | web page | Not read yet | 0 | — | — |
| Tennessee (TN) | [Tennessee Department of Labor and Workforce Development](https://www.tn.gov/workforce/general-resources/major-publications0/major-publications-redirect/reports.html) | web page, older files | Not read yet | 0 | — | — |
| Texas (TX) | [Texas Workforce Commission](https://www.twc.texas.gov/data-reports/warn-notice) | web page, Excel, older files | Covered | 7,368 | 2026-09-30 | 2026-10-03 |
| Utah (UT) | [Utah Department of Workforce Services](https://jobs.utah.gov/employer/business/warnnotices.html) | web page | Not read yet | 0 | — | — |
| Vermont (VT) | [Vermont Department of Labor](https://www.vermontjoblink.com/search/warn_lookups/new) | JobLink search | Not read yet | 0 | — | — |
| Virginia (VA) | [Virginia Employment Commission](https://www.vec.virginia.gov/warn-notices) | web page, CSV | Not covered: not run | 0 | — | — |
| Washington (WA) | [Washington Employment Security Department](https://esd.wa.gov/about-employees/WARN) | web page | Not read yet | 0 | — | — |
| West Virginia (WV) | none known | — | Not covered: no scraper | 0 | — | — |
| Wisconsin (WI) | [Wisconsin Department of Workforce Development](https://dwd.wisconsin.gov/dislocatedworker/warn/) | web page | Not read yet | 0 | — | — |
| Wyoming (WY) | none known | — | Not covered: no scraper | 0 | — | — |

## License

The notices are public records: employers file them with a state agency, and the agency publishes the list. The facts in a notice (the company, the place, the dates, the number of workers) are not copyrightable: "facts are not copyrightable" ([Feist Publications v. Rural Telephone Service, 499 U.S. 340 (1991)](https://supreme.justia.com/cases/federal/us/499/340/)). We copy the facts and each row as published, credit the state agency on every notice, link back to its page, and never suggest a state endorses this site. Each state's own website terms were not checked one by one.

## What we keep, and what we leave out

- Kept: the company as the state wrote it, the location, the notice date, the effective date, the number of workers, closure or layoff, temporary, amendment; and the whole row as the state published it ("As published" on each notice).
- Left out of the row: columns about people (contact, phone, e-mail, fax), and the scraper's own note of where it cached the file.
- Left out entirely: rows the transformer cannot read (no company, a date it cannot parse, a count over 10,000 it has no correction for). Each state's count of them is in the import status.

## How we clean it

- Company: as the state wrote it, with one thing taken off: a last parenthesis that is an address. California writes the site into the name ("Constellis, LLC (26123 S. Narbonne Ave.)"); without this, one company would be a dozen. A parenthesis is an address when it starts with a house number followed by a direction, a street word or a numbered street ("26123 S. Narbonne Ave.", "801 W 70th"), ends with a street word after another word (Ave, St, Blvd, Rd, Hwy, Way, Dr, Ln, Pkwy, Ct, Pl, Plaza, Fwy, Walk, Via and the like: "Callaghan Rd."), or is a numbered road ("FM 1960"). Any other parenthesis is part of the name and stays ("DLVR (A Corp)", "Amazon (Western)", "Fiesta Mart (Katy)"). The row as published keeps the name exactly as the state wrote it.
- One company: to put a company's notices together, its name is made into a key: anything after a spaced dash dropped ("Amazon - SF019" and "General Motors, LLC -- Lansing Region" count as Amazon and General Motors), upper case, accents dropped, "&" read as AND, apostrophes dropped, every other mark a space, a run of single letters joined (L.L.C. becomes LLC), a leading THE and anything after DBA dropped, legal endings dropped from the end (INC, LLC, LLP, LP, CORP, CORPORATION, CO, COMPANY, LTD and a few more). Notices whose keys are the same are one company; the name shown is the spelling used most.
- Dates and counts: as warn-transformer reads them, with its per-state corrections of known typos. A notice is listed by its notice date; without one, by its effective date; never later than the day this site first read it.
- Place, kind and temporary: as warn-transformer reads them. Where it leaves one unsaid, the state's own row is read: the place from its first city column, else its county, else its address or location; closure or layoff, temporary or permanent, from a column named for the layoff, closure or type (California's "layoff_or_closure" says "Layoff Permanent" on rows the transformer leaves unmarked).
- Workers in company totals: every notice, except those marked as amendments (an amendment usually restates an earlier notice).
- One notice here is one row of the state's list: a notice that covers several sites can be several rows (New York lists each site with its own count). A row the state lists twice, word for word, is kept once. Each notice's id is its state and a hash of its fields and its row as published; if a state edits a row, the edited one gets a new id and the old one is removed on the next read.
- A state's notices that drop off its list are removed on the next read, unless that read found less than half as many as before (then nothing is removed, and the state is marked so).

## What the numbers are not

- Not every layoff: smaller layoffs need no notice, and some employers that should file do not.
- Not people laid off: a notice says how many workers the employer expected to affect, before it happened.
- Not complete across states: coverage depends on what each state publishes and for how long; the table above says what is here.
