Remix.run Logo
Show HN: WARN Firehose – Every US layoff notice in one searchable database(warnfirehose.com)
116 points by sendkamal 5 hours ago | 14 comments

Hi HN,

I built WARN Firehose because I was frustrated trying to track layoff data across the US. The WARN Act requires companies with 100+ employees to file public notices 60 days before mass layoffs — but the data is scattered across 50 state websites with different formats, broken links, and no API.

WARN Firehose scrapes every state workforce agency daily and normalizes the data into a single database going back to 1988. It now has 131,000+ notices covering 14 million workers.

*What you can do:*

- Browse interactive charts and data tables (no account needed): https://warnfirehose.com/data - Drill into any state, city, company, or industry: https://warnfirehose.com/data/layoffs - Query the REST API (free tier: 100 calls/day): https://warnfirehose.com/docs - Export in CSV, JSON, NDJSON, Parquet, or JSON-LD - Set up webhooks for real-time alerts on new filings

*Who uses this:*

- Journalists breaking layoff stories before press releases - Quant funds using WARN filings as an alternative data signal (filings happen ~60 days before layoffs) - Recruiters sourcing from displaced talent pools - Researchers studying labor market dynamics - Workforce development boards doing rapid response planning

*Tech stack:* Python/FastAPI, SQLite, scrapers for all 50 states, static HTML generation for SEO pages, Claude Haiku for AI analysis, deployed on EC2.

Free tier is genuinely useful (100 API calls/day, dashboard access, charts). Paid plans start at $19/mo for full historical data and bulk exports.

Would love feedback on the API design, data quality, or anything else. Happy to answer questions.

malshe an hour ago | parent | next [-]

This dataset looks interesting but the site doesn’t instill a lot of confidence in data integrity.

On the Charts page the selected time range is 12/01/2025 to 02/28/2026 and shows 106,603 employees affected. But the horizontal bar chart with state level data shows numbers in millions. For example, CA has more than 2 million and IL has more than 1.7 million employees affected. Then the layoff map at the bottom shows only layoffs in Texas.

pdh 26 minutes ago | parent | next [-]

Agreed, this doesn't pass my smell test. November 2026 reports layoffs in NJ (with past tense) https://warnfirehose.com/blog/2026/11/week-1

The layoffs in the report are not listed in NJ's own warn notice https://www.nj.gov/labor/assets/PDFs/WARN/2026_WARN_Notice_A...

csomar an hour ago | parent | prev [-]

You can think about LLM-generated UIs/apps the same way you think about LLM-generated responses. It's a bunch of garbage, but if you know what you're looking for, you might find something useful.

This doesn't seem to work at all for stats-related apps/sites though, since you can't judge the accuracy of what's being presented. If the site claims it'll "take you to space," you don't take that literally, you just treat it as another AI artifact. But with numbers, you have no way to tell what's accurate and what's just made up.

mmooss 18 minutes ago | parent [-]

> It's a bunch of garbage, but if you know what you're looking for, you might find something useful.

If you mean an LLM can be a brainstorming and hypothesis machine, and you have prior expertise to evaluate the proposals, then I can see that value. (Maybe that's what you meant, of course.)

But prior expertise is absolutely necessary. Otherwise we make ourselves victims of mis/disnformation. People say the Internet is a cesspool of mis/disinfo, yet nobody thinks it could affect them - we're all too smart, of course (no really, I'm the exception!). [0]

> This doesn't seem to work at all for stats-related apps/sites though, since you can't judge the accuracy of what's being presented.

I don't see the difference. If it's obvious nonsense, in numbers or in text, it's detectable. Everything else, see above.

[0] Research shows that thinking is a big reason people get fooled, and better educated people are easier to fool.

vicchenai 3 hours ago | parent | prev | next [-]

The quant fund use case is the most interesting angle here. WARN filings have the rare property of being legally mandated with specific timing (60-day advance notice), which makes the signal horizon predictable in a way that most alternative data is not.

The big caveat: compliance is uneven. Companies under 100 employees are exempt, and there is a documented pattern of employers paying WARN Act penalties retroactively rather than filing -- especially in fast-moving situations where 60 days advance notice is operationally inconvenient. So the signal has systematic gaps at exactly the moments of highest market interest.

Have you looked at coverage rates vs. announced layoffs (e.g., correlation with Challenger Gray reports or JOLTS)? That gap number is basically the signal noise floor for any quant strategy built on this data.

mschuster91 2 hours ago | parent [-]

> and there is a documented pattern of employers paying WARN Act penalties retroactively rather than filing -- especially in fast-moving situations where 60 days advance notice is operationally inconvenient.

Oh, I got a solution for that. Don't just go for WARN Act penalties. Go after offenders with the hammer called SEC and market manipulation regulations. That kind of stuff really hurts.

cobertos 3 hours ago | parent | prev | next [-]

Interesting, though a lot of the UI seems broken. For my state I see some notice dates in the future (it's not explained why, if this is when the filing will be executed or if it's an incorrect filing date, as the column is just "Notice Date")

Some of the entries pull up a page that says "Failed to load company data: No company name provided in URL" from the state specific view (e.g, any link on https://warnfirehose.com/data/layoffs/california ). Has a vibe-coded feel to it.

I saw a lot of "Purchase dataset for city details" in places which was annoying. Wondering how much processing is being done on the base dataset to justify the pricing. Could you explain a bit on the normalization/cleaning process?

skadamat 2 hours ago | parent [-]

Definitely vibe coded. It follows the same generic Claude UI patterns for a data app / data oriented website. Not necessarily a bad thing per say if it's still curated and tweaked with human taste. And ofc validated to work :)

nebula8804 3 hours ago | parent | prev | next [-]

Great site thank you. Just curious, I looked up my company(more than 40k employees across the world including many US states) and it seems like I am not seeing the layoffs that colleagues have experienced. This is probably expected as im probably missing some criteria. Do all layoffs have to have a WARN notice or are there mechanisms/criteria that allow companies to lay people off without filing these noticies?

bagels 20 minutes ago | parent | next [-]

If the layoff is small enough, it's not triggered.

jordanb 3 hours ago | parent | prev [-]

Many companies pay severance in lieu of giving notice.

bagels 18 minutes ago | parent | prev | next [-]

Anyone remember this gem from the "dot com" crash? http://fuckedcompany.com/

LowLevelKernel 2 hours ago | parent | prev | next [-]

How do I filter by Company Name?

tgrowazay 4 hours ago | parent | prev [-]

Now we need a usable website that uses this API to show latest layoffs in, for example, CA.