Key takeaways
Ghost jobs are real and measurable. On 2026-09-16 our index held 147,565 active job postings, and 44,951 of them, 30.5%, carried at least one structural ghost-job signal: a listing that has sat open for months, or one the same company has posted over and over. That does not make a third of jobs fake. It makes a third worth verifying before you spend an hour applying.
Why ghost listings keep multiplying
A job posting is cheap to leave up and almost free to repost. Once it exists, aggregators and search engines syndicate it across a dozen sites that never expire on their own. The incentive structure points one way. A company loses little by keeping a role listed after it stops hiring, and gains a steady stream of resumes for later. The cost lands entirely on the candidate, measured in hours spent on applications no one reads.
This is the same dynamic playing out everywhere in hiring right now. Candidates mass-apply with AI, employers drown in volume and leave listings up, and the signal that a posting is real gets weaker every cycle. The defense is not to apply to fewer jobs out of fear. It is to spend your effort on the listings that are actually open.
What the data shows
Four-Leaf maintains an index of live job postings pulled directly from company career pages across six applicant-tracking platforms. On 2026-09-16 it held 147,565 active postings from 1,180 companies. The count moves week to week as roles open and close, so every figure below is a snapshot of that date rather than a permanent number.
44,951 of those postings, 30.5%, carried at least one structural ghost-job signal. Two measurable patterns define that, and only two: a posting live for more than 60 days, or a role the same company has listed 5 or more times. Read the number carefully. It does not mean a third of jobs are fake. It means a third are worth a second look before you spend an hour applying.
Roles that sit open for months. 26,268 active postings, 17.8%, had been live for more than 60 days and were still listed. 11,847, 8.0%, had been live past 120 days. Some hiring is genuinely slow, especially for senior and specialized roles. But a posting that has been open for four months with no urgency in the language is more often building a pipeline than filling a seat.
The same role, posted over and over. 1,342 distinct roles appeared 5 or more times at the same company, and 310 of those appeared 12 or more times, accounting for 20,912 postings between them. Repeated postings can reflect a real, recurring backfill need. They can also be an always-open listing that collects applicants indefinitely. The pattern alone does not tell you which, but it tells you to check.
Apply links that lead nowhere. Aggregator and search reposts routinely outlive the job itself, and a listing whose apply button returns a "page not found" on the employer's own site is a role that closed while the repost kept circulating. We check apply-link liveness one posting at a time rather than across the index, so there is no share to report here, and it stays out of the 30.5% above. It is the strongest single signal in the set when it does fire. A live link is not proof a job is real, but a dead one is close to proof it is not.
None of these prove a posting is fake. Each one is a reason to verify before you invest real time.
One limit worth stating. The 30.5% counts two structural signals and nothing else. It does not read the language of an ad, which is the part of the check that catches vague filler, evergreen wording and outright scam patterns. That reading runs on one listing at a time and has never been run across the index, so we have no index-wide share of it and are not implying one. The real number of postings worth a second look is therefore higher than 30.5%, not lower. The dataset is published with its definitions and the query that produces every figure.
Why applying to everything stopped working
The standard advice is volume. Apply to as many roles as you can, apply within 24 hours, let the numbers work. That advice made sense when a posting reliably meant an open seat. It does not hold when a third of listings show ghost signals and a chunk of them are dead on arrival.
Spraying applications across unverified listings is how you end up with 200 submissions and four replies. The candidates who do better are not applying more. They are applying to fewer, better-verified roles and putting the saved hours into actually preparing for the ones that are real. Score the posting first. Then decide whether it earns your time.
How to spot a ghost job yourself
You can read most of these signals without any tool. The full checklist walks through each one with the red flags and the good signs side by side.
- Check the age. If the listing shows a post date, see how old it is. A months-old role with no urgency is worth questioning.
- Find it on the company's own career page. A real, current role is almost always on the employer's official site. If it lives only on aggregators, be cautious.
- Click the apply link before you invest. A dead link, or one that dumps you on a generic listings page instead of the specific role, usually means the job is gone.
- Read for specifics. Real postings name a team, a manager, concrete projects, and clear requirements. Vague filler and "always hiring" or "building a talent pipeline" language point to a resume collector.
- Watch for off-platform contact and personal-info requests. A legitimate employer does not ask for your ID or bank details up front, or move you to a personal messaging app. That is a scam signal, not just a ghost-job one.
Or check it in seconds
A few of these signals you cannot see from a single listing at all, like how long a role has been reposted across cycles. We built a free tool that does the full read for you. Paste a job link or the description into the ghost job checker and it returns a quick read on whether the posting looks like a real, active opening or shows ghost-job signs, plus the signals it found. For links from a company career page it adds posting age and repost history from our index. For a pasted description it flags vague, evergreen, or scam language. No account needed.
It reports signals, not certainty. A clean result means nothing obvious stands out, not that the job is guaranteed real. Always confirm a role is active before you share personal information or sink hours into an application.
Where this is heading
Ghost listings will not correct themselves. The economics favor leaving roles up, and syndication guarantees a dead posting keeps circulating long after the job is filled. That puts the burden of telling real from ghost on the person with the least information, the applicant.
The shift worth making is small but it changes everything about how a search feels. Stop treating every listing as a real opening you are lucky to find. Treat it as a claim to verify. Spend thirty seconds checking before you spend an hour applying, and put the hours you save into the roles that are actually open.