NewSearch millions of jobs from your AI agent with MCP
All posts
GuideOld
Guide·Feb 5, 2026·9 min read

How to find old job postings: 6 ways to dig up an expired Indeed or LinkedIn listing

Whether you're prepping for an interview, comparing comp bands historically, or hunting for a posting that was taken down - here's how to find an old job posting anywhere, including expired listings on Indeed and closed job postings on LinkedIn.

Dvir Atias

Dvir Atias

Founder, JobsPipe

Job postings disappear all the time. Companies close roles, fill them, pause hiring, or pivot - and the listing comes down within days. If you’re trying to find an old job posting after the fact - for interview prep, comp research, competitive analysis, or just because you saved a link that now 404s - here are six practical ways to dig it up, ranked by how well they actually work in 2026.

1. Google cache (mostly gone)

Google retired the public cache feature in 2024. The cache: operator and the cache link in search results no longer work. Skip this one.

2. The Wayback Machine

The Internet Archive’s Wayback Machine (web.archive.org) is the best free option. Paste the original job URL and check if it was archived. Hit-rate is high for popular companies (their careers pages get crawled frequently) and low for niche/small employers.

Tip: If you don’t have the URL, use Wayback’s site search to enumerate snapshots of the company’s careers root (e.g. boards.greenhouse.io/anthropic) - you’ll see every snapshot taken, and you can read the listings as they appeared.

3. LinkedIn (limited)

If the job was cross-posted to LinkedIn, the LinkedIn listing often stays visible for weeks after the original goes down. Search LinkedIn’s job search for the title and company. Caveat: LinkedIn closes listings quickly too, and historical data is gated.

4. Google Jobs cards

Google Jobs caches listings for some time after they expire from the source. Search Google for "{job title}" {company name} site:jobs.google.com - sometimes the cached card shows up even when the original is gone.

5. ATS-specific archives

Some ATSs retain archived URLs even after the listing is removed. Greenhouse, for example, keeps the static page at its original URL with a “This job is no longer available” banner for months. If you saved the original boards.greenhouse.io/{company}/jobs/{id} URL, it may still resolve.

6. JobsPipe’s 12-month historical data (most reliable)

We retain every job we’ve indexed for 12 months on Pro and Scale plans - including the parsed compensation, full description, and the original apply_url. Query historical postings by company, title, or date range:

curl https://api.jobspipe.dev/v1/jobs/search \
  -H "Authorization: Bearer jp_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "company_name_partial_match_or": ["anthropic"], "posted_at_gte": "2025-08-01", "posted_at_lte": "2025-12-01" }'

Each archived job has an archived_at timestamp so you can tell when it came down. Use cases customers actually do this for: comp benchmarking historical bands, tracking a competitor’s hiring cadence, and recovering a saved listing that 404’d.

How to find expired job postings on Indeed

Indeed is where most people lose a listing, because Indeed postings come down on a timer rather than when the role is actually filled. Indeed’s employer FAQ says free job posts are visible for up to 30 days from the day they are posted in the US, Canada, and most of Western Europe, and for up to 120 days in a second list of countries that includes India, Mexico, and Japan. Sponsored Jobs stay visible for as long as they are sponsored.

So a posting can disappear while the req is still open, and old Indeed job postings are recoverable more often than people assume. If you want the difference between a role that was closed, one that was paused, and one that simply timed out, see what “closed” or “expired” actually means on an Indeed job posting. Here is the recovery order that works.

Start with the exact Indeed URL you saved

Indeed job pages live at indeed.com/viewjob?jk={id}, where jk is the stable job key. Indeed describes closing a post as something that “removes the listing from job seeker search results and archives it”, so a page leaving search does not always mean the URL is dead. Paste the full saved link into a normal browser tab and see what renders.

Do this from a browser, not from a script. A scripted fetch of /viewjob gets a 403 from Indeed’s bot protection, which tells you nothing about whether the posting still exists. Indeed does not publish how long an expired jk keeps resolving, so treat this as ten seconds well spent rather than as a guarantee.

Check your Indeed My Jobs history

If you applied through Indeed, your application is the record. Open My Jobs and go to the Applied tab. Indeed’s help center says applications stop appearing there if “you applied more than six months ago”, and that you can still review applications for jobs posted on Indeed that are older than six months through its Personal Data Request Form.

That form is the most underused route on this list. It is slower than a URL and it returns your application record rather than the original listing page, but it is the only option here that does not depend on someone else having archived anything.

Search engine caches are all gone now, including Bing’s

Section 1 above covers why Google’s cache link went away. The update since then is that Microsoft removed cache links from Bing in December 2024 for the same stated reason, so the old habit of falling back to Bing when Google failed no longer works either. There is no mainstream search engine cache left to check for an Indeed listing.

What still works is the ordinary result snippet. Search site:indeed.com "exact job title" "company name" and read the snippet even if the link is dead, because the snippet often carries the title, location, and the first line of the description. Third-party mirrors such as archive.ph are worth one attempt too, since they capture pages on user request rather than on a crawl schedule.

Point the Wayback Machine at the careers page, not the Indeed URL

Section 2 covers the Wayback Machine generally. For Indeed specifically there is a trap worth knowing. Indeed’s robots.txt disallows /viewjob? under the default User-agent: * rule, and a separate block naming ia_archiver, the Internet Archive’s crawler, carries a blanket Disallow: /. Named search engines like Googlebot and Bingbot get their own allow rule. The archive does not.

The practical result is that individual Indeed job pages are thinly archived, so aim at the employer instead. Put the company’s careers root into https://web.archive.org/*/company.com/careers/* to list every capture the archive holds under that path, then open the blue calendar dots, which mark captures where the crawler got a 2nn response. Orange and red dots are 4nn and 5nn errors and will render as empty pages.

If the listing is still live and you only want to be able to read it later, use Save Page Now on archive.org/web. It takes one snapshot of one page on demand, and it is most reliable pointed at the employer’s own careers URL, which does not carry the crawler blocks Indeed and LinkedIn do.

Go to the employer’s careers site and its ATS

Almost every Indeed listing is a mirror. The original usually lives on the company’s applicant tracking system, and ATS URLs are far more durable than the Indeed copy. Section 5 above covers Greenhouse; the same pattern holds for Lever, Ashby, Workday, and SmartRecruiters, which each keep the job at a stable, predictable path.

If you do not know which ATS a company runs, the fastest tell is where the Apply button on their careers page sends you. For which systems expose their postings openly and which sit behind a partner agreement, see public versus gated ATS APIs.

Search the job title plus the company name

The lowest-effort move, and the one people skip. A role that has expired on Indeed has usually been mirrored to three or four other boards that expire on different schedules, so drop the site: filter entirely and search the exact title in quotes plus the company name. Then check whichever board still has it, starting with the aggregator sites that carry the most duplicate inventory.

How to find old job postings on LinkedIn

LinkedIn behaves almost the opposite way to Indeed, and that works in your favor. LinkedIn’s help center states plainly that “job posts cannot be deleted, they can only be closed”. A closed LinkedIn job is a state change on a record that stays, which is why so many linkedin.com/jobs/view/{id} links keep resolving long after the role is gone.

Section 3 above covers cross-posted LinkedIn listings as a general fallback. This is the LinkedIn-specific version. Two of these routes let you view old job postings on LinkedIn with no third-party tool at all.

Open the saved LinkedIn job URL first

LinkedIn job pages are linkedin.com/jobs/view/{id} with a numeric id. Try the link before anything else. A closed role often still renders, with a “No longer accepting applications” notice where the apply button used to be, which is enough to recover the title, the company, and usually the full description.

Be signed in when you try. LinkedIn serves a much thinner guest view of job pages and can bounce you to a sign-in wall, which reads like the posting is gone when it is not.

Check Job tracker, then the Applied tab

If you applied on LinkedIn, LinkedIn kept the link. Click Jobs at the top of your homepage, then Job tracker in the left rail, then the Applied tab, and select the job to reopen it. LinkedIn’s help center says that after you apply for a job on LinkedIn you can view it again at any time, and it publishes no retention window on that list. If you applied, start here.

The Saved tab in the same place holds anything you bookmarked, up to a cap of 2,000 jobs. Depending on your client this area is labeled Job tracker, My Jobs, or My Items, but the Applied and Saved tabs are the same in each.

If you posted the job, the Closed tab has it

Recruiters and hiring managers have a route candidates do not. Click the Jobs icon, then Manage job posts, then the Closed tab, then the job title to reach the Job Overview page. LinkedIn’s help center notes that when jobs expire “you’ll still be able to view your job post, and will be able to access your applicant list through the old listing if you’ve chosen to collect applications on LinkedIn”.

Expect one quirk: that tab sorts by creation date rather than closing date, so a job you closed yesterday may not be on the first page. Two timing rules explain most of what you find there. A job post stays open “until you close the job manually or until the job automatically closes after 6 months”, and a free job post is paused after 14 days unless it is promoted.

Wayback for LinkedIn is a long shot, and here is why

LinkedIn’s robots.txt allows individual crawlers by name and then ends with a blanket User-agent: * and Disallow: /. Its header states that using robots or other automated means to access LinkedIn without express permission is prohibited, and the Internet Archive is not one of the named crawlers. Public job pages do sometimes turn up in the archive, but do not plan around it.

If you try anyway, search the exact job URL rather than a keyword. Wayback indexes by URL, and Internet Archive’s own help is explicit that keyword search of page content is not supported. Failing that, point it at the company careers page the same way as in the Indeed section above.

If you need this more than once, stop doing it by hand

Every route above is a one-off recovery. If you are reconstructing hiring history across a set of companies rather than chasing a single link, the manual path does not scale, and neither crawler policy above is going to loosen. Section 6 above covers querying a structured archive instead, and what a job postings dataset actually contains covers the shape of the data you get back. For the LinkedIn-specific version of the same question, see scraping LinkedIn jobs with Python.

What about scraping the Wayback Machine programmatically?

Technically possible - Wayback has an API at web.archive.org/wayback/available. But coverage is spotty, the data isn’t normalized, and you’ll spend more time parsing each snapshot’s HTML than you would just querying a structured archive.

Checking liveness programmatically, at scale

The flip side of finding an old posting is knowing the moment a live one closes. If you hold a list of job URLs and want to know which are still open, the DIY route is a tiered checker: query the underlying ATS feed where one exists (Greenhouse, Lever, and Ashby all expose public board JSON, so “is this ID still in the feed” is a clean boolean), fall back to HTTP status (404/410 means gone, but watch for soft-404 redirects to the careers homepage), then JSON-LD validThrough, then per-board tombstone text. Model the result as live / closed / unknown, never as a binary - a timeout is not a closed job.

Or skip building the checker: JobsPipe tracks posting lifecycle as part of collection across 30+ sources. Every record carries closed_at when a posting comes down and a reposted flag when the same role reappears, and paid plans can subscribe to job.closed webhooks - the close event is pushed to you instead of you re-polling a URL list. You can see the record shape right now against the no-key sandbox: POST api.jobspipe.dev/v1/sandbox/jobs/search.

Lifecycle on every record - closed_at, reposted, and job.closed webhooks. Free tier included.

Get a free API key
FAQs

Frequently Asked Questions

How do I find expired job postings on Indeed?

Try the saved indeed.com/viewjob?jk= link first, because Indeed describes closing a post as removing it from job seeker search results and archiving it, so the URL is not always dead. If you applied through Indeed, open My Jobs and check the Applied tab, which shows applications from the last six months and can be extended further through Indeed's Personal Data Request Form. If neither works, go to the employer's own careers page and applicant tracking system, which usually hosts the original of the listing Indeed was mirroring. Old Indeed job postings survive on the ATS far more often than on Indeed itself.

How long do job postings stay up on Indeed before they expire?

Indeed's employer FAQ says free job posts are visible for up to 30 days from the day they are posted in the US, Canada, and most of Western Europe, and for up to 120 days in a second list of countries that includes India, Mexico, and Japan. Sponsored Jobs stay visible for as long as they are sponsored. Employers can also close or pause a post at any time, so a listing coming down does not mean the role was filled.

How do I find old job postings on LinkedIn?

Start with the job URL, because LinkedIn's help center states that job posts cannot be deleted, they can only be closed, so a linkedin.com/jobs/view/ link often still resolves after the role closes. If you applied through LinkedIn, click Jobs, then Job tracker, then the Applied tab. If you posted the job yourself, click Jobs, then Manage job posts, then the Closed tab. Wayback coverage of LinkedIn job pages is thin, because LinkedIn's robots.txt ends with a blanket disallow for any crawler it has not named.

Can you still view a closed job posting on LinkedIn?

Usually yes. LinkedIn's help center states that job posts cannot be deleted, they can only be closed, and that when a job expires the poster can still view it and reach the applicant list. For candidates, a closed listing often still renders at its original linkedin.com/jobs/view/ URL with a No longer accepting applications notice in place of the apply button. Sign in before you try, because the logged-out guest view of LinkedIn job pages is much thinner and can look like the posting is gone.

How do I view old job postings on LinkedIn that I applied to?

Click Jobs at the top of the LinkedIn homepage, then Job tracker in the left rail, then the Applied tab, and select the job to reopen it. LinkedIn's help center says that after you apply for a job on LinkedIn you can view it again at any time, and it publishes no retention window for that list. Depending on your client this area may be labeled Job tracker, My Jobs, or My Items, but the Applied tab is the same in each.

How do I find an old job posting if I never saved the link?

Search the exact job title in quotes plus the company name with no site filter, since the same role is usually mirrored across several boards that expire on different schedules. Then check the employer's own careers page and applicant tracking system, which hosts the original of what the aggregators copied. As a free last resort, put the company careers URL into the Wayback Machine using the web.archive.org/*/company.com/careers/* wildcard form to list every capture it holds, and open the blue calendar dots first because those are the captures that returned a 2nn response.

How do I find an old job posting that has been taken down?

The best free option is the Internet Archive's Wayback Machine at web.archive.org: paste the original job URL and check whether it was archived. Hit-rate is high for popular companies whose careers pages get crawled frequently and low for niche or small employers. Other routes worth trying are LinkedIn cross-posts, which often stay visible for weeks, Google Jobs cached cards, ATS archive pages, and a structured historical job archive.

Does Google cache still work for finding expired job listings?

No, Google retired the public cache feature in 2024. The cache: operator and the cache link in search results no longer work, so it is not a viable route for recovering an expired posting. Google Jobs cards are a partial substitute, because Google Jobs caches listings for some time after they expire from the source, and searching the job title plus company name with site:jobs.google.com sometimes surfaces the cached card.

Is there an API for historical or archived job postings?

Yes. JobsPipe retains every job it has indexed for a rolling 12 months on all plans, including parsed compensation, the full description, and the original apply_url. You can query historical postings by company, title, or date range through api.jobspipe.dev/v1/jobs/search, and each closed job carries a closed_at timestamp so you can tell when it came down. Free tier included; Builder is $49 per month for 25,000 jobs.