# The Ghost-Posting Score, From One Listing to Apply, Verify, or Skip

*You can take one open posting, score it on named signals, and reach an apply-now, verify-first, or skip verdict without discarding a real opening.*

- Canonical URL: https://www.refolk.ai/candidates/guides/ghost-posting-score-apply-verify-skip
- Pillar: Reading the market
- Format: Framework
- Published: 2026-09-09
- Last reviewed: 2026-09-09
- Reading time: 18 min

## Key takeaways

- The most checkable single signal is the requisition ID, not posting age: a genuinely reopened role gets a new req number, so the same internal ID reposted repeatedly is near-proof of a pipeline listing.
- Ghost-job rate estimates run from 18-22% in inside-ATS outcome data to 47% in employer surveys, and the spread is method, not noise: outcomes measure whether a req closed with a hire, surveys measure stated intent.
- The average ghost-job application cycle costs a job seeker about 9 hours across an analysis of 4.4 million applications, which is why a two-minute score pays for itself.
- Legitimate phantoms concentrate in predictable roles: in Refolk's index the US Data Analyst pool of 63,351 is three times the SDR pool of 21,261, and both are named evergreen-heavy, so a stale analyst posting is more often 'defer' than 'skip'.
- A missing named recruiter is far more damning on a large US employer than a small UK one: Refolk's index holds 92,768 US recruiter profiles against 6,746 in the UK, so thin teams make the signal unreliable at small scale.
- In Ontario, the presence of an 'existing vacancy' disclosure is a legally mandated posting field from January 1, 2026, so its absence on a covered posting is a concrete new scoring dimension.

You have one posting open in a tab and a finite number of applications you are willing to write well. This guide is for the job seeker who wants to decide, on that single listing, whether it represents a real fillable opening before spending the effort. It gives you a weighted per-posting score across named, checkable signals that resolves to one of three actions - apply now, verify first, or skip - and it names the legitimate phantoms where the usual red flags fire on a real role.

Most ghost-job pages hand you an undifferentiated list of things that look suspicious and stop there. They treat a missing salary band as equal to a two-year-old posting, and they never tell you which flags misfire. This guide does the opposite: it weights the signals, it tells you when each one lies, and it gives you a verdict you can act on in under ten minutes.

## What a ghost job is, and why the number you have heard is wrong

A ghost job is a job posting with no live hiring behind it. The listing is real, the application form works, and your resume goes somewhere, but nobody is actively working to fill the role. That is the definition to hold, because it separates the two problems people conflate: a ghost job wastes your time, while a job scam takes your money or identity.

The scam distinction matters for your action. A scam is fraud seeking money or data, and the volume is not trivial: the FTC reports task scams grew from zero in 2020 to 20,000 reports in the first half of 2024. If a posting asks early for payment, banking details, or a Social Security number, stop scoring and report it. Everything below is about ghosts, not fraud.

The headline rate you have seen is almost certainly quoted without its method, which makes it wrong. The spread is not noise; it is measurement. Inside-ATS outcome data measures whether a requisition closed with a hire. Employer surveys measure stated intent. Those answer different questions and produce different numbers.

| Source | Method | Rate |
| --- | --- | --- |
| Greenhouse | inside-ATS outcomes | 18-22% |
| MyPerfectResume | openings-minus-hires gap | ~30% |
| ResumeUp.AI | LinkedIn scrape | 27.4% |
| Clarify Capital + Resume Builder | employer survey | 47% |

The honest anchor is one in five to nearly one in two, depending on what you count. The Congressional Research Service confirmed in April 2025 that no official ghost-job statistics exist, so treat any single confident figure as a marketing artifact. What you can trust is that 93% of HR professionals surveyed said their employer posts ghost jobs, with 45% saying it happens regularly. The base rate is high enough that scoring each posting is worth your time.

**9 hours - Average cost of one ghost-job application cycle**

From an analysis of 4.4 million applications, which is why a two-minute score pays for itself.

## The signals that matter, and what each one proves

Six signals recur across practitioner sources with concrete thresholds. Each one proves something specific, and each one lies in a specific way. Score the proof, then discount for the lie.

**Posting age.** The single most-cited indicator: over a quarter of candidates (27.2%) named job age, listings active for three or more months, as the most pervasive sign of a nonexistent role. A working action threshold is 30 or more days live, or repeated reposting. What it proves: nobody has closed the requisition. What it hides: evergreen and PERM postings are legitimately old, so age alone is a defer trigger, not a skip trigger.

**Requisition ID and repost history.** This is the most checkable signal, and it beats age. A real role that fills and reopens gets a new requisition number. A listing reposted repeatedly under the same internal job ID, visible on the company careers page URL or canonical link, is almost certainly a pipeline or phantom listing. What it proves, cleanly and objectively: whether the reappearance is a genuine backfill (new ID) or visibility churn (same ID). Unlike a subjective read of a vague description, the ID is a fact you can copy from a URL.

**Cross-listing count.** A genuine role is typically posted to one or two channels. A listing visible on six or more aggregators, often via auto-syndication, is more likely a passive pipeline gather than an active search. What it proves: distribution intent. What it hides: big employers auto-syndicate real roles widely, so treat six-plus boards as a weak signal on its own and weight it only alongside age and a missing recruiter.

**Named recruiter and recent activity.** A recruiter actively promoting a search behaves differently from one passively collecting resumes. What it proves: a human is accountable for the role. But this signal is gated by recruiter density, covered in its own section below, so a missing name means different things at different company sizes.

**Salary disclosure where required.** Missing pay is only damning where law requires a range and it is absent. What it proves, in a disclosure jurisdiction: a compliance gap that correlates with a non-serious posting. What it hides everywhere else: nothing, because omitting a band outside those states is common and legal.

**Post-application behaviour.** The tells cluster: reposted for months, vague responsibilities, no salary range, and auto-rejection minutes after applying. What it proves when they co-occur: a passive collection posting. What it hides: an instant auto-reject can be a knockout-question filter on a real role, so verify whether you failed a stated hard requirement before reading it as a phantom.

> The requisition ID is a fact you copy from a URL. Vague description is a feeling. Score the fact.

## The verdict matrix: age against phantom markers

Two variables decide most cases: how old the posting is, and whether it carries a legitimate-phantom marker. Age tells you how long nobody has closed the role. The markers tell you whether that silence is structural or dead. Cross them and the verdict falls out.

#### The two-variable ghost verdict

Horizontal axis runs from Fresh, under 30 days to Old, 90-plus days. Vertical axis runs from No phantom marker to Has phantom marker (evergreen, PERM, visa, compliance).

| Quadrant | What it means |
| --- | --- |
| Fresh, no marker | Apply now, this reads as an active targeted search |
| Old, no marker | Verify first, ask timeline and new-role-or-backfill before spending an application |
| Fresh, has marker | Apply now but calibrate expectations, the marker explains structure not death |
| Old, has marker | Defer, a legitimately slow real process, apply if role fit is strong and track it |

*Age tells you nobody closed the role; phantom markers tell you whether the silence is structural or dead.*

Notice that no quadrant says skip outright. Skip is earned by a cluster: old plus same-ID reposting plus six-plus cross-listings plus no named recruiter plus no phantom marker to explain any of it. A single old date is never a skip on its own. That is the core correction this guide makes to the standard listicle.

## Score one posting: the procedure

Run these seven steps in order. Sources disagree on ordering - scam-oriented guides lead with the employer check, ghost-oriented guides lead with freshness - so this sequence front-loads the cheapest reads and puts the careers-page match second, because it is the highest-yield single check.

#### From one listing to a verdict

1. **Read the posting metadata** - Record the post date and days live. Note whether it crosses the 30-day or 3-month age lines candidates cite most. You now know which age line, if any, it trips.
2. **Match it on the employer's own careers page** - Find the same role on the official careers page and match title, location, and requisition ID. ATS pages update immediately on close, so absence there is a strong dead signal. Record a match or no-match and the requisition number.
3. **Check repost and requisition history** - Compare the requisition ID against past appearances of the same title. Same ID reposted repeatedly reads as pipeline; a fresh ID on a reappearing title reads as a genuine backfill.
4. **Count cross-listings** - Count distinct channels carrying the posting. One or two reads as a live search; six or more aggregators reads as passive auto-syndication.
5. **Check for a named recruiter and recent activity** - Look for a named hiring manager or recruiter and evidence they are actively working the search. Weight a missing name against employer size.
6. **Check for legitimate-phantom markers** - Scan for evergreen always-hiring language, an existing-vacancy disclosure where required, visa or PERM language, and unicorn requirement bloat. These reclassify the posting, not just its score.
7. **Score and assign a three-way verdict** - Total the weighted signals and output apply now, verify first, or skip. For any verify verdict, write the single question you will ask, usually about timeline or new-role-versus-backfill.

The careers-page check in step two is load-bearing because of one mechanism: when a company closes a role in Greenhouse, Workday, or Lever, the company career page updates immediately. Third-party aggregators lag. So if a role is missing from a job board but present on the ATS careers page, it is real, and you should trust the employer's own page over the aggregator every time.

> **Rule:** Careers page beats aggregator
>
> Always confirm the role against the employer's official careers page before you decide. Its absence from a third-party board while present on the ATS page means the board is stale, not that the role is dead.

## Weight the signals: a copy-paste rubric

No single signal is a verdict. Weight them, sum the score, and read the band. Here is the rubric to keep beside the posting.

**Ghost-posting score sheet**

```
POSTING: ____________________  REQ ID: ____________________

+2  Live 90+ days (or 3+ months)
+1  Live 30-89 days
+3  Same requisition ID reposted repeatedly
+2  Visible on 6+ aggregators
+2  No named recruiter AND large US employer
+1  Vague responsibilities across the whole description
+1  Missing salary range WHERE a range is legally required
+2  Auto-rejection minutes after applying, no stated hard-requirement fail

-3  Evergreen / always-hiring language present
-3  Visa sponsorship or PERM recruitment language
-2  Existing-vacancy disclosure states this IS a real vacancy
-2  Fresh (new) requisition ID on a reappearing title
-2  Named recruiter with hiring posts in the last 30 days

READ THE BAND:
  4 or less   ->  APPLY NOW
  5 to 7      ->  VERIFY FIRST (write the question below)
  8 or more   ->  SKIP (unless a phantom marker explains the age)

VERIFY QUESTION: ____________________________________________
```

*Add points for each true signal, subtract for each phantom marker, then read the band. Adjust recruiter weight down for small or non-US employers.*

The negative weights are the point. A posting can score high on raw red flags and still be a real, if slow, opening once a phantom marker is applied. That is why the markers subtract rather than merely annotate.

## The named phantoms: real openings that trip every flag

These are the postings that light up the red-flag checklist and are still real. Misclassifying them is the expensive error, because it makes you skip openings you could win. There are four mechanisms, and each one changes your action.

**Evergreen or pipeline requisitions.** An evergreen requisition is a recruiting tool, not a trick. The role has no end date and stays posted continuously so the company keeps a steady flow of applicants for a job it fills over and over. This is built into the major systems: Workday and SAP SuccessFactors both ship an evergreen flag. The nuance that helps you: GitLab's public handbook states that no candidate is hired directly to an evergreen req; they are moved to an approved headcount req first. So an evergreen posting is real hiring, just batched. Action: apply, expect a slower and pooled process.

**PERM and green-card prerequisite postings.** US law forces a real, publicly advertised recruitment where an incumbent is often already seated. The employer must run a good-faith campaign to test the US labor market, follow the Department of Labor's prescribed methods, and complete it before filing. The PERM mechanism inverts the usual logic: unicorn requirement bloat that reads as a red flag can be a compliance artifact, because the DOL scrutinizes requirements tailored to one beneficiary. A unicorn spec plus visa language is evidence of a real, already-filled role, not a fake one. Action: defer, and do not read the impossible requirements as carelessness.

**Compliance and internal-candidate posts.** Some roles must be posted publicly even when an internal candidate or a visa-sponsorship hire has already been chosen. Action: defer unless you have a genuine internal advocate.

**Headcount and budget-lag posts.** A posting can exist to reserve headcount before a budget is approved, to signal growth to investors, or to test market interest in a role that is still hypothetical. This is the closest phantom to a true ghost, because there may be no live search. Action: verify first, ask directly whether the role is funded and active.

Legitimate phantoms concentrate in predictable roles, which is why verdicts should be role-aware. Analyst and SDR pipelines exist because backfills are constant.

**3x - US Data Analyst pool versus SDR pool in Refolk's index**

63,351 Data Analysts against 21,261 SDRs, both named evergreen-heavy, so a stale analyst posting is likelier a defer than a skip.

## Recruiter density gates the "no named recruiter" signal

A missing named recruiter is far more suspicious on a large US employer than on a small non-US one, because thin recruiting teams are normal at small scale. This is the signal most people apply wrongly, so gate it by size and geography before you weight it.

Refolk's index makes the gap concrete. There are 92,768 US profiles with a recruiter or talent-acquisition title against 6,746 in the UK, a 13.8x difference. A large US employer with an open role and no recruiter attached to it is behaving oddly. A small UK company with the same absence is behaving normally, because it may not have a dedicated recruiter at all.

| Segment | Count | Derived |
| --- | --- | --- |
| US recruiters / TA | 92,768 | 13.8x UK |
| UK recruiters / TA | 6,746 | baseline |
| US Data Analyst | 63,351 | 3.0x SDR pool |
| US SDR | 21,261 | baseline |

The practical rule: only apply the full +2 for a missing recruiter when the employer is large and US-based. Drop it to zero for a small team or a market where recruiting functions are thin. To check whether a real recruiter is working a specific search rather than relying on the posting alone, Refolk lets you search the accountable human directly. This removes the friction of guessing from a job board whether anyone is actually hiring.

Ask me this: `Software engineers who joined Datadog in the last 3 months` - [run the search](https://www.refolk.ai/start?q=Software%20engineers%20who%20joined%20Datadog%20in%20the%20last%203%20months).

*Returns recent hires at a named employer, which shows whether a company is actually converting postings into people rather than pooling resumes.*

When you can see that a company hired for a function in the last quarter, a stale posting for a similar role reads far more like a real backfill than a phantom. [Refolk](/candidates) writes your resume from your own history and tailors it to each posting, so once your score says apply, you spend the saved time on a strong application rather than a wasted one.

## Regulation as a signal: the existing-vacancy field

Where disclosure is mandated, its absence is a scoring dimension you did not have before. In Ontario, new section 8.5 of the Employment Standards Act requires that every employer who publicly advertises a job posting include a statement disclosing whether the posting is for an existing vacancy. This applies to employers with 25 or more employees, effective January 1, 2026.

That turns a legally required field into a signal. A covered posting that omits the existing-vacancy statement is either non-compliant or outside the jurisdiction, and either way you learn something. A posting that affirmatively states it is a real vacancy earns a negative weight on the score sheet. The same regime mandates pay-range and AI-screening disclosure and requires employers to tell interviewed candidates whether a decision was made within 45 days, so covered postings carry more verifiable structure overall.

The gap by sector explains why one score does not fit every posting. Government processes are structurally slow, so the same age that reads as dead in a startup reads as normal in the public sector.

| Sector | Openings-to-hires gap |
| --- | --- |
| Government | ~60% |
| Education / health | ~50% |
| Information / tech | ~48% |
| Financial activities | ~44% |

> **Note:** Read the gap as friction, not fraud
>
> A 60% government gap does not mean 60% of public postings are fake. It reflects long, compliance-bound processes where a real role sits open for months. Calibrate your age weight to the sector before you score.

## How the score goes wrong: false positives that cost you real openings

The expensive error is not applying to a ghost; it is skipping a real role because a flag misfired. Here are the false positives to guard against, each mapped to the correction.

#### Where the score misfires

1. **Old posting** - Could be evergreen or PERM, both legitimately old, so check phantom markers before discarding
2. **No salary band** - Legal outside disclosure states, so damning only where law requires a range
3. **Missing from job board** - Aggregators lag, so trust the ATS careers page over the third-party board
4. **Reappearing title** - A new requisition ID is a genuine backfill, not a phantom
5. **Instant rejection** - May be a knockout-question filter on a real role, so check for a failed hard requirement

*Each common flag has a legitimate cause that flips the verdict from skip to defer or apply.*

- **Age false positive.** A 90-day-old req with a visa line or always-hiring language is a defer, not a skip. Check for phantom markers first.
- **Missing-salary false positive.** Outside disclosure jurisdictions, a missing band proves nothing. Weight it only where a range is legally required and absent.
- **Careers-page-absence false positive.** A role missing from a third-party board but present on the ATS careers page is real. The board is stale, not the role.
- **Repost false positive.** A new requisition number on a reappearing title is a genuine backfill. Only same-ID reposting signals a pipeline.
- **Cross-listing false positive.** Big employers auto-syndicate real roles to many boards. Six-plus channels is weak alone; weight it only with age plus no named recruiter.
- **Instant-rejection misread.** An auto-reject minutes after applying can be a knockout filter, not proof of a phantom. Verify whether you failed a stated hard requirement.
- **Sector blindness.** Applying a startup-tuned score to a government or PERM posting mislabels a slow but real process as dead. Calibrate the age weight to the sector.

> **Watch out:** Do not treat every ghost as a scam
>
> Reporting a ghost job as fraud wastes a reporting action, and treating an actual scam as a mere ghost risks your money or identity. Any early request for payment, banking details, or a Social Security number flips the case to scam immediately, and your action changes from skip to report.

The auto-rejection tell deserves a second look because it clusters with the real signals: reposted for months, vague responsibilities, and no salary range. When those co-occur with an instant rejection and no failed hard requirement, the cluster is strong. When the instant rejection stands alone, it is probably a filter working as designed.

## Verify before you call it done

Before you commit a verdict, run this checklist. It catches the specific ways the score misleads and forces you to name the phantom type before you skip.

#### Before you file the verdict

- [ ] I recorded days live and checked it against the 30-day and 3-month lines
- [ ] I matched the posting on the employer's own careers page and copied the requisition ID
- [ ] I distinguished same-ID reposting from a fresh requisition number
- [ ] I counted cross-listings and weighted six-plus only alongside other signals
- [ ] I gated the missing-recruiter signal by employer size and country
- [ ] I scanned for evergreen, PERM, compliance, and budget-lag markers
- [ ] I confirmed no early request for payment, banking, or SSN before scoring as a ghost
- [ ] For any verify verdict, I wrote the exact question about timeline or new-role-versus-backfill

## Keep the model current

The model does not expire, but two of its inputs move, so re-check the mechanism rather than memorising a value. The disclosure landscape changes: Ontario's existing-vacancy rule is live for covered employers, and other jurisdictions may add similar mandates, so before relying on the disclosure signal, confirm whether the posting's location requires a vacancy statement. When it does, absence becomes a real negative weight; when it does not, drop that line from the score.

The base rate moves too. Because no official ghost-job statistics exist, the figures you see will keep diverging by method. Anchor on the method, not the headline: outcome data lands near one in five, survey data near one in two, and your own posting sits somewhere on that range depending on its signals. If a new figure surprises you, ask which of those two questions it answered before you trust it.

The verify verdict is where the model earns its keep. When a posting lands in the 5-to-7 band, do not guess and do not skip. Send one message with a single question, usually whether the role is a new opening or a backfill and what the expected timeline is. A defer with a strong role fit is worth tracking; a skip you cannot explain is worth a second look. The whole point of scoring is that you stop spending nine-hour application cycles on postings that were never going to hire, and start spending them where a real human is accountable for the search.

## Frequently asked questions

### How can I tell if a job posting is real before I apply?

Match the listing against the employer's own careers page first, because applicant tracking systems update that page immediately when a role closes. If the same title, location, and requisition ID appear there, the role is at least being tracked internally. Then check whether the requisition ID has been reposted repeatedly under one ID, count how many channels carry it, and look for a named, active recruiter. A careers-page match plus a fresh requisition and a named recruiter is a strong real signal.

### What share of job postings are actually ghost jobs?

It depends entirely on what you measure. Inside-ATS outcome data from Greenhouse puts the share at roughly 18 to 22 percent per quarter, a LinkedIn scrape found 27.4 percent, the openings-minus-hires gap runs near 30 percent monthly, and an employer survey estimated 47 percent. The honest anchor is one in five to nearly one in two. The Congressional Research Service confirmed in April 2025 that no official ghost-job statistics exist.

### Is a missing salary range proof of a ghost job?

No. Outside pay-transparency jurisdictions, omitting a salary band is common and legal, so it is not proof of anything on its own. Treat a missing range as damning only where the law requires a range and it is absent, such as Ontario or US pay-transparency states. Elsewhere, weight it lightly and lean on the requisition-ID and careers-page signals instead.

### Why is a very old job posting sometimes still worth applying to?

Because evergreen and PERM postings are legitimately old. An evergreen requisition has no end date and stays posted continuously so the employer keeps a steady applicant flow for a role it fills repeatedly. A PERM posting is a legally mandated recruitment where an incumbent is often already seated. A 90-day-old req with visa-sponsorship or always-hiring language is a defer, not a skip, so check for those markers before discarding it.

### What is the difference between a ghost job and a job scam?

A ghost job is a real listing with no live hiring behind it: the application form works and your resume goes somewhere, but nobody is actively filling the role, so it wastes your time. A scam is fraud seeking money or data. Any early request for payment, banking details, or a Social Security number flips the case to scam immediately and changes your action from skip to report.

### How do I verify a posting is still open when the age looks suspicious?

Open the employer's official careers page and search for the requisition. If it is present, the role is still tracked; if it is absent, the aggregator is likely stale. Then look for a recruiter who has posted about hiring for that role recently. If you cannot confirm either, send one message asking whether the role is a new opening or a backfill and what the expected timeline is before spending an application.

---

*From the Refolk guide library. I revise these guides rather than replacing them, so the current version is always at https://www.refolk.ai/candidates/guides/ghost-posting-score-apply-verify-skip*
