NewSearch millions of jobs from your AI agent with MCP

Why do jobs get reposted?

Jobs get reposted mostly for process reasons, not because something is wrong with the role. The common causes are board listings that expire and have to be renewed, recruiters refreshing a stale posting to return to the top of results and widen the applicant pool, evergreen requisitions for roles a company always hires, agencies mirroring a client's role, and a hire that fell through.

Each cause leaves a different trace. Listings on the largest boards run until the employer closes them or a fixed expiry window ends, so a role that is still open after a month has to be renewed, and the board prints the renewal date as if it were new. A deliberate refresh looks the same: the posting vanishes and returns with a fresh date because newer listings rank higher. Evergreen requisitions never really close. A hospital always hires nurses and a logistics firm always hires drivers, and enterprise applicant tracking systems re-list these rolling requisitions as routine. Agency and aggregator copies multiply one opening into several, sometimes after the client has filled it. A reopened search after a candidate declines or leaves early is the one case where a repost means the same real vacancy is open again.

The printed date cannot separate these cases, but a sighting log can. JobsPipe records discovered_at at the first sighting and last_seen_at at the latest, next to the board's own date_posted, and keeps status and closed_at when a listing goes away. A posting sighted repeatedly with long gaps between sightings counts as reposted, which is one input to ghost_score. In POST /v1/jobs/search, max_ghost_score keeps heavily reposted and long-open listings out of a feed.

To judge one reposted role, compare its first-seen date with the posted date, check whether the company has many identical openings, and see whether its postings ever close. The checker at jobspipe.dev/ghost-jobs shows those fields for a LinkedIn, Indeed or applicant tracking system URL, and the sandbox search endpoint returns the same fields without a key.

The full treatment is on Job posting lifespan.

Related questions

Is a reposted job a red flag?

Not by itself. Most reposts are renewals after a listing expiry or routine re-listing of a rolling requisition, and both are compatible with a real opening. It becomes a warning sign in combination: a role that has been open for a long time, disappears and returns repeatedly, never closes and has a thin template description is more likely a ghost job than a live search.

Does a reposted job mean nobody was hired?

Sometimes, but not usually. It can mean the first search failed or the chosen candidate declined. More often the listing simply reached its expiry and was renewed while interviews continued, or the employer hires for that role continuously. A repost on an enterprise applicant tracking system says more about how the talent team works than about the vacancy.

Should I apply again when a job is reposted?

If your first application was rejected for that exact requisition, a repost rarely changes the outcome unless your profile has changed. If you never heard back, a repost that follows a real gap suggests the search reopened, and a fresh application or a note to the recruiter is reasonable. Check first whether it is one role or an evergreen listing.

How can I tell when a reposted job was first posted?

The date on the board will not tell you, because it resets on every renewal or repost. A crawl log keeps the original. JobsPipe returns discovered_at, the first time it sighted the posting, alongside last_seen_at and the board's date_posted on every record, and the checker on the ghost jobs page shows them for a single posting URL.