By Varun Patel, Founder & CEO of Crawlify | Aug 19, 2026 | 12 min read
Compliance-Grade Job Data: Anti-Ghosting Laws Just Made Verification a Legal Requirement
Ontario's anti-ghosting law is live. New York's S8877 passed the Senate. The compliance burden lands on the data pipeline, not the UI. Here's the audit trail a regulator now requires.

TL;DR — On January 1, 2026, Ontario made ghosting job candidates illegal. Seven months in, the enforcement reality is clear: the compliance burden doesn't land on the recruiter's inbox. It lands on the data pipeline. New York's S8877 passed the Senate 39–19 in April. Pennsylvania introduced its own bill in March. A federal bill sits in committee with $2,500-per-violation penalties. Every posting now needs a provenance trail — when it was published, whether the role was real at the time, and whether candidates were notified within the statutory window. A verifier ID and timestamp per record isn't a data-quality nicety anymore. It's the audit artifact a Ministry of Labour can request, and the sector has no shared answer for producing one.
The legislation tracker
Coverage of the Ontario shutdown-of-the-status-quo has mostly been vague on specifics, which is a problem, because the specifics are what determine whether a job board's existing pipeline can survive an audit.
| Jurisdiction | Bill / law | Status | Key requirement | Penalty |
|---|---|---|---|---|
| Ontario, CA | Working for Workers Act (Bill 190) | Live Jan 1, 2026 | Disclose real vs. anticipated vacancy; 45-day candidate notification; AI-use disclosure | Up to $100,000 CAD; Ministry of Labour enforcement |
| New York | S8877 | Passed Senate Apr 28, 2026 (39–19) | Hiring-timeline disclosure; prohibits posting non-existent positions | Civil penalties per violation |
| California | AB 1251 | In committee | Disclosure of whether a position is currently open; posting-date transparency | TBD |
| Pennsylvania | Ghost Job Postings Prevention Act | Introduced Mar 2026 | Remove postings within a specified window after a role is filled | TBD |
| New Jersey | A1161 | In committee | Posting-status disclosure | TBD |
| Federal (US) | TJAAA | In committee | $2,500 per infraction; 50+ employee threshold; DOL + FTC enforcement | Up to $2,500 per violation |
| Illinois | HB 3129 | Signed into law, Aug 2025 | AI-in-evaluation disclosure; posting-status requirements | Civil penalties + private right of action |
Sources: state and provincial legislature records; Forbes, May 2026; Hampton Global Business Review; FastApply; employment-law analysis, August 2026.
Read down the "status" column and the pattern is a one-way ratchet. Two jurisdictions are already live. Four more are moving through committee or a chamber vote. None have reversed course. A job board or aggregator operating across US states and Ontario cannot wait for a single settled standard — it needs a data model that already produces the fields the strictest current law requires, because the strictest current law is the floor, not the ceiling, for what comes next.
The ghost-job numbers — what's verified and what isn't
Every ghost-job headline compresses a range into a single scary number. The honest version keeps the range and states the methodology, because the methodology is where the number's limits live.
- 27.4% of US LinkedIn listings look like ghost jobs by one widely cited measure: postings live for more than 30 days, classified as "likely ghost." Canada comes in at 24.9%, the UK at 14.2%, and Los Angeles — the highest single city measured — at 30.5%. (ResumeUp.AI, September 2025, reported by Entrepreneur, September 3, 2025. This is a proxy measurement, not a ground-truth count.)
- 36–40% of employers admit, in survey research, to posting jobs with no real intention of filling them. (Multiple 2024–2025 surveys, including Clarify Capital, Resume Genius, and MyPerfectResume; self-report data, sample sizes ranging roughly 600–1,000.)
- Hires per posting fell from 8-in-10 in 2019 to 4-in-10 in 2024 — a 50% collapse in posting productivity. (Columbia Law Review JOLTS analysis, November 2025.)
- 9 hours is the average time job seekers spend per ghost-job application cycle, aggregated across 4.4 million applications. (Jobright.ai, 2025 — a vendor study, but a large sample.)
- 40% of surveyed HR managers keep listings open after a hire to build a "talent pipeline" for future roles — the single most common admitted reason for a ghost posting. (Resume Genius / MyPerfectResume surveys, 2024–2025.)
The 27.4% figure uses ">30 days live" as a proxy for ghost status. That catches genuinely stale listings, but it also catches roles that are legitimately hard to fill — a specialized engineering req or a rural healthcare posting can sit open for months for reasons that have nothing to do with employer intent. The honest floor is somewhere above 0% (employers admit to 36–40% of postings not being genuine) and the honest ceiling is somewhere below 40% (not every old listing is fake). Present the range. Don't lead with whichever end makes the best headline.
What compliance actually requires from the pipeline
This is the artifact that makes the legislation tracker actionable: a compliance-requirements schema, mapping each law's obligations to the data fields a pipeline has to produce.
| Requirement | Ontario (live) | NY S8877 (pending) | Federal TJAAA (pending) |
|---|---|---|---|
| Real vs. anticipated vacancy | Required at time of posting | Prohibits posting non-existent positions | Must be a genuine open position |
| Posting timestamp | Implied — needed for the 45-day notification clock | Hiring timeline must be disclosed | Posting must be current; stale listings are a violation |
| Candidate notification | Within 45 days post-interview | Timeline disclosure required | Notification required post-decision |
| AI-use disclosure | Required if AI is used in screening | Related to NYC Local Law 144 | Not specified |
| Record retention | 3 years | TBD | TBD |
| Pay transparency | Required (salary range or expected compensation) | NYC already requires it; S8877 extends the principle | Not specified |
| Pipeline artifact needed | Verifier ID + timestamp per record; posting-lifecycle log; ATS cross-check | Posting-status verification + hiring-timeline log | Source verification per listing + stale-posting detection |
Look at the bottom row. Three different legal regimes, three different drafting histories, and the same underlying requirement each time: a record that proves, per listing, when it went live, whether it was real, and what happened to the candidates who applied. None of that is a UI feature. It's a schema, and it's a schema most job-data pipelines were never built to produce, because until January 1, 2026, nobody had to.
Five cross-checks that catch ghosts
A single-feed scraper delivers listings. A correlated pipeline delivers intelligence — and, as of this year, compliance evidence. These five cross-checks are what separates the two.
Posting × ATS source check. This is the definitive ghost-job test. A listing that exists on Indeed or LinkedIn but reads "closed" on the employer's own career page is a ghost, full stop. Crawlify's audit of climate-sector job boards found Rivian listed with roughly 529 aggregator postings against a single open requisition on its own ATS; First Solar showed 243 aggregator postings against zero live reqs. Only a pipeline that checks both sources and correlates the result can make that call — pattern-matching on the aggregator side alone cannot.
Posting × posting history. This catches the repost trick: an employer closes a listing at day 28 and reopens an identical one at day 1 to reset the clock on any ">30 days" ghost heuristic. Without lifecycle tracking across postings, the reset is invisible — each individual listing looks fresh.
Posting × pay-transparency jurisdiction. A listing without a salary range violates New York City's pay-transparency law. The identical listing in Texas doesn't. Fourteen-plus US states now have some form of pay-transparency requirement, which means a single job posting can be compliant in one place and a violation in another — a determination that requires joining posting data with jurisdiction-specific rule data, not reading the posting in isolation.
Posting × hiring-activity signals. Postings from a company with flat headcount for six-plus months are a ghost-job indicator on their own. Correlating postings against LinkedIn headcount changes, press releases, and SEC filings produces a signal that single-feed scraping structurally cannot generate, because it requires data the job posting itself never contains.
Aggregator listing × employer ATS endpoint. The Rivian/First Solar pattern, systematized: the same role appears on Indeed, LinkedIn, Glassdoor, ZipRecruiter, and several niche boards, each with a slightly different title, description, salary range, and posting date. Deduplicating that requires source-level cross-referencing — matching the listing back to one employer ATS record — not text similarity matching across the aggregator copies.
Back-to-school hiring season is here. If your job data can't survive a regulator's audit, it can't survive the next 12 months. Get a verified sample of your own feed cross-checked against employer career pages. crawlify.ai/pilot · hello@crawlify.ai.
The vendor landscape
The question worth asking any job-data vendor right now: does any of them publish a field-level accuracy SLA, or describe their verification methodology in public?
| Vendor | Postings | ATS cross-check | Lifecycle | Pay-trans check | Accuracy SLA | Gap |
|---|---|---|---|---|---|---|
| LinkUp / GlobalData | Direct source | Inherent, sourced from ATS | Limited | No | No | No pay-transparency check; no published SLA |
| Coresignal | Yes | No | No | No | No | Raw data only; no verification layer |
| Lightcast | Yes | Partial | Yes | No | No | No pay-transparency check; no field-level SLA |
| Revelio Labs | Yes | Partial, profile correlation | No | No | No | Workforce analytics, not compliance-grade |
| Indeed / LinkedIn | 1st party | Internal only | Internal | Partial | No | Platform-walled; no external audit feed |
| Crawlify | Yes | Yes | Yes | Yes | 99.5% | Full correlation + published SLA |
Every product in that table is competent at what it does. LinkUp sources directly from ATS platforms, which is a real advantage. Lightcast tracks posting lifecycle better than most. None of them publish a contractual, field-level accuracy number, and none of them join the posting to the pay-transparency rule for the jurisdiction it was posted in. That join is exactly what a regulator asks for, and it currently exists nowhere as a productized feed.
The alt-data angle: ghost listings as economic noise
Job-posting data is the single most widely used alternative-data signal for revenue prediction and macro labor-market analysis. Ghost listings inject noise directly at the source, and the effect compounds downstream.
The JOLTS hires-per-opening collapse — 8-in-10 down to 4-in-10 — may itself be partly an artifact of ghost inflation. The denominator in that ratio is "openings," and if 27–40% of postings are ghosts, the real openings figure is closer to 60–73% of the reported number. That's an inference, not a published measurement, but it follows directly from the two data points above it.
Hedge funds buying job-posting data as a revenue-prediction signal — through LinkUp, Revelio, Coresignal, or Thinknum — are trading on a denominator polluted by an unknown ghost rate. Verified, de-ghosted postings, correlated against actual hiring activity, produce a cleaner signal, and increasingly a more defensible one: alt-data spend keeps climbing (the category sat around $2.8 billion in investment-manager spend in 2025, per Neudata), and the vendors selling into it are starting to face the same "how do you know this is real" question that regulators are now asking employers directly.
What to ask your data vendor
The compliance conversation around ghost jobs has, so far, mostly happened at the level of the individual employer: don't post fake jobs, notify candidates, disclose AI use. That's necessary and it's the easy half. The harder half is that every aggregator, job board, and alt-data buyer sitting downstream of those employers inherited the same obligation the moment the law shifted from "don't lie in your own posting" to "don't distribute a listing you can't verify."
So the question worth putting to any job-data vendor isn't how many listings they carry. It's two questions: can you show, per listing, when it was verified against the employer's own source, and by whom? If the answer is "we scrape it nightly" with no second half, you have volume. Volume was sufficient before January 1, 2026. It is not what Ontario's Ministry of Labour, or the New York Senate, or the federal TJAAA sponsors are asking for now.
Name five employer career pages. We'll cross-check them against your aggregated listings and show you the ghost rate — 5 to 7 business days, $2,500 pilot, no engineering hours on your side. crawlify.ai/pilot · hello@crawlify.ai.
Frequently Asked Questions

