Every ATS API answers what is open right now. None of them tell you what went away.
There is no closed_at, no deletions feed and no tombstone. A
role filled yesterday is simply absent today, indistinguishable from one that
never existed. So closures only exist if something was watching: we have
recorded 34,361 so far.
A failed fetch is not a closure. If a board times out or rate-limits you, every job on it vanishes from your response, and a naive diff records the company closing everything on the day their CDN had a bad afternoon. Only diff boards that answered successfully.
The close date is an interval, not a moment. What you observe is the
first run that missed the job, which is not when it was removed: the truth is
between the last sighting and that miss. Measured across our own closures that
window averages one day and reaches six. We ship both ends,
lastSeen and closedOn, plus
daysOpenMin and daysOpenMax, so a row reads "open 1
to 3 days" rather than a confident 3.
Verified against live boards on 2026-08-10: of 225 sampled roles we had marked closed, 225 were genuinely gone from the employer's board. Of 400 we list as open, 381 were still there; the rest closed after the harvest and are marked on the next build.
Closures per company, with the hiring signal beside them: B2B Leads Finder. Role-level: ATS Jobs Search in closed mode.