Career Advice

How to Spot a Ghost Job Before You Waste the Application

Adam Ross ·

How to Spot a Ghost Job Before You Waste the Application

New York just passed a law that tells you exactly how employers think about their own job postings.

Senate Bill S8877, approved by both chambers in June and sitting on the governor's desk as of late July, would force any employer with 100 or more staff to label every posting with one of three statements: we intend to fill this in 90 days or less, we intend to fill it in more than 90 days, or we do not expect to fill it and are collecting resumes for later. Postings have to come down within two weeks of a hire. Fines start at $2,500 per posting and double every 30 days the violation stands.

Read those three labels again. That is the entire taxonomy of ghost jobs, written by the people who post them. The law isn't live yet, and it only covers New York. But the test it describes is one you can run yourself, on any posting, in about two minutes.

This post is the how. If you want the why, including Greenhouse's finding that 18 to 22 percent of postings on its own platform never fill, that's the companion piece. Here we assume you already believe ghosts exist and just want to stop applying to them.

What is a ghost job, in practical terms?

Forget the debate about intent. For your purposes, a ghost job is any posting where no human is going to read your application and act on it this month.

That covers three different animals, and the New York labels map onto them cleanly:

The real one. A budgeted seat, a hiring manager with a start date in mind, a recruiter working the pile this week. The law would label it "90 days or less." Most of your applications should go here.

The slow one. Approved in principle, not in practice. Headcount that unlocks next quarter, a "we'll hire when we find the right person" req. Label: "more than 90 days." Worth a low-effort application, not your best hours.

The resume collector. Nobody is being hired. The posting exists to build a pipeline, signal growth, or satisfy a policy. Label: "not expected to be filled." Applying here is donating your evening.

The problem is that today all three wear the same outfit on the job board. The tells below are how you tell them apart before the law makes employers do it for you.

What are the tells that a posting is a ghost?

No single tell is proof. Real roles sometimes get reposted; ghost roles sometimes have a fresh date. The method is to stack them. Each tell below carries a weight, and the table at the end turns the stack into a decision.

1. It's been reposted, and the board is telling you so

"Reposted 3 weeks ago" is the single most useful string on a job board, and most people scroll past it. A repost means the posting expired and someone renewed it. Once is normal. Repeatedly, over months, means the pile filled up and nobody was hired from it.

Why this matters beyond ghosts: even on a real role, the odds are front-loaded. StartWire's placement data found half of hires went to people who applied in the first week, which is the whole argument of why the first 24 hours decide your odds. A repost resets the date but not the pile.

2. The applicant count is huge and the posting is still up

"Over 100 applicants" in the first day is now normal. Greenhouse's March 2026 Benchmark Report puts the average North American posting at 244 applications. So the count alone isn't a tell.

The tell is the count combined with age. A posting with 500+ applicants that's still live after six weeks means one of two things: the team has been interviewing for six weeks and hasn't found anyone among 500 people, or nobody is interviewing. The second is far more common.

3. The description fits three levels at once

A real req was written for a budget line and reads like it: one level, one team, one concrete problem. "Senior/Staff/Principal Engineer" with "3 to 12 years of experience" was written to catch resumes, not to fill a seat. The more a description tries to include everyone, the less anyone was planning to hire from it.

4. There's no team, no manager, no product named

"Join our world-class engineering organization" tells you nothing because there's nothing to tell. A hiring manager who actually needs someone writes "Backend Engineer, Billing" or "Software Engineer, Fraud & Identity," because that's the person they're picturing. Compare the team-level specificity on the boards in our fintech teams hiring right now audit with a generic evergreen req. The difference is visible from across the room.

5. The same posting lives at the same company forever

Some companies keep "Software Engineer" permanently open for roles they fill maybe once a year. Search the title plus the company name and look at the dates on the results. If you can find the same posting cached from four months ago with the same job ID, you're looking at a pipeline, not a position.

6. Nothing else at the company is moving

Real openings have siblings. A team that's hiring one engineer is usually hiring two, or just hired two, or has a manager posting about the team on LinkedIn. Check the company's careers page for other roles on the same team, and check whether recent hires are showing up. One isolated evergreen engineering req at a company that hasn't announced a hire in two quarters is a resume collector.

7. The posting has no close date and no process

A real req has a process behind it, and the posting usually leaks it: "interviews begin the week of," "we're looking to have someone start by," a named recruiter, a close date. Ghost postings are timeless because there's no timeline to leak.

8. It's on an aggregator but not on the company's own site

Aggregators scrape career pages and keep listings alive after the company has taken them down. Before applying anywhere, find the posting on the company's own careers page or ATS. If it isn't there, it isn't anywhere.

9. It's "verified," and you think that settles it

It doesn't. LinkedIn's own help page spells out what its verification badge means: the company has a verified page and the poster has confirmed they work there. In LinkedIn's words, applying to a verified job "does not mean you are more likely to be hired." The badge verifies the poster, not the opening. Greenhouse's verified badge is similar: it signals a company committed to certain hiring-process standards, not that any specific req is funded. Treat "verified" as ruling out scams, not ghosts.

The badge trap. Verification badges were built to fight fraud: fake recruiters, phishing postings, identity theft. They were not built to confirm that a budget exists. A verified company can post a resume-collector req with a verified recruiter's name on it, and nothing about the badge breaks.

How do you score a posting in two minutes?

Run this on any posting you're about to spend real effort on. Add the points for each tell that's present.

Tell Points What to check
Reposted more than once, or first posted 30+ days ago 3 The "Reposted" or "Posted" line on the board
300+ applicants and still live after 4 weeks 2 Applicant count next to the posting age
Spans two or more levels, or a 5+ year experience range 2 Title and requirements block
No team, manager, or product named 2 Description
Same job ID or identical text findable from 3+ months ago 3 Search the title + company, check dates
No other open roles on the same team 1 Company careers page
No close date, start date, or named recruiter 1 Description and application form
Not findable on the company's own careers page 3 Company site or ATS
Relying on a "verified" badge as your only evidence it's real 1 Your own reasoning

0 to 2 points: treat it as real. Apply today, and apply properly.

3 to 5 points: treat it as slow. Apply, but don't tailor for an hour. A solid ATS-proof resume and a two-line note is the right spend.

6 or more: treat it as a resume collector. Skip it, or send the generic version and move on without checking back.

The weights are opinionated, not scientific. The point is that reposting, age, and "not on the company site" carry the most weight because they're the closest thing to direct evidence that nothing is happening. Vague copy is suggestive; a four-month-old job ID is a receipt.

What should you do when a posting scores high?

Three options, in order of usefulness.

Go around it. If the company looks like somewhere you'd actually want to work, the ghost posting is still information: it tells you which team is nominally growing. Find an engineer on that team and ask a specific question about the work. A real conversation beats a pipeline submission, and if a seat opens, you're already a name.

Time-box it. Some roles are worth a lottery ticket. Give them the ticket, not the evening. Generic resume, no cover letter, no follow-up, no emotional investment. If it surprises you, great.

Spend the saved hours on fresh postings. This is where the math pays off. Every hour you don't spend tailoring for a resume collector is an hour you can put into a posting that's eight hours old, where the pile is still small and someone is still reading. The same energy, pointed at the roughly four in five postings that are real and the first week when they're reachable, changes your hit rate more than any resume trick.

Why does this get easier from here?

Because the information gap is closing, and from the employer side.

If New York's bill is signed, every large employer posting into that state has to pick a label, and the label follows the posting onto the third-party boards. Pennsylvania's proposed Ghost Job Postings Prevention Act goes further: employers would have to state whether the vacancy exists or is anticipated, give a hiring timeline, and disclose how many times the role has been posted in the past year. New Jersey and California have similar bills in progress. Once one large state forces the disclosure, the boards build the field, and the field shows up everywhere.

Until then, you're running the disclosure yourself. The tells above are just the questions the law is about to ask on your behalf.

We built ApplyIn around the other half of this problem: finding the postings that are hours old, on the company's own board, and getting a real application in while the pile is still small. Automated or not, that's the search that works.

Search fresh postings only

FAQ

How old is too old for a job posting?

Past 30 days, assume the first wave of candidates has already been screened and you're competing for leftovers at best. Past 60 days with a repost, assume it's a pipeline unless you can find direct evidence of active interviewing, like a recruiter posting about the role this week. The best use of a stale posting is as a pointer to a team, not as a form to fill out.

Is a reposted job always a ghost job?

No. Roles get reposted when a finalist declines, when the posting expires on a 30-day cycle, or when the scope changes. One repost is noise. The pattern to worry about is repeated reposts over months with the same text and the same job ID, especially when the company's other roles are filling normally around it.

Does a "verified" badge mean the job is real?

It means the company and the poster are who they say they are. LinkedIn's own documentation says the badge doesn't make you more likely to be hired, and it doesn't verify that the role is funded or actively being filled. Use the badge to rule out scams, then run the ghost checks anyway.

Should I stop using job boards entirely?

No, but flip how you use them. Boards are good at telling you a posting exists and bad at telling you whether it's real. Use the board to discover, then confirm on the company's own careers page, check the age and applicant count, and score it. Applying on the company's site also gets you out of the aggregator's lag, which is where a lot of zombie listings live.


The reason ghost jobs are so demoralizing isn't the wasted hour. It's the silence after, which you read as a verdict on you. It wasn't a verdict. There was nobody on the other end. Check first, and the silence stops meaning anything.