A public job card connects to an official employer page and three separate fact states.
Check current source facts before deciding what to do.

What Public Data Can and Cannot Show

When you look at a job post, you see information supplied by a scraper or an automated feed. An Actor is a hosted software program that collects public web data, and a Task is a saved set of settings for that program. These tools pull listings from public pages into neat rows, but they do not measure an employer's true hiring budget or internal plans.

What Public Data Can and Cannot Show
Information TypeWhat You Can ObserveWhat Remains Unknown
Listing DetailsJob ID, title, company name, raw date text, posted date, full job text.The actual number of open seats or internal budget approval.
Application LinkOriginal apply URL, final target page, link resolution status.Whether a hiring manager reviews incoming resumes.
Company PageMatching requisition ID, official job description, active status.Future plans to freeze hiring or cancel the role.
Listing HistoryRepeated source observations and source IDs, raw dates, and collection times; observed dates do not prove reposts or renewed publication.Hidden intent.

Understanding these limits stops you from making false claims about a listing. A post that stays online for a month might mean the employer is picky, slow, or constantly expanding. It does not prove the job is fake.

The Verifiable Listing Checklist

Before deciding whether to apply, run the listing through three direct checks to separate observed facts from guesswork.

Step 1: Retain Source Evidence

Save the source identity, job ID, source date, raw date string, collection time, description, and company evidence. Do not set an arbitrary age threshold as proof of a ghost job. Repeated source IDs can trigger review, but they cannot prove hidden intent.

Step 2: Search the Official Career Page

Find the employer's official career page through its verified public website. Match the requisition ID, duties, and location where available. Record the checked time, page, and match basis. Keep "not found in this search" separate from other outcomes. Similar titles alone can describe different roles. Official confirmed closure supports closed at this check. Absence does not usually prove a post is outdated.

Step 3: Test the Application Path

Open the listing's application path without submitting your resume. Record a reachable form, explicit closed message, wrong destination, or access failure. A reachable form does not prove the employer will hire. An inaccessible access failure does not prove job closure, nor does it prove the path is outdated or misconfigured.

Setting Up a Data Task

You can gather public listings automatically before doing your manual checks. Use the standard settings below to start collecting data from public search pages.

The current Indeed Jobs build accepts unique listings with full-description status. Exact relevant fields include `jobId`, `jobUrl`, `title`, `companyName`, `companyUrl`, `companyWebsite`, `descriptionStatus`, `descriptionText`, `postedAt`, `postedAtRaw`, `scrapedAt`, `applyUrl`, `finalApplyUrl`, and `applyUrlResolveStatus`. Optional values can miss. Setting `followApplyRedirects` to true resolves the final apply web address when useful; it does not test hiring intent or run an application audit. Setting `scrapeCompanyDetails` enables company enrichment. Current two-row full-description acceptance covers checked source rows, not real career or application paths; all manual checks are reader steps and fiction. Use the Indeed Jobs Scraper Actor.

json
{
  "country": "us",
  "searchTerm": "software engineer\ndata analyst\nproduct manager",
  "maxItems": 2,
  "postedWithinDays": "7",
  "radiusMiles": 25,
  "sortBy": "date",
  "jobType": "any",
  "remoteOnly": false,
  "maxPagesPerSearch": 15,
  "salaryType": "any",
  "minSalary": 0,
  "saveOnlyUniqueItems": true,
  "balanceKeywordCoverage": true,
  "followApplyRedirects": false,
  "scrapeCompanyDetails": true,
  "requestDelayMillis": 2500
}
Setting Up a Data Task

Change the search terms and country code to fit your target market. Keep the item limit low when you start. Set the redirect check option to true only when you want to resolve final web addresses automatically. Remember that collecting listing rows is just the first step. You must complete the verification matrix yourself.

Evaluating Listings: Worked Examples

The following fictional examples show how to record your findings and make a decision. All four examples use a fictional review timestamp of 2026-10-01T12:00:00Z to keep dates consistent.

Fictional Case Matrix

Evaluating Listings: Worked Examples
Source IDRepeat HistoryOfficial MatchApply StateReview DecisionIntent
J1Three observations over two weeks, not proved publications or repostsRequisition R10 matches duties and locationForm reachableApply if fitUnknown
J2Single current listingRequisition explicitly listed as closedPage shows closed messageSet asideUnknown
J3Single current listingNo matching title or requisition foundAccess denied pageVerify firstUnknown
J4Single current listingRequisition matches duties and locationLink leads to unrelated rolePath correction pendingUnknown

How to Interpret Each Result

  • J1 Analysis: The source listing had three observations over two weeks, which are not proved publications or reposts. It matches official requisition R10 and has a reachable form. Decision is apply if fit, and intent is unknown.
  • J2 Analysis: The listing has an explicit match to official closure at the same fictional check 2026-10-01T12:00:00Z. Decision is set aside now. It is not proved expired forever or always fake.
  • J3 Analysis: The role is not found in the search and access failed, leaving status unknown. Decision is verify first.
  • J4 Analysis: The apply link leads to the wrong role path, which is logged. Decision is to check the official matching path.

All four listings have unknown intent. One explicitly closed role is not a measured ghost-job rate of twenty-five percent.

How to Decide Your Next Step

  1. Apply if fit: Choose this when you have a checked official path and a reachable form.
  2. Verify first: Choose this when facts are unclear or missing.
  3. Set aside: Setting aside an inaccessible path is a personal time choice with availability unknown, not proof the job is closed. Only an explicit matched closure supports closed at this check.

If uncertainty remains, use an official published recruiting contact or application channel to ask about status if you choose. This is an optional reader action, not automatic outreach. Do not promise a reply or reinterpret silence as fraud. Keep your check date, since listing state can change.

The United States Bureau of Labor Statistics defines a job opening based on specific criteria: work must be available, hiring can start within 30 days, and the employer is actively recruiting from outside sources. See the BLS Job Openings and Labor Turnover Survey Definitions for how statistical agencies define an open position. Public advertisements alone do not prove all three conditions are met, which is why manual checks are necessary.

For more discussion on candidate experiences with reposted positions, you can read community reports on Reddit csMajors Reposted Jobs Discussion.

Sources & further reading

By Chronometrica · Updated

Back to top ↑