JobGhosting
Job posting? Job ghosting.

How we know

Full transparency. No secret sauce. Just public data, normalized titles, and a scoring engine that does not care about your employer brand.

Data sources

PlatformEndpointAuth
Greenhousehttps://boards-api.greenhouse.io/v1/boards/{slug}/jobs?content=trueNone โ€” public job board API
Leverhttps://api.lever.co/v0/postings/{slug}?mode=jsonNone โ€” public JSON feed
Ashbyhttps://api.ashbyhq.com/posting-api/job-board/{slug}None โ€” public job board API
LinkedInGuest search (enrichment only)No official API โ€” n8n matches flagged ghosts via public guest URLs

Ingest schedule

  • n8n (Hostinger) โ€” primary scheduler. Pulls ATS feeds every 6 hours, reclassifies nightly, LinkedIn match weekly for ghost-class streams.
  • Vercel Pro โ€” serves the site and exposes /api/ingest for n8n to POST batches.
  • Supabase Pro โ€” stores companies, requisition streams, job postings, LinkedIn matches, and ingestion audit logs.

Classification

  • Ghost โ€” 3+ job ID rotations for the same normalized title over 90+ cumulative days.
  • Suspected ghost โ€” 2 rotations, or 60+ days with suspicious patterns.
  • Stale โ€” single ID open 60+ days.
  • Evergreen โ€” talent-pool language or department (not the same as ghost).
  • Fresh โ€” within normal window.

Title normalization strips remote tags, locations, and punctuation before matching streams. Description hashing catches copy-paste re-posts with renamed titles.

What we never claim

We do not say a company is "lying." We report objective signals: posting age, ID rotation count, ATS timestamps, and optional LinkedIn cross-matches. You decide if HR is playing games.

Browse jobs โ†’