Ready to check a job posting?
Check a Job Posting DateNo ads · No cookies · History stored locally in the browser · Free & unlimited
Follow our LinkedIn page and tag us in relevant discussions. It helps more job seekers find the tool and spot reposted listings and outdated job posts.
Paste any job listing URL and the tool cross-references multiple data sources to find the real posting date. This helps you spot ghost jobs, reposted listings, and refreshed postings that appear newer than they actually are.
| Source | What we extract |
|---|---|
| ATS API Data | Original posting date, title, company, and metadata via direct ATS API calls — when the job is on a supported platform (see table below). |
| Page Metadata & Regex | Dates in HTML patterns like datePosted, published_at, and other formats used by job boards. |
| Structured Data (JSON-LD) | Official datePosted from JobPosting schema embedded for search engines. |
| Open Graph Tags | article:published_time and similar social-sharing metadata. |
| Jina Reader | Visible date info rendered from JavaScript-heavy pages. |
| Sitemap Lookup | lastmod dates from sitemap.xml — fallback when nothing else is available. |
| Wayback Machine | First-capture date from the Internet Archive. Useful for spotting refreshed or reposted listings. |
| Hidden Insights | Non-visible metadata: department, AI screening status, salary, employment type, and more. |
When dates from different sources disagree, the tool flags potential reposts. For example, if a job's listed date says "posted 2 days ago" but the Wayback Machine first saw the URL 3 months ago, it's likely been refreshed. The tool always picks the oldest date and explains why.
The tool has direct integrations with these applicant tracking systems, plus generic extraction that works on most other job sites.
LinkedIn's "posted X ago" is often a refreshed or repost date, not the original. The same role can be relisted over and over, and each repost resets that counter — so the date LinkedIn shows you can be months newer than when the job was actually opened.
Rather than trust that date, we trace the job back to its source. From the LinkedIn posting we read the company name, look up that company's board on the applicant tracking system (ATS) they hire through, and match your specific role there by its title. When we find it, we read the date the ATS recorded the first time the role was published — the one timestamp a repost can't reset — and show that instead, flagging the gap whenever it disagrees with LinkedIn. Just paste a LinkedIn job link.
Glassdoor works the same way. Its pages are blocked to us, and the date it shows just reflects when Glassdoor re-indexed the listing — not when the employer first posted it. But a Glassdoor job link's own URL encodes the employer and role, so we read those straight from the link (no page fetch needed) and run the exact same lookup below to recover the real first-published date. Just paste a Glassdoor job link. When the employer isn't on a system we cover, we say so plainly instead of showing a misleading date.
Indeed is handled the same way. Indeed's "posted" date is often a repost or re-index date rather than the original, and its pages sit behind bot protection — but we can now read the listing to get the employer and role, then run the exact same lookup below to recover the real first-published date from the company's ATS. Just paste an Indeed job link. When the employer isn't on a system we cover, we show Indeed's own date and flag that it may be a repost.
DEVjobs.de (the German/Austrian developer job board) is handled the same way. Its "posted" date is often a re-index or repost date, and its pages sit behind bot protection — but we read the listing to get the employer and role, then run the same lookup below to recover the real first-published date from the company's ATS. Just paste a DEVjobs job link. When the employer isn't on a system we cover, we show DEVjobs' own date and flag that it may be a repost.
This only works for ATSes we've built support for. The list below is the full set we cover today — for each one, the middle column shows the exact field we read to recover that original first-published date.
| ATS | Canonical date we read | Status |
|---|---|---|
| Greenhouse | first_published | Supported |
| Ashby | publishedAt | Supported |
| Lever | createdAt | Supported |
| SmartRecruiters | releasedDate | Supported |
| Rippling | createdOn | Supported |
| Teamtailor | pubDate (RSS feed) | Supported |
| Breezy | published_date (JSON feed) | Supported |
| JazzHR | row_job timestamp (career board) | Supported |
| BambooHR | datePosted | Supported |
| LiveHire | sitemap lastmod | Supported |
| Workable | published_on | Supported |
| Workday | startDate | Supported |
| Oracle HCM Cloud | PostedDate | Supported |
| IBM (US jobs) | Date posted (US listings only) | Supported |
| Phenom People | postedDate (career-site search) | Supported |
| SAP SuccessFactors | sitemap lastmod (major employers) | Supported |
| Platform | Detection | Status |
|---|---|---|
| ADP Workforce Now | workforcenow.adp.com |
Supported |
| Ashby | jobs.ashbyhq.com, ashby_jid param |
Supported |
| Avature | *.avature.net |
Supported |
| BambooHR | *.bamboohr.com/careers |
Supported |
| Brassring | brassring.com |
Supported |
| Breezy HR | *.breezy.hr |
Supported |
| CIPHR iRecruit | *.ciphr-irecruit.com — no public posting date |
Not supported |
| Darwinbox | *.darwinbox.com |
Supported |
| Dayforce (Ceridian) | jobs.dayforcehcm.com |
Supported |
| Dover | app.dover.com/apply |
Supported |
| Gem | jobs.gem.com |
Supported |
| Glassdoor (aggregator) | glassdoor.*/job-listing/ — via reverse-lookup |
Supported |
| Google Careers | careers.google.com |
No dates available |
| Greenhouse | boards.greenhouse.io, gh_jid param, iframes |
Supported |
| Gusto Recruiting | jobs.gusto.com |
Supported |
| Haufe umantis | recruitingapp-*.umantis.com |
Supported |
| IBM (US jobs) | careers.ibm.com — US listings only |
Supported |
| iCIMS | *.icims.com |
Supported |
| Indeed (aggregator) | indeed.com/viewjob — via reverse-lookup |
Supported |
| DEVjobs.de (aggregator) | devjobs.de/job/… — via reverse-lookup |
Supported |
| JazzHR | *.applytojob.com |
Supported |
| JobDiva (staffing ATS) | *.jobdiva.com/portal — public portal job feed |
Supported |
| JobLeads (aggregator) | jobleads.com — masks the employer; Cloudflare-walled |
Blocked |
| Jobvite | jobs.jobvite.com |
Supported |
| Keka | {company}.keka.com/careers |
Supported |
| Kula | careers.kula.ai |
No dates available |
| Lever | jobs.lever.co |
Supported |
linkedin.com/jobs — via reverse-lookup |
Supported | |
| LiveHire (Humanforce Talent) | www.livehire.com/careers/ |
Supported |
| Naukri | naukri.com/job-listings-… (date only) |
Supported |
| NextHire (MyNextHire) | mynexthire.com fingerprint (incl. custom domains) |
Supported |
| Oracle HCM Cloud | *.oraclecloud.com/hcmUI |
Supported |
| Oracle Taleo | *.taleo.net/careersection |
Supported |
| Oracle Taleo Social Sourcing (SelectMinds) | *.referrals.selectminds.com (incl. custom domains) |
Supported |
| PageUp | pageuppeople.com fingerprint (incl. custom domains) |
Supported |
| Web Scribble | webscribble.com fingerprint (incl. custom domains) |
Supported |
| Paycom | paycomonline.net |
Supported |
| Paycor | recruitingbypaycor.com / gnewton embeds — reads title only, no posting date |
No dates available |
| Paylocity | recruiting.paylocity.com |
Supported |
| PeopleStrong | {company}.peoplestrong.com/job/detail |
Supported |
| Quikchex | secure.quikchex.in fingerprint (white-labeled careers pages) |
Supported |
| RippleHire | *.ripplehire.com |
Supported |
| Rippling | ats.rippling.com |
Supported |
| SAP SuccessFactors | successfactors in page source |
Supported |
| SEEK (Australia/NZ) | au.seek.com, seek.co.nz |
Supported |
| SmartRecruiters | jobs.smartrecruiters.com |
Supported |
| Spark Hire (Comeet) | comeet.com/jobs, *.comeet.co + custom domains via HTML fingerprint |
Supported |
| Startup.jobs | startup.jobs |
Supported |
| TalentLink (Lumesse / Cornerstone) | *.recruitmentplatform.com + custom domains via HTML fingerprint |
Supported |
| TalNet (Oleeo / WCN) | *.tal.net — public Atom job feed |
Supported |
| Teamtailor | *.teamtailor.com + custom domains via HTML fingerprint |
Supported |
| TriNet Hire (TriNet Applicant Tracking) | app.trinethire.com |
No dates available |
| UKG Ready (saashr / Kronos WFR) | secure*.saashr.com/ta/{id}.careers — reads title/company/pay, but UKG publishes no posting date |
No dates available |
| Unstop (ex-Dare2Compete) | unstop.com/jobs/, unstop.com/internships/ |
Supported |
| Workable | apply.workable.com |
Supported |
| Workday | *.myworkdayjobs.com |
Supported |
| Yello (Recsolu) | {employer}.yello.co/jobs/, {employer}.recsolu.com/jobs/ (approximate date) |
Supported |
| Zoho Recruit | {company}.zohorecruit.com |
Supported |
For sites not listed above, the tool uses generic extraction (JSON-LD, Open Graph, HTML regex, sitemaps, and the Wayback Machine). Many company career pages work well through these fallback methods.
Job listings often display unreliable dates. Companies can edit the visible "posted X days ago" text, sponsored placements reset the timer, and many career sites simply show today's date when the page loads. To find the real first-posted date, you have to look beyond the visible label.
The most accurate sources, in order of reliability:
JobPosting schema with a datePosted field for Google for Jobs. Usually accurate, but can be reset on republish.sitemap.xml with lastmod dates reflecting when the entry was last updated.Paste any job URL into the tool on the homepage and it checks all four sources in order, flags conflicts (e.g., "page says posted 2 days ago but Wayback first saw it 4 months ago"), and shows the oldest reliable date with an explanation.
Two questions, two answers:
The tool surfaces every available date — original posting date from the ATS, JSON-LD datePosted, page last-modified, earliest Wayback capture, and sitemap lastmod. Comparing these to your target date is the most defensible way to verify activity when you're deciding whether to apply, comparing how long similar roles have been open, or following up on an application that's gone quiet.
A ghost job is a job listing that appears active but is no longer being filled. Companies may keep old postings live to collect resumes, meet compliance requirements, or give the appearance of growth. This tool helps detect ghost jobs by revealing the true posting date — if a "new" listing was actually posted months ago, it may be a ghost job.
The tool compares dates from multiple sources. If the Wayback Machine shows the URL existed months before the listed "date posted", the job was likely reposted or refreshed. The tool flags these conflicts automatically and shows you all detected dates so you can judge for yourself.
It has direct API integrations with 30+ applicant tracking systems, including Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, iCIMS, BambooHR, SAP SuccessFactors, Rippling, Paycom, Jobvite, Avature, Dayforce, Teamtailor, and many more. For all other job sites, it uses generic extraction methods that work on most career pages.
The reliable way is to ignore Indeed's "posted" date and check the original posting date on the company's applicant tracking system (ATS) instead. Indeed's date often reflects when the listing was last refreshed, sponsored, or boosted rather than when the role was first opened — so a "Posted 2 days ago" tag can sit on a job that's actually been open for months.
Just paste the Indeed job URL into the tool on the homepage. It reads the listing, then matches it to the company's applicant tracking system (Greenhouse, Lever, Workday, Ashby, and 30+ others) and reads the original first-published date there — the one timestamp a repost can't reset. If that date is much older than what Indeed shows, the listing has been reposted or refreshed, a common sign of a stale or ghost job.
When the employer isn't on a supported ATS, the tool falls back to Indeed's own date and flags that it may be a repost. You can also paste the company's own careers-page link directly if it's shown on the Indeed listing (click "Apply on company site") — that always lands on the ATS's canonical date. LinkedIn jobs work the same way: paste a LinkedIn job link and the tool bridges it to the underlying ATS, falling back to LinkedIn's approximate date when no match is found.
jobs.ashbyhq.com or other ATS platforms?Yes. When This Job Was Posted runs a free, public REST API (and MCP server) that already wraps jobs.ashbyhq.com and 17 other applicant tracking systems — Greenhouse, Lever, Workday, SmartRecruiters, iCIMS, BambooHR, and more.
Pass any job URL to the /check endpoint and you get back the original posting date, job title, company, salary, location, employment type, and any other metadata the underlying ATS exposes — as JSON. No API key, no auth, 60 requests/minute.
For AI agents, the same data is available via MCP, so Claude, ChatGPT, Cursor, Codex CLI, and other clients can call it directly. Full setup, code samples, and a try-it widget are at /connect.
If you'd rather call Ashby's API directly, it's the public GraphQL endpoint at jobs.ashbyhq.com/api/non-user-graphql with operation ApiBoardWithTeams. Most ATSes expose similar public job-board APIs intended for embeddable widgets — that's what makes integrations like this tool's possible.
Yes, completely free with no ads, no account required, and unlimited use. If it helped you, consider supporting its development:
No. All search history is stored in your browser's localStorage. We don't have accounts, cookies, or any server-side storage of your searches. Anonymous usage analytics (page views and feature usage) are collected via a self-hosted analytics platform — no personal data is tracked.
Dates from ATS APIs (Greenhouse, Lever, etc.) are highly accurate — they come directly from the applicant tracking system's database. Dates from HTML metadata are generally reliable but can be manipulated by the employer. Wayback Machine dates tell you when the URL was first archived, which may be days after the actual posting. The tool shows all sources so you can compare.
Some job pages don't include any date information in their source code, and the Wayback Machine may not have archived the URL yet. The tool will still extract any available metadata like job title, company name, and hidden insights. You can to report unsupported job boards, or post publicly on r/whenthisjobwasposted.
Ready to check a job posting?
Check a Job Posting DateNo ads · No cookies · History stored locally in the browser · Free & unlimited
When This Job Was Posted is available as a REST API and MCP server, so you can add job posting date detection to your AI tools, automation workflows, or any HTTP client (curl, Python, Node.js, fetch, requests, axios) — JSON in, JSON out, no API key required.
Free, unlimited (60 requests/minute), no authentication.
Have a suggestion, found a bug, or want to report a job board we don't support yet? Send feedback directly — no account needed, fully anonymous unless you add an email.
Prefer a public discussion? Post on r/whenthisjobwasposted.
This tool is completely free with no ads or tracking. If it helped you land a job or save time in your search, consider supporting its development.
Jobs on joinus.saint-gobain.com now show their posting date. Saint-Gobain's careers pages are guarded by an automated-traffic check that used to make these links come back with no date. The tool now gets past that check and reads the posting date straight from the page.
Jobs on careers.duolingo.com — and other company careers pages that run on Greenhouse — now show their posting date. Many employers host their jobs page on their own web address while Greenhouse runs it behind the scenes, so these links used to come back with no date. The tool now recognizes these pages and reads the real posting date straight from Greenhouse.
Indeed jobs show their posting date again — and other sites behind bot-walls now work more often. Indeed recently added an automated-traffic check that stopped the tool from reading its listings. The tool now has an extra fallback that gets past that check, so Indeed links work again. The same fallback kicks in for other sites that block automated access, recovering posting dates that were previously unreadable.
Jobs on c3.ai now show their posting date. C3.ai's careers pages embed their listings from a hiring board under the company's former name, so these links used to come back with no date. The tool now recognizes the underlying board and reads the original posting date straight from it.
Jobs on toogoodtogo.com now show their posting date. Too Good To Go's careers pages are guarded by an automated-traffic wall that used to make these links come back with no date. The tool now recognizes the underlying job board and reads the original posting date straight from it.
Jobs on careercenter.aalas.org — and other association career centers powered by Web Scribble — are now recognized by name. Many professional associations (social work, legal, veterinary, and more) run their job boards on Web Scribble, on all sorts of web addresses. The tool already found the posting date on these listings; it now identifies the platform as Web Scribble and labels the date accordingly.
Jobs on invenio.net (and other sites that embed a Teamtailor listing) now show their posting date. Some employers display a Teamtailor job inside their own careers page, and some turn off the feed the tool normally reads — in both cases these links used to come back with no date. The tool now finds the underlying Teamtailor listing and reads the posting date straight from it.
Jobs on Gusto Recruiting now show their posting date. Gusto Recruiting (jobs.gusto.com) is the hiring board used by many small businesses — those links used to come back with "this site blocks automated access." The tool now reads the posting date directly from the page. A small number of very old listings on Gusto don't include a date at all; for those, the tool now says so plainly instead of failing silently.
Jobs on Oracle Taleo Social Sourcing referral portals now show their posting date. These are the employee-referral career sites used by employers like Hilton, D.R. Horton, MD Anderson and NATO — they used to come back with no date at all. Note that this platform lets each employer switch the posting date off: when an employer has done that, the tool now says so plainly instead of just failing, so you know the date is genuinely unavailable rather than something we missed.
Jobs on NextHire (MyNextHire) career pages now show their real posting date. These listings — like the ones embedded on employer sites such as Amagi — used to come back with no reliable date because the details load in a separate frame the tool couldn't read. The tool now looks up the job directly and shows its original publish date, even when the listing was later refreshed with a newer date.
Spark Hire (Comeet) job listings are now supported. Jobs on comeet.com careers pages — the applicant tracking system behind Spark Hire, used by many startups and scale-ups — now return a date. Comeet doesn't publish an original posting date, so we show the listing's last-updated date, clearly marked as approximate. Also works on employer career pages that run on Comeet behind a custom domain.
Jobs on D. E. Shaw India's careers site now show their real posting date. These listings used to display today's date by mistake (the page reports a fresh timestamp on every visit). The tool now reads the genuine "valid from" date instead — and even a bare application link (which normally shows no job at all) is resolved back to the right posting and date.
Jobs on CIPHR iRecruit are now clearly flagged instead of failing silently. CIPHR iRecruit is a UK hiring system that doesn't publish a posting date anywhere public. Instead of grinding through every lookup and returning a generic "no date found", the tool now recognizes these links up front and tells you plainly why the date can't be shown — and points you to where an approximate date might be (Indeed or the employer's careers page).
LinkedIn, Glassdoor & Indeed jobs at major SAP SuccessFactors employers now trace to the real posting date. When you paste a LinkedIn (or Glassdoor/Indeed) link for a role at a large employer that hires through SuccessFactors — like Capgemini, EY, HCLTech, Wipro or Volvo — the tool now matches your role on that company's career site and shows its posting date instead of LinkedIn's "posted X ago", which is often a repost. Covers a starting set of major SuccessFactors employers, with more to come.
careers.indwes.edu and other PageUp career sites now supported. PageUp is a hiring platform used by many universities and large organizations, usually on the employer's own domain (like careers.indwes.edu). Paste one of these job links and the tool now reads the real "Advertised" date and job title directly from the page. Spotted from a user feedback report — thank you.
wordly.ai and similar Ashby-powered career pages now resolve correctly. Some companies run the Ashby hiring platform on their own website under a board name that contains spaces or dots (for example, "Wordly.ai Careers"). The tool couldn't read those boards and returned no date; now it does, showing the real posting date. Spotted from a user feedback report — thank you.
DEVjobs.de jobs now supported. Paste a DEVjobs.de listing and the tool reads it, then matches it to the company's applicant tracking system (SmartRecruiters, Greenhouse, Workday, and 30+ others) to show the real posting date — DEVjobs' own "posted" date is often a repost. When the employer isn't on a supported ATS, it shows DEVjobs' own date with a note that it may be a repost. This release also improves that ATS-matching for European employers (companies whose names end in SE, AG, GmbH, and similar), so more listings resolve to their original posting date.
micro1 job listings now supported — along with other modern React ("App Router") job sites. micro1 and a growing number of sites tuck the posting date inside a hidden data stream instead of standard page metadata, so it looked like no date existed. We now read that stream and show the real posting date.
Indeed jobs now supported. Paste an Indeed job link and the tool reads the listing, then matches it to the company's applicant tracking system (Greenhouse, Lever, Workday, Ashby, and 30+ others) to show the real posting date — Indeed's own "posted" date is often a repost. When the employer isn't on a supported ATS, it shows Indeed's own date with a note that it may be a repost.
SmartRecruiters "OneClick" links now work. Some SmartRecruiters job links use a newer share format (/oneclick-ui/company/…/publication/…) that we previously couldn't read; these now resolve to the real posting date just like standard SmartRecruiters listings.
Phenom People added to LinkedIn & Glassdoor reverse lookup. Many large employers run their careers site on Phenom (frequently over a dateless ATS like Taleo). We now find the employer's Phenom site from the company name and read the real posting date from it — so a job showing a refreshed "just posted" date is unmasked with its true original date.
SEEK (Australia/New Zealand — au.seek.com, seek.co.nz) now resolves reliably. SEEK sits behind a bot-protection wall that was intermittently blocking our date lookups; SEEK job pages now load through a more resilient fetch path, so the posting date comes back consistently instead of hit-or-miss.
Added support for Darwinbox career sites (*.darwinbox.com, a hiring system common across India and Asia). These job pages hide the posting date from the visible page, so we read it — along with the employer, title, and location — from the data the page ships to your browser.
Result cards now show a small platform badge next to the posting date — e.g. "Workday" with the platform's icon — whenever the date came from a recognized applicant tracking system. It's a quick, at-a-glance signal that the date is the ATS's own canonical date.
LinkedIn job listings for employers hosted on Workday's myworkdaysite.com domain now resolve to the real posting date. When you paste such a LinkedIn URL, the tool looks up the employer's Workday careers site behind the scenes and reports the original posting date instead of LinkedIn's vaguer "reposted" one.
Workday career sites hosted on the myworkdaysite.com domain (a second Workday address, alongside myworkdayjobs.com) are now recognized and dated straight from Workday's official data. Also fixed a case where some branded company career pages could show a posting date that was too early — the tool was reading the site's homepage "last updated" date instead of the specific job's. These pages now match the correct job listing.
jobs.webasto.com and other SAP SuccessFactors career sites: job listings whose title contains parentheses — like "…(PLC & Traceability)… (f/m/x)" — weren't returning a posting date. The way we matched the listing to the site's job feed tripped over the brackets, so any bracketed title came up empty. Fixed — these postings now find their date again.
Many US TikTok / ByteDance jobs (lifeattiktok.com) now get a posting date. TikTok's own careers site doesn't publish one, so we look up the job's LinkedIn listing and show its date — clearly labeled as best-effort and approximate, with a link to the matched post. It won't match every job (LinkedIn's public search is US-centric and doesn't list everything), and LinkedIn often shows a refreshed/repost date rather than the original posting — so treat it as an estimate, not a native TikTok date. When we can't find a match, we say so plainly.
Sites protected by a Cloudflare security check (the "Just a moment…" screen that blocks automated access) are now recognized up front. Instead of quietly trying every fallback and ending with a vague "no date found", the tool now tells you plainly that the site blocks automated access. Blocked and errored results also get a clearer "no entry" sign in place of the old plain "Error" text.
Haufe umantis job listings are now recognized. Many European employers, such as LEONI Cable Solutions, run their careers site on umantis — often on their own web address, so it isn't obvious. The tool now identifies these listings and, when one publishes a posting date, shows the real date. When umantis doesn't expose a date, it says so plainly instead of failing silently.
Glassdoor listings now resolve to the real posting date. Glassdoor only shows when it re-indexed a job, but the tool reads the employer and role from the listing's URL and matches it to the company's own hiring system to recover the original date. When the employer isn't on a supported system, it says so plainly instead of failing silently.
TalentLink now supported — job listings on Lumesse / Cornerstone TalentLink (careers pages hosted on recruitmentplatform.com, used by many European enterprise employers) return the real posting date. The tool reads it straight from TalentLink's own job data, along with the title, company, location, and salary.
Quikchex now supported — careers pages powered by Quikchex (an India HR/recruitment platform) return the real posting date. These pages run on each employer's own web address, so the tool recognizes them by their Quikchex fingerprint and reads the "Posted On" date, company, and role details printed right on the page. Result cards now also name the ATS a posting date came from, instead of a generic "metadata" label.
JobDiva now supported — staffing-agency job portals at *.jobdiva.com/portal return the real posting date. These portals are app-style pages that show no date to applicants, so the tool reads it from the portal's own public job feed. Works for currently-advertised roles; closed listings fall back to the usual estimate.
IBM Careers (US jobs) now supported — US listings on careers.ibm.com return the real posting date, read directly from IBM's recruiting system even though the site is bot-protected. US jobs only: IBM publishes the posting date solely on US roles (pay-transparency disclosure), so non-US IBM jobs still can't be dated.
Uber careers now supported — jobs on jobs.uber.com return the real posting date from Uber's recruiting system (Oracle Recruiting Cloud), read directly even though the careers page itself is bot-protected. The result card also links straight to the underlying Oracle listing.
Expanded the Oracle HCM Cloud LinkedIn reverse-lookup to cover many more employers — LinkedIn jobs at hundreds of additional Oracle-powered companies (across healthcare, finance, retail, manufacturing, government, education and more) now resolve to the real posting date.
Extended Oracle HCM Cloud support to LinkedIn: a LinkedIn job post from a company that hires through Oracle HCM (Oracle Recruiting Cloud) now resolves to the real posting date from the employer's Oracle career site, instead of LinkedIn's relative "X weeks ago" timestamp (which often reflects a repost).
Extended JazzHR support to LinkedIn: a LinkedIn job post from a company that uses JazzHR now resolves to the real posting date from the employer's JazzHR board, instead of LinkedIn's relative "X weeks ago" timestamp (which often reflects a repost).
Added support for JazzHR career sites on *.applytojob.com — a hiring platform used by many small and mid-sized companies. The tool now reads the real posting date from the employer's public job board, even though it isn't shown on the application page itself.
Added support for Breezy HR career sites on *.breezy.hr — a hiring platform used by many small and mid-sized companies. The tool now reads the real posting date directly from the employer's public job feed, and can also trace LinkedIn posts back to their Breezy listing.
Improved Avature career sites (e.g. Siemens): the tool now reads the posting date straight from the "Posted since" field on the page, fixing listings that were detected but came back with no date.
Added support for TalNet (Oleeo) career sites on *.tal.net — used by LIXIL and many UK public-sector employers. These pages hid the posting date behind a bot-check, so the date previously came only from a slower, less reliable fallback; the tool now reads it directly from the employer's public job feed.
Fixed Ashby job boards that companies embed on their own website (where the board's internal name differs from the website address — e.g. clay.com's board is "claylabs"). These previously came back with no date; the tool now finds the right board and shows the real posting date.
Some big employers run a branded careers page but send "Apply" to an Avature site behind the scenes (common at banks and large enterprises). The tool now follows that Apply link to the Avature listing and reads the real posting date there — these pages used to come back with no date (or a wrong one picked up from page text).
Extends the previous release to two trickier cases: career pages that embed a Greenhouse job behind their own web address, and pages that name no job board at all — the tool now works out which ATS is behind the page from the company and job title, and reads the real posting date there.
Some companies run a branded careers page of their own but send "Apply" to a supported ATS behind the scenes. The tool now follows that Apply link automatically — so these pages, which used to come back with no date, now show the real posting date from the underlying ATS (Gem, Greenhouse, Lever, Ashby, Workday, and more), with a direct link to the ATS listing.
The LinkedIn → Workday reverse-lookup now covers 3,300+ companies — more than 3× as many as before. We rebuilt the Workday company index from a much wider, fully re-verified set, so many more LinkedIn jobs at Workday-powered employers now trace to the real first-posted date instead of LinkedIn's refreshed "posted X ago".
Workday added to LinkedIn reverse-lookup. Paste a LinkedIn job at one of 1,000+ companies that hire through Workday and the tool now traces it to the company's Workday board and shows the real first-posted date — instead of LinkedIn's often-refreshed "posted X ago".
Added support for Unstop (ex-Dare2Compete) job and internship listings at unstop.com. These now resolve to the real posting date, title, and company — previously the page exposed no date, so the tool could show today's date by mistake.
Extended Yello (Recsolu) support to the platform's legacy {employer}.recsolu.com boards (e.g. law-firm career sites). These resolve to a posting date the same way as the newer .yello.co boards.
Fixed ADP Workforce Now job links that leave out an optional tracking parameter (URLs like workforcenow.adp.com/…/recruitment.html?cid=…&jobId=…). These used to show a generic “Recruitment” title and a less accurate date — they now resolve to the real job title and posting date.
Added support for RippleHire referral job boards — listings at {company}.ripplehire.com now resolve to their real posting date, title, and employer. These boards hide the date from the visible page and load it over a background request, so we read it straight from that data.
Added support for Dayforce (Ceridian) career sites — job listings at jobs.dayforcehcm.com now resolve to their real posting date, employer, and location. These pages hide the date from the visible page, so we read it from the data the page ships to your browser.
Restored posting-date detection for a range of large-company career sites — including NetApp, AstraZeneca and ExxonMobil — that had been silently coming up empty because of a certificate issue in our page-fetching layer. We also made the tool more honest about failures, so a fetch that breaks can no longer be mistaken for a job that simply has no date.
Fixed posting-date detection for more Avature and Workday job links. Avature pages that carried tracking parameters in the URL (e.g. ?source=LinkedIn) — including apply pages from EA, Synopsys, lululemon and MetLife — were silently returning no date; they now resolve correctly. Workday "apply" links (ending in /apply) also now find the date instead of failing.
Job listings on Yello (Recsolu) company boards — like EY's early-career roles at {employer}.yello.co — now resolve to a posting date. These pages hide the date on the listing itself, so we read it from the board's public job search instead. It's the board's "Posted" label, so treat it as approximate.
LinkedIn job links for companies that hire through Workable now resolve to the real posting date. LinkedIn often shows a refreshed "posted X ago" timestamp; we cross-reference the company's Workable board to recover the original date and flag the gap when the two differ.
Fixed Major League Baseball (MLB) job links. Postings on mlb.com/careers run on Greenhouse behind the scenes, but under a company name that didn't match the site's address — so the tool couldn't find the date. Those links now resolve correctly.
Fixed Paylocity job links on company-specific addresses. Some employers use a numbered Paylocity subdomain (like 2000recruiting.paylocity.com) — those links were silently failing to find a posting date, and now they work. We also added an automatic retry, so Paylocity links are less likely to come up blank on a temporary glitch.
Better date detection for Oracle Taleo. Some employers (like TTEC) don't publish a posting date on their Taleo page at all. We now automatically check the employer's own careers site to recover the real posting date when it's missing from Taleo — so links that used to come up blank now show when the job actually went live.
UKG Ready (saashr.com): these job listings don't include a posting date — UKG Ready doesn't publish one anywhere, so we can't tell you when the job went live. We say that plainly rather than guessing a date. What we can now do is read the rest: paste a secure*.saashr.com/ta/... link and you'll get the job title, company, location, and pay.
Better date detection for two job systems. iCIMS: links copied from an "Apply" button (ending in /candidate, /login, or /apply) now resolve to the real posting date instead of coming up blank. Oracle Cloud: jobs are now looked up by their exact ID rather than an unreliable keyword search, so many more oraclecloud.com postings now return their posting date, title, and company.
Naukri.com job listings are now supported — paste a naukri.com/job-listings-... link and you'll get the original posting date. Naukri blocks automated readers, but it encodes the posting date inside each job's listing ID, so we read the date straight from the URL (it stays accurate even when a listing is refreshed). The job title isn't available for these because the page itself can't be read.
Zoho Recruit career sites are now supported — paste a {company}.zohorecruit.com/jobs/Careers/... link (or a legacy /recruit/ViewJob.na link) and you'll get the real posting date plus title, company, and location. Zoho job pages hide the date inside the page's scripts; we now read it directly (and use the employer's job-feed for the older pages so the date is exact).
PeopleStrong ATS is now supported — paste a {company}.peoplestrong.com/job/detail/... link and you'll get the real posting date plus department, location and experience. PeopleStrong job pages show nothing but a "Candidate Portal" shell on their own; we now read the details from the employer's live job listing.
Keka ATS is now supported — paste a {company}.keka.com/careers/jobdetails/... (or /applyjob/...) link and you'll get the real posting date plus department, location, experience and skills. Keka job pages show no date at all on their own; we now read it from the employer's live job listing.
Paylocity ATS is now supported — paste a recruiting.paylocity.com/.../Jobs/Details/... link and you'll get the real posting date plus location and department. Paylocity is a common payroll/HR suite; previously the tool came up empty because the job page itself carries no date — we now read it from the employer's job listing.
Dover ATS is now supported — paste an app.dover.com/apply/... link and you'll get the original posting date plus salary range, location, and visa-support details. Dover is the free ATS many startups use; previously the tool came up empty because the page renders client-side.
Startup.jobs pages are now reachable even when the regular fetchers hit Cloudflare's bot challenge. The tool retries through a Cloudflare-allowlisted renderer that returns the full page data — so you keep getting the title, company, salary, and posting date instead of a blank failure.
Startup.jobs URLs now resolve to the underlying employer ATS (Ashby, Greenhouse, Lever, etc.) when possible — so when an employer first posted a role months before Startup.jobs indexed it, you see the real first-posted date instead of the aggregator's catch-up timestamp. A new chronology check also prevents matching against a different role at the same employer when titles overlap.
Oracle Taleo is now directly supported. Paste any *.taleo.net careers URL (UnitedHealth Group, Mass.gov, Texas DOT, Equitable, American Express, and many other Fortune 500 + government employers) and we'll pull the real posting date straight from Taleo's server-rendered record. For jobs that have been taken down, the tool surfaces that clearly instead of failing silently.
SEEK (Australia and New Zealand's largest general-purpose job board) is now directly supported. Paste any au.seek.com or seek.co.nz job URL and we'll pull the real posting timestamp straight from SEEK's server-stamped record — no relative "X days ago" guesses, and unaffected by the repost noise that makes LinkedIn dates unreliable.
LiveHire (Humanforce Talent) careers sites are now supported. Paste any livehire.com/careers/... URL and we'll surface the real posting date. Also extended LinkedIn repost detection — if the same role is posted on a company's LiveHire careers page, we now use that as the canonical date instead of LinkedIn's relative timestamp.
Now correctly detects the real posting date for Oscar Health (hioscar.com) careers — and any other custom-branded careers site that's powered by Greenhouse under the hood. Also fixes title and company extraction for SPA pages whose static HTML shows a "Site Not Loading?" or similar no-JS fallback message.
BambooHR added to LinkedIn repost detection. Paste a LinkedIn job URL: if the same role is posted on a company's BambooHR career site, we surface the original posting date instead of LinkedIn's relative timestamp.
Teamtailor is now a directly-supported ATS — both *.teamtailor.com career sites and custom-domain Teamtailor portals are detected, with original posting dates read from the public RSS feed. LinkedIn cross-referencing also extends to Teamtailor, joining the existing Greenhouse, Ashby, Lever, SmartRecruiters, and Rippling bridges. The LinkedIn↔ATS title matcher is now more forgiving — small differences in seniority prefix ("Senior"), parenthetical qualifiers ("(Web facing)"), and hyphenation ("Full-Stack" vs "Full Stack") no longer block a match, so more LinkedIn jobs successfully resolve to their canonical posting date.
LinkedIn cross-referencing now covers three more ATSs — Lever, SmartRecruiters, and Rippling — alongside the existing Greenhouse and Ashby support. When a LinkedIn-listed job is also posted on one of these, the tool finds the canonical listing and shows the ATS's actual first-published date instead of LinkedIn's "X weeks ago".
LinkedIn jobs now cross-referenced against the company's real ATS. When the company is on Greenhouse or Ashby, the tool finds the canonical posting and uses its actual first-published date instead of LinkedIn's "X weeks ago" — which often reflects a refresh, not the original posting. Both dates are shown side-by-side so you can see the gap when LinkedIn's claim is misleading. More ATSs (Lever, Workable, SmartRecruiters, etc.) coming next.
LinkedIn job URLs are now supported. Paste any LinkedIn job link — /jobs/view/..., search-page links with currentJobId=..., or saved-collection links — and the tool reads what LinkedIn shows publicly (title, company, location, "X weeks ago"). LinkedIn often shows refreshed/repost dates rather than the original posting, so the date is presented with that caveat — full ATS cross-reference is coming next.
Fixed a timezone bug that made posting dates render one day earlier than they actually were for visitors in the Americas (and anywhere else west of UTC). Dates extracted from job posting APIs now display correctly in every timezone.
Tighter URL guards for LinkedIn and Google. LinkedIn feed posts (/posts/, /feed/, /pulse/) now show a clear "this is a social post, not a job listing" message instead of a silent failure. Google Careers links with the multi-account selector (/u/0/, /u/1/, …) and careers.google.com URLs are now correctly recognised. Any other LinkedIn or Google URL that isn't a job page (profiles, search results, Docs, Maps, etc.) now gets a friendly "paste a job posting URL instead" prompt.
New /connect page — set up job posting date detection in your AI tools (Claude, ChatGPT, Cursor, VS Code, Windsurf, and more) via MCP, or in automation workflows (n8n, Zapier, Make, Pipedream, Power Automate) via REST API. Includes a live try-it widget, copy-paste snippets for every supported client, and an LLM-readable companion at /connect.md so your AI can set it up for you.
Added an anonymous in-app feedback form. Click Feedback in the footer, the Send Feedback button on the About page, or Report this failure on a failed result to share a short note, suggest a feature, or flag a site that didn't work — no account needed, no login required.
Added Kula ATS detection. Jobs on careers.kula.ai now show a warning modal — Kula does not expose posting dates publicly (the API requires per-employer authentication and the HTML contains no date in any form). The tool now informs users immediately instead of attempting a fetch that can't succeed.
Expanded Workable detection. Jobs on jobs.workable.com/view/ (Workable's public job board) now return accurate posting dates and metadata via Workable's API — previously only apply.workable.com URLs were detected, so public listings fell through to HTML fetching and often failed on titles with apostrophes or special characters.
Added Paycom ATS integration. Jobs on paycomonline.net career portals now return accurate posting dates, titles, company names, salary, location, and position type via Paycom's ATS API — previously these JS-rendered pages had no extractable data.
Added Avature ATS integration. Jobs on *.avature.net career portals (used by Bloomberg, L'Oréal, Siemens, etc.) now return accurate titles and company names via Open Graph metadata, with posting dates extracted from portal-specific sitemaps and RSS feeds.
Added iCIMS ATS integration. Jobs on *.icims.com career portals now return accurate posting dates, titles, company names, location, employment type, and expiration dates via iframe JSON-LD extraction.
Added Jobvite ATS integration. Jobs on jobs.jobvite.com now return accurate titles, posting dates, category, employment type, and location via Jobvite's public XML feed.
Added Rippling ATS integration. Jobs on ats.rippling.com now return accurate titles, posting dates, salary ranges, department, location, and employment type via Rippling's public Job Board API — no proxy needed.
Added ADP Workforce Now ATS integration. Jobs on workforcenow.adp.com now return accurate titles, posting dates, salary ranges, location, and employment type via ADP's public Staffing API. Also added domain-specific lookups for Stripe and Goldman Sachs career pages.
Added Workday and SmartRecruiters ATS integrations. Jobs on *.myworkdayjobs.com now return posting dates and rich metadata (location, remote type, employment type) via Workday's CXS API. Jobs on jobs.smartrecruiters.com now return posting dates, department, location, and employment details via the Posting API.
Added SAP SuccessFactors ATS integration. Jobs on SuccessFactors-powered career sites now return accurate posting dates via the platform's RSS feed. Also fixed job title extraction for pages with "Summary" section headers and improved Jina company name filtering.
Fixed Lever detection for URLs with tracking parameters from job aggregators. Added early detection for ClearCompany (HRMDirect), an ATS that does not expose posting dates.
Added Amazon.jobs support via domain-specific API lookup. Jobs on www.amazon.jobs now return accurate posting dates, titles, and company info. Built as an extensible framework for adding more single-employer career sites.
Added silent retry for failed or thin page fetches — transient proxy failures are now automatically retried before giving up. When no date is found due to a temporary issue, a hint suggests trying again. Also expanded Oracle HCM support to handle preview URLs.
Improved reliability for JavaScript-heavy job pages (single-page apps). Pages that fail to return date data on the first render attempt are now automatically retried.
Added BambooHR ATS integration. Jobs hosted on *.bamboohr.com/careers now return posting dates, job titles, department, employment type, compensation, and location via BambooHR's API.
Fixed Gem job board support — jobs from jobs.gem.com now correctly return posting dates and job details. Added a dedicated proxy endpoint to handle Gem's API, which was previously blocked by oversized response headers.
Improved Greenhouse detection — now finds Greenhouse job data on sites that embed it via iframes or non-standard URLs. Also handles boards.greenhouse.io/embed links and automatically discovers the correct board slug from page content when the URL alone isn't enough.
Added Indeed URL detection — Indeed blocks automated access, so the tool now warns users and suggests finding the original company careers page instead. LinkedIn warnings updated similarly.
Added Brassring (IBM Kenexa) ATS integration. Detects fragment-based job URLs and extracts job title, company, and posting date from enterprise career portals. Improved handling of expired job postings with clear error messages.
Added Google Careers detection with upfront notification that posting dates are not available. Improved company and title extraction for Google job pages. Enhanced Jina Reader fallback with better company pattern matching.
Improved Ashby integration with support for third-party career sites (e.g. CareePuck). Extracts board name from URL path and falls back to direct Ashby job pages for unlisted or confidential postings.
Added Paycor (formerly Newton Software) ATS integration. Detects embedded Paycor job boards and extracts job titles from Paycor's career pages.
Added Gem (jobs.gem.com) ATS integration. Extracts job title, posting date, company, department, employment type, compensation, and location from Gem's GraphQL API.
Added Copy button to result cards. Copies the full result as plain text including job title, company, likely posted date with explanation, all detected dates, and hidden insights.
Added Oracle HCM Cloud job board integration for automatic date extraction. Improved mobile layout with shorter input placeholders and better date display. Filter input now stays highlighted when active, and Clear All button repositioned for clarity.
Added sitemap.xml fallback for date detection. When other methods fail, we now check the site's sitemap for lastmod dates. Works well with SAP SuccessFactors and other enterprise career sites.
Added support for Ashby embedded job boards. Sites using Ashby embeds (with ashby_jid parameter) now fetch job data directly from Ashby's API.
Added support for Greenhouse embedded job boards. Sites using Greenhouse embeds (with gh_jid parameter) now fetch job data directly from Greenhouse's API, including the original posting date.
New "Hidden Insights" feature - automatically extracts and displays hidden metadata from job pages that isn't visible to users, including department info, AI screening status, employment type, and more.
Added report button for unsupported job boards, linking to our Reddit community for feedback.
Added Jina Reader for JavaScript-heavy pages, improved job title extraction, step-by-step loading progress.
Initial launch with support for regex patterns, JSON-LD, Open Graph, and Wayback Machine date detection.