| ▲ | 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. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | 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. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | 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? | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | 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 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. | |||||||||||||||||||||||