Crawlify

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.

A job-listing card split down the middle: on the left a translucent ghost overlay with a red STALE stamp, on the right the same listing with a green verification badge showing a verifier ID and timestamp.

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

Ontario's Working for Workers Act (effective January 1, 2026) requires employers with 25 or more staff to disclose whether a posted vacancy is real or anticipated, notify interviewed candidates within 45 days of a hiring decision, disclose AI use in screening, and retain hiring records for three years. Penalties run up to $100,000 CAD, enforced by the Ministry of Labour.

Varun Patel

Varun Patel

Founder & CEO of Crawlify

Varun Patel is the CEO of Xillentech and the founder of Crawlify.ai. He writes about managed data pipelines, web-data quality, and the operational realities of running data products.