Open workspace
All stories
Job search

Job boards without ghost jobs: what actually keeps a listing honest

Ghost jobs are mostly a plumbing problem. Here is how a board ends up showing a role that closed months ago, and what to check before you trust one.

You apply to something, hear nothing, and later find out the role was filled in June. Sometimes that is an employer keeping a posting up on purpose. Far more often it is plumbing: the board you used is showing a copy of a posting it has no way to check.

Both are worth understanding, because only one of them is something you can avoid by choosing a different source.

The three kinds of ghost job

1. The stale copy. The employer closed the role on their own careers page. The board that copied it never looked again, so the copy persists. This is by far the most common, and it is entirely a sourcing problem.

2. The evergreen requisition. Large employers keep a posting open for a role they hire continuously, or to keep a pipeline warm. The posting is real; the specific opening may not be.

3. The deliberate phantom. A company posts a role it is not filling — to look like it is growing, to gauge the market, or to keep a current team member guessing. Genuinely dishonest, and genuinely rarer than the internet suggests.

A better job board can fix the first completely. It cannot fix the second or third; nothing can, from the outside. Be suspicious of any product that says otherwise.

Why aggregators produce stale copies

An aggregator's job is breadth. It ingests postings from many sources — some by feed, some by scraping, some by resubmission from other aggregators — and the further a posting travels from the employer, the weaker the link back to the truth.

The specific failure is this: a posting disappearing from its source is not an event. It is an absence. To notice it, something has to re-read the source, compare the full list, and conclude that the roles missing from today's list are gone. If a system only ingests what it is sent, nobody ever tells it the role closed, and it keeps showing it.

That is why you see a posting with no date, or a date that is the day the aggregator found it rather than the day the employer posted it.

What to check before trusting a board

Does the apply link go to the employer? Straight to the company's own careers page or applicant tracking system, not an interstitial, not an "easy apply" form the board holds. If the board is standing between you and the employer, it has a reason to keep you there and no reason to tell you the role is gone.

Is there a date, and is it the employer's? "Posted 3 days ago" that never changes is a red flag. So is no date at all.

Does the board say what happens when a role closes? Most say nothing. The ones that have thought about it will tell you.

Where does it say the postings come from? "Thousands of sources" means the answer is: we do not know either.

Does it re-list the same role at three different companies? A sign you are looking at reposted staffing-agency inventory rather than employers.

What a board has to do to avoid the first kind

It has to read each source to the end, every time, and treat absence as a closure.

That sounds trivial and is the whole thing. If a crawl stops halfway — a timeout, a pagination bug, a rate limit — and the system closes every role it did not see, it has just closed roles that are still open. So the read has to be complete or the run has to be discarded. Getting that wrong in one direction leaves ghosts; getting it wrong in the other deletes real jobs.

The second requirement is a genuine first-seen date, recorded the first time a posting appeared in a complete read of its source — not the date the record was written, which can be much later.

How SchoolWhool does it

SchoolWhool's catalogue is built from 285 companies' own career boards, read through the public JSON APIs of the applicant tracking systems those companies use — Greenhouse, Ashby, Lever, SmartRecruiters, Workable and Recruitee. There is no HTML scraping and no aggregator source in the chain.

That has three consequences:

  • Every role links out to the employer's own posting. You apply on their site. SchoolWhool never collects an application and never receives one.
  • A role its board stops returning is marked closed, not deleted. Its history stays; it leaves the feed. If the company reposts it, the listing reopens rather than appearing as a brand-new role, so a repost does not masquerade as fresh hiring.
  • Every listing carries a first-seen date from the first complete read of that board, and "new since last check" is measured against both your own last visit and that board's first successful crawl — so a company being added to the directory does not flood your feed with 200 "new" roles that have been open for a year.

A board is only added to the directory when the provider's own response confirms the company, by name or by its postings. Unverified slugs are not added.

What this does not fix. Evergreen requisitions and deliberate phantoms are indistinguishable from real openings in the employer's own data, so they will appear. A role can also be filled days before its posting comes down. Direct-from-employer sourcing removes the stale copy; it does not give anyone a view into the employer's intent.

Browsing is free and needs no account: see the live roles, or the companies hiring.

Practical habits, whatever board you use

  • Check the employer's own careers page before writing a tailored application. It takes thirty seconds and settles it.
  • Prefer postings with a real date and treat anything over about six weeks old with suspicion.
  • Apply on the employer's site even when a board offers a faster route, so your application is in the system the recruiter actually reads.
  • Do not read silence as a ghost job. Most silence is volume, not deception.

Related: Give your job search a little more direction · Best AI job application tools

Your next chapter starts with you.Make your next move