Closed Jobs Feed: Jobs Removed from 11,700+ Career Sites
Pricing
from $0.10 / 1,000 closed jobs
Closed Jobs Feed: Jobs Removed from 11,700+ Career Sites
Jobs removed from 11,700+ company career sites (Greenhouse, Ashby, Lever, Personio, SmartRecruiters, Teamtailor, Recruitee) at each index refresh: ids and links to delete stale listings.
Pricing
from $0.10 / 1,000 closed jobs
Rating
0.0
(0)
Developer
Dodo Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Jobs removed from 11,700+ company career sites (Greenhouse, Ashby, Lever, Personio, SmartRecruiters, Teamtailor, Recruitee) at each index refresh: ids, titles and links to delete stale listings. The refresh of 2 November 2026 found 1,687 jobs closed at 300 companies: 734 on Lever, 556 on SmartRecruiters, 266 on Greenhouse, 124 on Ashby and 7 on Personio, out of an index of 469,712 open jobs from 9,356 career sites.
In one minute
- What you get: one JSON row per closed job: its
id, the career-page system, the company's board name, the employer's posting address, the job's title and company name as last listed, the dates the index first and last listed it, andclosed_on, the date of the index refresh that no longer found it. Theidis the same as in Career Site Jobs Search, so you can delete exactly the jobs you took from it. - What it costs: a start fee of $0.02 per run at the default 1 GB of memory (one more for each extra GB) plus $0.10 per 1,000 closed jobs. Every job closed by the refresh of 2 November (1,687) costs about $0.19; a run for three companies (294 jobs) about $0.05; every job closed in the seven days to 2 November (31,892, with Max rows raised above 10,000) about $3.21. Refreshes vary: they closed 16,380, 2,566, 9,622, 1,644 and 1,687 jobs on each day from 29 October to 2 November 2026. Apify's free plan includes $5 of usage every month.
- Try it: click Start. The form comes filled with Greenhouse and Max rows 100, so the first run returns 100 closed jobs for $0.03 (the start fee plus 100 rows). Clear both fields for every job closed by the latest refresh, which is also what a call with no input returns (up to 10,000 rows): on 2 November 2026 that call returned all 1,687 in about 2 seconds.
One real row from the prefilled run of 2 November 2026:
{"id": "greenhouse:affirm:7775353003","ats": "greenhouse","company": "affirm","company_name": "Affirm","title": "Model Risk Management Lead, Machine Learning","url": "https://job-boards.greenhouse.io/affirm/jobs/7775353003","first_seen_at": "2026-10-22","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:06.624Z"}
What you can filter
| Filter | What it does |
|---|---|
| Closed within (days) | closures from the index refreshes of the last N days, 1 to 30, counted in UTC days (1 is today's refresh only, from 00:00 UTC); empty for the latest refresh, whatever its date |
| Career-page systems | Greenhouse, Ashby, Lever, Personio, SmartRecruiters, Teamtailor, Recruitee |
| Companies | by career-page slug (1password, carvana), career-page URL (https://jobs.lever.co/boxlunch) or system and slug (lever:boxlunch) |
| Max rows | 1 to 100,000 per run (10,000 when empty; the form starts at 100); it is also your spend cap |
Every filter runs before a row is saved, so you only pay for the closed jobs you get. A system the index does not cover (Workday, for example) returns nothing rather than everything, and Max rows of 0 or a window outside 1 to 30 days stops the run with an input error before any row is charged.
How to use it
- If you list jobs from Career Site Jobs Search, keep each job's
id. Run this Actor after each index refresh and delete the ids it returns. - For a daily routine: schedule it daily at 04:00 UTC with Closed within (days) set to 1. Days are counted in UTC, so a run scheduled before the refresh (at 01:00 UTC, say) would find nothing from today. The index refreshes daily, starting at 02:15 UTC and written by about 03:00 UTC, so each run gets that day's closures once; on a day the refresh does not complete, the run returns nothing and costs only the start fee. The run log names the refresh it read.
- The index keeps each refresh's closures for 30 days, from 29 October 2026, so Closed within (days) set to 7 returns the refreshes of the last seven days, each job once, at its latest closure. Use the
idto match, rather than theurl: see below. - Download as JSON, CSV or Excel, call it from the API, or let an AI agent call it through Apify's MCP server.
How it knows a job closed
A private collector reads every board in the index at each refresh. A job counts as closed only when its company's board was read in that refresh and no longer lists it; when a board cannot be read, its jobs are kept for the next refresh rather than reported closed. We checked 87 of the closures of 2 November against the live boards the same morning (20 per system, all 7 on Personio): 86 were gone from the employer's board, and one had been re-posted under a new id and a longer title. On SmartRecruiters a large board can list fewer distinct jobs than it reports while it is being read, because its pages shift; such a board reports no closures in that refresh (11 boards on 2 November), so its live jobs are never reported closed, and a job it really closed that day is not reported at all.
A job re-posted under a new id with the same title, place and requisition number is not a closure: the refresh of 2 November found 309 of them, and the new id keeps the first-seen date. Some employers do this daily at scale: 5,979 such false closures, 30% of the 19,811 first recorded for 30 October to 1 November, were removed from the records on 1 November.
A board that has gone (it answers 404) or now lists no jobs at all closes every job it had in that refresh. The refresh of 2 November 2026 read 9,695 boards in full and 11 in part, and found 1,022 gone; it failed on none.
A job that closes and is later listed again counts as a new job: it gets a new first_seen_at, and its earlier closure stays in the rows of that day.
url is the last address the index listed for the job (built from the id the way the index builds it, when a record keeps no address). For Ashby, Lever, Personio and SmartRecruiters it is the posting on the system's own board. For Greenhouse about three in four (74% of the closures of 2 November) are on a Greenhouse board and the rest on the employer's own careers site. That is why id is the safer key.
company_name is empty for Lever and Ashby, whose listings carry no display name, and on a few Personio boards (3 of 7 on 2 November). title, first_seen_at and last_seen_at are empty only for a job closed and listed again the same day; on 2 November none was.
What we deliberately do not collect
- No text of a removed posting: the rows carry ids, names of boards, dates and links, nothing the employer took down.
- No personal data, nothing behind a login, no candidate data, no tracking.
- This Actor declares limited permissions: it can only write to its own storages on your account.
Ten real rows
Two per system, from the run of 2 November 2026 with no input (build 0.1.6, the index refresh of the same day):
[{"id": "ashby:kalshi:346145cd-5542-45fe-93f6-066f64619963","ats": "ashby","company": "kalshi","company_name": null,"title": "Senior Accountant","url": "https://jobs.ashbyhq.com/kalshi/346145cd-5542-45fe-93f6-066f64619963","first_seen_at": "2026-10-22","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "ashby:clera:5e268976-cfd4-4518-af69-9f7210872667","ats": "ashby","company": "clera","company_name": null,"title": "Applied AI Engineer","url": "https://jobs.ashbyhq.com/clera/5e268976-cfd4-4518-af69-9f7210872667","first_seen_at": "2026-10-26","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "greenhouse:payoneer:8169291","ats": "greenhouse","company": "payoneer","company_name": "Payoneer","title": "Card Processing Expert","url": "https://www.payoneer.com/careers/position/8169291/?gh_jid=8169291","first_seen_at": "2026-10-22","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "greenhouse:artefactlinkedin:8819682002","ats": "greenhouse","company": "artefactlinkedin","company_name": "LinkedIn Job Wrapping","title": "AI Strategist - China Campus Recruitment 2027","url": "https://job-boards.greenhouse.io/artefactlinkedin/jobs/8819682002","first_seen_at": "2026-10-26","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "lever:bluelightconsulting:69b46cb3-ed28-40ef-a6bf-1a78253814fb","ats": "lever","company": "bluelightconsulting","company_name": null,"title": "Full Stack Laravel + React Developer - Remote, Latin America","url": "https://jobs.lever.co/bluelightconsulting/69b46cb3-ed28-40ef-a6bf-1a78253814fb","first_seen_at": "2026-10-22","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "lever:shieldai:247d37ed-a7fd-4e2a-94ce-28902ab26fbd","ats": "lever","company": "shieldai","company_name": null,"title": "Senior Staff Deep Learning Engineer (R5675)","url": "https://jobs.lever.co/shieldai/247d37ed-a7fd-4e2a-94ce-28902ab26fbd","first_seen_at": "2026-10-22","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "personio:kuhler-and-partners.com:2620738","ats": "personio","company": "kuhler-and-partners","company_name": null,"title": "Clinical Internship Amsterdam 1 February 2027 - 31 August 2027","url": "https://kuhler-and-partners.jobs.personio.com/job/2620738","first_seen_at": "2026-10-26","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "personio:wfv.de:2832713","ats": "personio","company": "wfv","company_name": "Württembergischer Fußballverband e.V.","title": "Regionalmanager Süd (m/w/d)","url": "https://wfv.jobs.personio.de/job/2832713","first_seen_at": "2026-10-26","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "smartrecruiters:bew:744000157764622","ats": "smartrecruiters","company": "bew","company_name": "BEW Berliner Energie und Wärme GmbH","title": "Cloud Engineer – Azure Local & Enterprise Backup Solutions (w/m/d)","url": "https://jobs.smartrecruiters.com/bew/744000157764622","first_seen_at": "2026-10-29","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"},{"id": "smartrecruiters:hatohonestjohn:6000000001404830","ats": "smartrecruiters","company": "hatohonestjohn","company_name": "Hato Hone St John","title": "Ambulance & Events Volunteer - Te Manawaroa Pathway","url": "https://jobs.smartrecruiters.com/hatohonestjohn/6000000001404830","first_seen_at": "2026-10-29","last_seen_at": "2026-11-01","closed_on": "2026-11-02","scraped_at": "2026-11-02T03:16:01.077Z"}]
Related Actors
- Career Site Jobs Search: search the open jobs of the same index by title, place, remote, pay and date.
- Career Jobs Feed: only the jobs new since your last run, from the same index, each delivered once; schedule it next to this one.
- Career Page Jobs Scraper: read specific companies' career pages live, on ten systems including Workday and SmartRecruiters, with a monitor mode for new, changed and closed jobs.
Price
$0.02 per run at up to 1 GB of memory (the default; one more start fee for each extra GB) plus $0.10 per 1,000 closed jobs. Any change is announced 14 days ahead through Apify, as its rules require, and applies to every user alike.
Questions and feedback
Something missing, wrong or unclear? Open an Issue on this page: we answer within a day, and fixes usually ship within 48 hours. If the Actor saved you time, a short review here helps other people find it.
Changelog
- 2026-11-04: Teamtailor and Recruitee joined the index in the refresh of 4 November 2026 (18,605 Teamtailor and 23,260 Recruitee jobs; 511,622 jobs from 11,768 career sites in all), and Career-page systems lists both. That refresh was the first to read them, so their closures start with the next one.
- 2026-11-02, v0.1.7: every figure on this page re-measured on Apify from the refresh of 2 November, after the index stopped counting re-posted jobs as closed (5,979 removed from the records of 30 October to 1 November).
- 2026-10-31, v0.1.5: under a maximum cost per run, the run reports the rows Apify really saved and says the cost limit stopped it (a $0.03 cap with Max rows 1,000 saved 100 rows and used to report 1,000).
- 2026-10-31, v0.1.2: SmartRecruiters closures served. The index has carried SmartRecruiters since 29 October; before this build its closures (6,875 of 12,887 on 31 October) were left out. Rows carry title, company name and dates from the dated closure records, kept 30 days from 29 October 2026. The figures on this page were measured on Apify the same day.
- 2026-10-27, v0.1: first build, tested locally against the index refresh of 27 October 2026 (6,570 closed jobs). Before publishing: a system the index does not cover returns nothing, Max rows of 0 and a window outside 1 to 30 days are input errors, a failed read of the index's record list stops the run instead of serving a shorter window, default memory 1 GB, and the history is read one refresh at a time.