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.
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.
reply