Calendar icon

About When This Job Was Posted?

Ready to check a job posting?

Check a Job Posting Date

No ads · No cookies · History stored locally in the browser · Free & unlimited

Add job date detection to your AI tools or workflows Connect to your AI BETA

How It Works

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.

Data Sources (checked in order)

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.

Conflict Detection

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.

Supported Platforms

The tool has direct integrations with these applicant tracking systems, plus generic extraction that works on most other job sites.

Platform Detection Status
Greenhouse boards.greenhouse.io, gh_jid param, iframes Supported
Lever jobs.lever.co Supported
Ashby jobs.ashbyhq.com, ashby_jid param Supported
Workable apply.workable.com Supported
Oracle HCM Cloud *.oraclecloud.com/hcmUI Supported
Gem jobs.gem.com Supported
BambooHR *.bamboohr.com/careers Supported
Brassring brassring.com Supported
Paycor gnk=job&gni= params Supported
Paycom paycomonline.net Supported
SAP SuccessFactors successfactors in page source Supported
Workday *.myworkdayjobs.com Supported
SmartRecruiters jobs.smartrecruiters.com Supported
ADP Workforce Now workforcenow.adp.com Supported
Rippling ats.rippling.com Supported
Jobvite jobs.jobvite.com Supported
iCIMS *.icims.com Supported
Avature *.avature.net Supported
Teamtailor *.teamtailor.com + custom domains via HTML fingerprint Supported
Indeed indeed.com Blocked
LinkedIn linkedin.com/jobs Supported
Google Careers careers.google.com No dates available
Kula careers.kula.ai No dates available

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.

Frequently Asked Questions

How do I tell when a job was posted?

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:

  1. The applicant tracking system's database — When a job is created in Greenhouse, Lever, Ashby, Workday, and others, the original creation timestamp is stored and exposed via the ATS's API. This is the ground truth and can't be manipulated.
  2. Structured data on the page — Job pages sometimes embed a JobPosting schema with a datePosted field for Google for Jobs. Usually accurate, but can be reset on republish.
  3. The Wayback Machine — The Internet Archive captures pages over time. The earliest snapshot of a job URL tells you the listing existed at least that long ago, even if the posted date now claims otherwise.
  4. Sitemap entries — Most career sites publish a 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.

How can I verify if a job posting was active as of a specific date?

Two questions, two answers:

  1. Did the listing exist on date X? Paste the job URL into the tool on the homepage. It automatically queries the Internet Archive (Wayback Machine) for the earliest snapshot of the page — if the earliest capture is on or before your target date, the listing was up then.
  2. Was it still accepting applications on date X? Harder to prove because closure dates are rarely published. The strongest evidence is a combination of an ATS posting date earlier than X, the listing still being live today, and a Wayback snapshot of the application form on that date. If a role was first posted before X and is still up now, it was almost certainly active in between.

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.

What is a ghost job?

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.

How can I tell if a job posting is old or reposted?

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.

Which job boards does this tool support?

It has direct API integrations with 18 applicant tracking systems: Greenhouse, Lever, Ashby, Workable, Oracle HCM Cloud, Gem, BambooHR, Brassring, Paycor, Paycom, SAP SuccessFactors, Workday, SmartRecruiters, ADP Workforce Now, Rippling, Jobvite, iCIMS, and Avature. For all other job sites, it uses generic extraction methods that work on most career pages.

How can I tell if an Indeed job is a fresh posting or an automatic repost?

Indeed's "posted" date often reflects when the listing was last refreshed, sponsored, or boosted — not when the role was first opened. A "Posted 2 days ago" tag can sit on a role that's actually been open for months. The difference matters: a freshly-opened role and a 6-month-old repost are very different odds for an applicant.

To verify the real posting date:

  1. On the Indeed listing, click "Apply on company site" or find the company's own careers page link. This takes you to the original posting on their applicant tracking system (Greenhouse, Lever, Workday, Ashby, and others are supported).
  2. Copy that URL and paste it into the tool on the homepage. The ATS keeps the original creation date even when the role is republished or sponsored on Indeed.

If the date the tool returns is much older than what Indeed shows, the listing has been reposted or refreshed — a common sign of a stale or ghost job. Indeed blocks automated tools from reading its pages, which is why this two-step workaround is the most reliable way to compare the real posting date with what Indeed displays. (LinkedIn jobs work directly — paste a LinkedIn job link and the tool reads what LinkedIn shows publicly. The displayed date is approximate, since LinkedIn often refreshes/reposts timestamps.)

Is there a public API to get job postings from 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.

Is this tool free?

Yes, completely free with no ads, no account required, and unlimited use. If it helped you, consider supporting its development:

Do you store my data?

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.

How accurate are the dates?

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.

What if no date is found?

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 Date

No ads · No cookies · History stored locally in the browser · Free & unlimited

Integrations

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.

Community & Feedback

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.

Support This Project

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.

Version History

v1.4.3 April 29, 2026

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.

v1.4.2 April 28, 2026

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".

v1.4.1 April 27, 2026

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.

v1.4.0 April 27, 2026

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.

v1.3.2 April 26, 2026

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.

v1.3.1 April 25, 2026

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.

v1.3.0 April 24, 2026

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.

v1.3.0 April 22, 2026

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.

v1.2.28 April 20, 2026

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.

v1.2.27 April 20, 2026

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.

v1.2.26 April 19, 2026

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.

v1.2.25 April 10, 2026

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.

v1.2.24 April 9, 2026

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.

v1.2.23 April 8, 2026

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.

v1.2.22 April 8, 2026

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.

v1.2.21 April 7, 2026

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.

v1.2.20 April 7, 2026

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.

v1.2.19 April 7, 2026

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.

v1.2.18 March 27, 2026

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.

v1.2.17 March 26, 2026

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.

v1.2.16 March 25, 2026

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.

v1.2.15 March 18, 2026

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.

v1.2.14 March 3, 2026

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.

v1.2.13 March 3, 2026

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.

v1.2.12 March 3, 2026

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.

v1.2.11 February 6, 2026

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.

v1.2.10 February 5, 2026

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.

v1.2.9 January 30, 2026

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.

v1.2.8 January 27, 2026

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.

v1.2.7 January 27, 2026

Added Paycor (formerly Newton Software) ATS integration. Detects embedded Paycor job boards and extracts job titles from Paycor's career pages.

v1.2.6 January 27, 2026

Added Gem (jobs.gem.com) ATS integration. Extracts job title, posting date, company, department, employment type, compensation, and location from Gem's GraphQL API.

v1.2.5 January 26, 2026

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.

v1.2.4 January 26, 2026

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.

v1.2.3 January 24, 2026

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.

v1.2.2 January 23, 2026

Added support for Ashby embedded job boards. Sites using Ashby embeds (with ashby_jid parameter) now fetch job data directly from Ashby's API.

v1.2.1 January 23, 2026

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.

v1.2.0 January 18, 2026

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.

v1.1.2 January 17, 2026

Added report button for unsupported job boards, linking to our Reddit community for feedback.

v1.0.1 January 17, 2026

Added Jina Reader for JavaScript-heavy pages, improved job title extraction, step-by-step loading progress.

v1.0.0 January 16, 2026

Initial launch with support for regex patterns, JSON-LD, Open Graph, and Wayback Machine date detection.