Indeed ghost jobs: why Indeed scores cleaner than most boards and where its stale postings hide
Indeed's free postings roll off on a timer, which keeps long-open listings rare and makes Indeed one of the cleanest boards on the ghost score. The stale postings that remain are reposts and mass-poster inventory. The Indeed cut of the data, compared with all boards, plus the filters that remove it.
Dvir Atias
Founder, JobsPipe
Indeed has a structural defence against ghost jobs that most boards lack: free postings stop being shown after a fixed window, so a listing nobody maintains disappears on its own. That shows in the data. This post gives the Indeed cut of the JobsPipe ghost score, compares it with all ten boards, explains where Indeed’s stale postings hide, and shows the filter that removes them.
Are there ghost jobs on Indeed?
Yes, but at one of the lowest rates of any board JobsPipe scores. 88.3% of scored active Indeed postings sit in the clean 0-24 band, against 82.3% across all boards. 11.7% score 25 or higher, roughly 1 in 9 postings, and the 50 or higher band is close to empty at <0.5%.
The age figures show the timer at work. 25.1% of active Indeed postings were first sighted more than 30 days ago, but only 4.4% more than 45 days ago. The window retires almost everything in between.
How JobsPipe sights Indeed listings
JobsPipe collects Indeed’s public job listings and records a sighting each time a listing is present on a scheduled pass. Closures on Indeed are detected when a listing reaches the end of its 30-day window rather than continuously, and a closed record carries a closed_reason of stale, meaning the listing left the board without saying why. Indeed’s own status page for a closed listing reads “closed or expired” without saying which, and what that status means is a separate post. Coverage details are on the Indeed source page.
Indeed ghost job signals compared with all boards
| Signal | Indeed | All boards |
|---|---|---|
| No posted salary | 58.5% | 66.9% |
| Mass poster: company has 500+ open roles | 15.5% | 19.2% |
| Reposted: 3+ sightings with a gap of 10+ days | 4.5% | 7.3% |
| Stale posted date: drifts 30+ days from the sighting | 4.5% | 5.8% |
| Open 45 days or more | <0.5% | 1.4% |
| Thin description: under 400 characters | 1.0% | 1.3% |
The row that explains Indeed is the one that is almost empty. Only <0.5% of scored Indeed postings have been open 45 days or more, a fraction of the cross-board share, because a free Indeed posting is typically no longer shown after 30 days and sponsored postings run as long as their budget does. The posting that would have aged into a ghost on another board simply stops being sighted on Indeed.
What Indeed does carry is the mass poster signal on 15.5% of scored postings, which is large employers and staffing agencies running hundreds of openings through the board, and a missing salary on 58.5%, which is below the cross-board share because Indeed prompts for pay and estimates it when the employer does not supply one. The repost share, 4.8% of active postings, is also below the cross-board figure.
Where Indeed’s stale postings hide
Indeed’s timer solves the aged ghost and creates a different artefact: the repost cycle. Because reopening a closed free posting from a previous month requires sponsorship, employers put up a fresh posting instead, so the same requisition appears, expires and reappears at a new URL. On the board each copy looks new. In the sighting log the repeated title, company and text are visible, and the ghost score’s repost signal, three or more sightings with a gap of ten days or more, catches the ones that cycle through the same identifier.
The other place is the mass poster inventory. A staffing agency with hundreds of near-identical openings across cities is not posting ghosts in the fraudulent sense, but the listing you apply to may correspond to no specific vacancy. Those postings make up most of Indeed’s 25-49 band, and they are exactly what the cap below removes. The by-board picture is on the Indeed ghost jobs page.
The score bands show how concentrated the problem is. Almost everything Indeed carries sits in the clean band, the 25-49 band is where the repost and mass poster inventory lands, and the bands above that are nearly empty.
- Score 0-2488.3%
- Score 25-4911.5%
- Score 50-74<0.5%
- Score 75-1000.0%
What an Indeed ghost job looks like on the record
A live Indeed posting reads simply: a discovered_at close to its date_posted, a last_seen_at that advances on each pass, a ghost_score in the 0-24 band, and at about a month a closed_at with a closed_reason of stale, because the listing reached the end of its window and left the board. That last part is the Indeed signature. The board rarely tells anyone a posting closed; it just stops showing it, and the close is recorded at the expiry rather than on the day the employer stopped hiring.
A ghost-like Indeed posting fails in one of two ways. Either it belongs to a company with hundreds of active records and has been cycling under the same identifier, so its sighting log shows clusters separated by gaps of ten days or more, or it is a sponsored posting that has stayed visible far past the free window because the budget keeps renewing, which pushes it over the 45-day line. The deliberate placeholder, thin and unsalaried and unfindable elsewhere, is rarer on Indeed than on almost any other board, partly because Indeed prompts for pay and partly because a placeholder that nobody sponsors expires like everything else.
One practical consequence for job seekers: when Indeed shows “closed or expired” on a role you applied to, the ghost score cannot tell you whether the employer hired someone. It can tell you whether the role was a repost cycle or a mass poster requisition, which is the better predictor of whether a fresh copy will appear next week.
Is Indeed safer than LinkedIn for avoiding ghost jobs?
On the score, yes. Indeed’s share scoring 25 or higher is 11.7% against 21.2% on LinkedIn, and its share open more than 45 days is 4.4% against 4.0%. The reason is structural rather than a matter of policy: the timer retires stale postings on Indeed, while LinkedIn leaves them up until the poster closes them. The trade-off is that Indeed’s timer also retires live postings whose employer let the window lapse, so a role can vanish from Indeed while it is still open on the employer’s site. Fewer ghosts, more false closes. The comparison in LinkedIn ghost jobs covers the other side.
How to filter Indeed ghost jobs with the API
curl -X POST https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer $JOBSPIPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "source_or": ["indeed"], "job_title_or": ["warehouse associate"], "status": "active", "max_ghost_score": 24, "limit": 25 }'Because Indeed’s aged postings are already rare, posted_at_max_age_days adds little here; the score cap is what removes the mass poster and repost inventory. Every record comes back with discovered_at, last_seen_at, status and closed_reason, so you can tell a posting that timed out from one that is still cycling. The field definitions are in what are ghost jobs.
Indeed postings with first-seen, last-seen and a ghost score on every record. Free tier included.
Get a free API keyFrequently Asked Questions
Are there ghost jobs on Indeed?
Yes, but at one of the lowest rates of any board JobsPipe scores. 88.3% of scored active Indeed postings sit in the clean 0-24 band, 11.7% score 25 or higher, and the 50 or higher band is close to empty.
Why does Indeed have fewer ghost jobs than other boards?
Because free Indeed postings stop being shown after a fixed window and sponsored ones run only as long as their budget, so a listing nobody maintains disappears on its own. Only <0.5% of scored Indeed postings have been open 45 days or more, a fraction of the cross-board share.
Where do Indeed's stale postings come from?
Two places: repost cycles, where employers put up a fresh posting instead of reopening an expired one so the same requisition appears, expires and reappears; and mass poster inventory, with 15.5% of scored Indeed postings belonging to a company with 500 or more open roles.
What does closed or expired mean on an Indeed job?
It means the listing is no longer accepting applications through Indeed, either because the employer closed it or because it reached the end of its visibility window. The status does not say which, and it does not mean the role was filled. JobsPipe records an Indeed posting that leaves the board as closed with a closed_reason of stale.
How does JobsPipe collect Indeed jobs?
JobsPipe collects Indeed's public job listings and records a sighting each time a listing is present on a scheduled pass. Closures on Indeed are detected when a listing reaches the end of its 30-day window rather than continuously, so closed_at on an Indeed record usually sits about a month after discovered_at. Each record carries discovered_at for the first sighting, last_seen_at and closed_reason.
How do I filter Indeed ghost jobs with the API?
Send POST /v1/jobs/search with source_or set to indeed, status set to active and max_ghost_score set to 24. Because aged Indeed postings are already rare, the score cap is what removes mass poster and repost inventory; posted_at_max_age_days adds little on Indeed.

