How to tell when a job was actually posted
Job boards often show "posted 2 days ago" for listings that have been open for weeks. An edit or a repost can reset the date the board displays. The company's hiring system usually still holds the original date.
This guide covers four ways to find it by hand. They work without any tool, and they take a few minutes each. At the end there is a faster way.
1. Get to the company's own posting
Job boards link out to the company's application page. Click through, and look at the address of the page you land on. Five hiring systems have addresses you can recognize at a glance.
- Greenhouse:
job-boards.greenhouse.io/{company}/jobs/{number}, or a company site address ending in?gh_jid={number}. - Lever:
jobs.lever.co/{company}/{id}. - Ashby:
jobs.ashbyhq.com/{company}/{id}. - SmartRecruiters:
jobs.smartrecruiters.com/{Company}/{number}. - Workday:
{company}.wd5.myworkdayjobs.com/..., where the number afterwdvaries.
If you started from a LinkedIn or Indeed listing, look for the "Apply on company site" style link and follow it. Don't use a LinkedIn or Indeed address for anything that follows. Those pages show the board's date, which is the one you are trying to check.
If the address isn't one of those, the company runs its own careers site, or uses a system we don't cover. Skip to method 3.
2. Read the hiring system's public data
Some hiring systems publish posting data that you can open in a browser. The dates sit under different names.
- Greenhouse lists
first_publishedandupdated_at. The first is the original posting. The second moves whenever someone edits the job. - Lever lists
createdAtas a long number (a Unix timestamp). It survives edits, so it is the better date to trust. Paste the number into any epoch converter to read it. - Ashby lists
publishedAt. - SmartRecruiters lists
releasedDate. - Workday lists
startDate.
The public listing for Greenhouse is boards-api.greenhouse.io/v1/boards/{company}/jobs. For Lever it is api.lever.co/v0/postings/{company}?mode=json. For Ashby it is api.ashbyhq.com/posting-api/job-board/{company}. Each returns every open job for that company, and you search it for the title or id you have.
Expect gaps, and expect the sources to disagree. Greenhouse can lack a first-published date on older boards, and every other system we checked leaves out its updated date. In practice only Greenhouse gives you a last-updated date, and no system gives a closing date.
3. Look for datePosted in the page source
Many company career pages describe each job in structured data called JSON-LD, so that search engines can read it. It often includes a datePosted value.
To find it:
- Open the job page in your browser.
- Right-click and choose "View page source", or press Ctrl+U (Cmd+Option+U on a Mac).
- Search the source for
datePosted. - If nothing comes up, search for
application/ld+jsonand look for a block that says"@type": "JobPosting". The date sits inside it.
Treat the value with care. It is whatever the employer's website says, and a content system can write a new date whenever the page is regenerated.
If the page has no JobPosting data, or the data has no date, you have no date from this method. Don't fill the gap with a guess.
4. Compare with the company's careers page
Open the company's own careers page and look for the same role. Three checks are worth a minute.
- Is the role there at all? A role that is listed on a board but missing from the company's own page is worth a second look. It isn't proof that the job is closed.
- Does the date agree? If the company's page shows a date, compare it to the hiring system's date and the board's date. A gap of weeks suggests the board's date was reset.
- Does the link still work? Open the application link directly. On Greenhouse, Lever and SmartRecruiters, a missing job and a missing company board return the same 404, so a dead link means "closed, or the link is wrong". Check the company name in the address before you conclude anything.
These three checks are advice for reading the evidence, not a guarantee. A role can be listed and already filled, and a role can be open with an old date. Use the checks to build a picture, and weigh the dates against each other instead of trusting any single one.
What no method here tells you
None of these methods gives you a closing date. No hiring system we checked publishes one.
A posting date also doesn't tell you whether the role was closed and reposted. One date on one page can't show that, and the checker below doesn't try to detect it.
It also won't tell you whether a listing is a "ghost job", one the company doesn't intend to fill. That's a question about intent, and no date can answer it. An old posting can be a real role that's hard to fill, and a fresh one can be a role nobody plans to fill. Treat the dates as one piece of evidence, not a verdict.
The faster way
Cursu's free Job Age Checker does methods 2 and 3 for you. Paste the company's apply link, and it reads the date from the hiring system's data or the page's JobPosting data. It shows when the job was originally posted, a last-updated date when the source supplies one, and whether the job is still listed.
It tells you where the date came from. When it can't find one, it says "Posting date unknown" instead of guessing. It doesn't read LinkedIn or Indeed links, so paste the company's apply link.