APProjects/warn-act-notices
0
1<!doctype html><html lang="en"><head><meta charset="utf-8">2<!-- og:begin -->3<meta property="og:title" content="Search WARN notices — free US layoff notice lookup">4<meta property="og:description" content="Type an employer name and instantly search 29,970 employers / 61,428 US WARN Act layoff notices since 1988. Free, no login, from official state filings, updated daily.">5<meta property="og:url" content="https://approjects-warn-act-notices.static.hf.space/search.html">6<meta property="og:image" content="https://approjects-warn-act-notices.static.hf.space/assets/og-card.png">7<meta name="twitter:card" content="summary_large_image">8<!-- og:end -->9 10<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://cdn.jsdelivr.net; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self' https://app.gumroad.com; upgrade-insecure-requests">11 12<meta name="viewport" content="width=device-width,initial-scale=1">13<title>Search WARN notices — free US layoff notice lookup</title>14<meta name="description" content="Type an employer name and instantly search 29,970 employers / 61,428 US WARN Act layoff notices since 1988. Free, no login, from official state filings, updated daily.">15<link rel="canonical" href="https://approjects-warn-act-notices.static.hf.space/search.html">16<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"US WARN layoff notices","potentialAction":{"@type":"SearchAction","query-input":"required name=search_term_string","target":{"@type":"EntryPoint","urlTemplate":"https://approjects-warn-act-notices.static.hf.space/search.html?q={search_term_string}"}},"url":"https://approjects-warn-act-notices.static.hf.space/"}</script>17<style>body{font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif;max-width:900px;margin:2rem auto;padding:0 1rem;color:#1a1a1a;line-height:1.5}18table{border-collapse:collapse;width:100%;margin:1rem 0}th,td{border:1px solid #ddd;padding:6px 9px;text-align:left;font-size:.92rem}19th{background:#f5f5f5}td.r,th.r{text-align:right}20/* c251 (site review rec 7): the search box is the best customization surface on21 the site and used to dead-end at data. Every result now carries a route to the22 paid watch, pre-addressed to that employer. Tap target >= 44px on phones. */23a.watchbtn{display:inline-block;min-height:24px;padding:5px 12px;border:1px solid #b02a1f;border-radius:5px;24color:#b02a1f;text-decoration:none;font-weight:600;font-size:.86rem;white-space:nowrap}25a.watchbtn:hover{background:#b02a1f;color:#fff}26p.watchcta{margin:1.2rem 0;padding:14px 16px;background:#fdf3f2;border-left:4px solid #b02a1f;border-radius:0 6px 6px 0}27@media (max-width:560px){a.watchbtn{padding:11px 14px;min-height:44px;line-height:22px}28th,td{padding:8px 6px;font-size:.86rem}}29input[type=search]{width:100%;box-sizing:border-box;font-size:1.1rem;padding:.6rem .8rem;border:2px solid #0b5fa5;border-radius:8px}30.cta{background:#fffbe6;border:1px solid #e6d87a;border-radius:8px;padding:.8rem 1rem;margin:1.2rem 0}31a{color:#0b5fa5}.crumb{font-size:.85rem;color:#666}.note{font-size:.85rem;color:#666}#stat{color:#666;font-size:.9rem;margin:.5rem 0}.cta .ctap{margin:.45rem 0 .9rem}.btn{display:inline-block;background:#b02a1f;color:#fff;text-decoration:none;font-weight:600;padding:12px 20px;min-height:44px;line-height:20px;border-radius:6px;box-sizing:border-box}.btn:hover{background:#8e2118}.btn.ghost{background:#fff;color:#b02a1f;border:1px solid #b02a1f;margin-left:8px}.btn.ghost:hover{background:#fdf3f2}.btnnote{display:block;font-size:.85rem;color:#555;margin-top:.6rem}@media (max-width:520px){.btn{display:block;text-align:center}body{margin:1rem auto}table{font-size:.85rem}}</style></head><body>32<p class="crumb"><a href="https://approjects-warn-act-notices.static.hf.space/">US WARN layoff notices</a> › Search</p>33<h1>Search WARN layoff notices</h1>34<p>Instant lookup across <b>29,970 employers</b> (61,428 notices since 1988) from official state WARN Act filings, normalized and updated daily. The free files carry no delay — every notice is published the day the pipeline sees it.</p>35<input type="search" id="q" placeholder="Employer name — e.g. Boeing, Kaiser, Intel…" autocomplete="off" autofocus>36<p id="stat"></p>37<div id="results"></div>38<noscript><p>This search needs JavaScript. Without it: <a href="employers/index.html">browse employers A–Z</a> or grab the <a href="https://github.com/APVentureEngine/warn-act-notices">raw CSV/JSON on GitHub</a>.</p></noscript>39<p class="note">Matches company names and known DBA aliases. Employers with one small notice link to their state page. Source: the free40<a href="https://github.com/APVentureEngine/warn-act-notices">US WARN notices dataset</a> (CSV/JSON, no login, no delay). WARN notices are advance notifications; counts and dates can change after filing.</p>41<div class="cta"><b>Only care about certain employers or states?</b><p class="ctap">Paste your list into the free checker and see every match from the last 180 days in your browser — no account, no email, nothing sent anywhere. WARN Watch is the paid version that runs the same list against every daily refresh for you and posts new matches to a private alert page, an RSS feed and a Slack or Teams webhook.</p><a class="btn" href="https://approjects-warn-act-notices.static.hf.space/watch-now.html">Check your employers now — free, no signup</a><a class="btn ghost" href="https://approj.gumroad.com/l/warn-free-watch">Have them watched — free for 30 days</a><span class="btnnote">The trial needs no card. After it <a href="https://approjects-warn-act-notices.static.hf.space/watch.html">WARN Watch</a> is $49 for a year — one payment, no auto-renew, 14-day refund. The data itself — every notice back to 1988 — stays free either way.</span></div>42<script>43(function () {44 var idx = null, loading = false, waiting = null;45 var box = document.getElementById('q'), out = document.getElementById('results'),46 stat = document.getElementById('stat');47 function norm(s) { return s.toLowerCase().replace(/[^a-z0-9]+/g, ' ').replace(/^ +| +$/g, ''); }48 function esc(s) { return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); }49 function load(cb) {50 if (idx) { cb(); return; }51 waiting = cb;52 if (loading) return;53 loading = true;54 fetch('data/search-index.json').then(function (r) { return r.json(); }).then(function (d) {55 for (var i = 0; i < d.length; i++) d[i].push(norm(d[i][0]));56 idx = d; if (waiting) waiting();57 }).catch(function () {58 stat.textContent = 'Search index failed to load — use the A–Z employer browse below.';59 out.innerHTML = '<p><a href="employers/index.html">Browse employers A–Z</a></p>';60 });61 }62 function run() {63 var q = norm(box.value);64 if (q.length < 2) { out.innerHTML = ''; stat.textContent = ''; return; }65 load(function () {66 var hits = [];67 for (var i = 0; i < idx.length; i++) {68 var e = idx[i], n = e[7], score = -1;69 if (n.indexOf(q) === 0) score = 0;70 else if (n.indexOf(' ' + q) >= 0) score = 1;71 else if (n.indexOf(q) >= 0) score = 2;72 else if (e[6] && e[6].indexOf(q) >= 0) score = 3;73 if (score >= 0) hits.push([score, -e[3], i]);74 }75 hits.sort(function (a, b) { return a[0] - b[0] || a[1] - b[1] || a[2] - b[2]; });76 stat.textContent = hits.length ? hits.length.toLocaleString() + ' of ' + idx.length.toLocaleString() +77 ' employers match' + (hits.length > 50 ? ' (showing top 50)' : '') :78 'No match in the free tier — try a shorter fragment.';79 var rows = '';80 for (var k = 0; k < Math.min(hits.length, 50); k++) {81 var e = idx[hits[k][2]];82 rows += '<tr><td><a href="' + e[5] + '">' + esc(e[0]) + '</a></td><td>' + esc(e[1]) +83 '</td><td>' + (e[2] || '—') + '</td><td class="r">' + (e[3] ? e[3].toLocaleString() : '—') +84 '</td><td class="r">' + e[4] + '</td>' +85 '<td class="r"><a class="watchbtn" href="watch-now.html?q=' + encodeURIComponent(e[0]) +86 '" title="See this employer's last 180 days of notices now, free, no signup">Check</a> ' +87 '<a class="watchbtn" href="watch.html?e=' + encodeURIComponent(e[0]) +88 '" title="Get an alert the day this employer files again">Watch</a></td></tr>';89 }90 out.innerHTML = hits.length ? '<table><tr><th>Employer</th><th>State(s)</th><th>Latest notice</th>' +91 '<th class="r">Workers</th><th class="r">Notices</th><th class="r">Check / alerts</th></tr>' + rows + '</table>' +92 '<p class="watchcta">These are notices already filed. <b>Check</b> opens the <a href="watch-now.html">free checker</a> with that employer ' +93 'pre-filled — no signup. <a href="watch.html">WARN Watch</a> tells you the day a new one lands for the employers or states you pick — free for 30 days, no card.</p>' : '';94 });95 }96 box.addEventListener('input', run);97 box.addEventListener('focus', function () { load(function () {}); });98 var m = /[?&]q=([^&]+)/.exec(location.search);99 if (m) { box.value = decodeURIComponent(m[1].replace(/\+/g, ' ')); run(); }100})();101</script>102<img src="https://cdn.jsdelivr.net/gh/APVentureEngine/warn-act-notices@main/assets/px.png" alt="" width="1" height="1" referrerpolicy="no-referrer" style="position:absolute;left:-9999px;top:0">103<script id="fl">if(top!==self)for(var a of document.links)if(a.origin!==location.origin){a.target="_blank";a.rel="noopener"}</script>104</body></html>