Ghost Tracker · Methodology

How we score ghost jobs

Ghost Tracker confidence scores combine listing age, repost patterns, generic copy, thin role detail, and other public signals. Higher scores mean stronger evidence the posting may be a ghost job — not proof a company is acting in bad faith.

Confidence score (0–100)

Each listing gets a confidence score that estimates how strongly public signals resemble ghost-job patterns. Higher is more suspicious — not certain. Always combine the score with recruiter conversations and company context.

Signals we look at

  • Long residence. The posting has remained live well past typical fill windows for similar roles.
  • Repost churn. The same or near-identical role was removed and reappeared without a clear hire story.
  • Generic copy. The description recycles boilerplate with little team-, stack-, or outcome-specific detail.
  • Thin requirements. Requirements or responsibilities are too vague to evaluate fit or interview against.
  • Stale signals. Metadata or board activity suggests the listing is no longer being actively worked.

Statuses in the table

  • active — currently surfaced as a flagged listing.
  • stale — signals weakened or the listing aged without fresh activity.
  • removed — posting no longer appears live on the source board.
  • reposted — same or near-identical role returned after removal.

Public API

Agents and tools can read the same dataset via /api/ghost-jobs. Useful query params include company, role, signal, location, status, minConfidence, limit, and offset.

Limitations

Scores rely on observable posting behavior, not insider hiring plans. False positives and false negatives are expected. Ghost Tracker is a research aid for job seekers, not a compliance or legal determination.