Every record in the AnalystClass tracker comes from an employer's own posting or an official opportunity directory, is checked automatically every morning, and carries the date it was last read. This page explains what each status means, what the automated check is allowed to decide on its own, and the three ways a careers page can look perfectly healthy while the role behind it no longer exists.
Currently 99 records across 48 of 155 monitored firms. Last human verification pass 31 July 2026 to 11 September 2026.
An employer's own careers page, an official opportunity directory, or the applicant tracking system that employer uses. Nothing is taken from job aggregators, forums, spreadsheets circulated between students, or second-hand posts.
A record is published only once an official source has been read directly, and it carries the date that happened. Where a firm runs a programme but has no live vacancy, that is recorded separately as a programme rather than presented as an opening.
Of the 155 firms monitored, 48 currently hold a tracked opportunity. The rest are watched, not padded into the count.
A status word with no definition beside it is the kind of unexplained label that makes a tracker impossible to trust. These are the only five, and this is what each one claims.
Every source URL behind a live record is fetched automatically each morning, shortly after 05:20 UTC, using a real browser rather than a simple request. Several of the sources we publish return nothing at all to a plain fetch and only render their content once JavaScript has run, so a browser is the only way to read them.
What comes back is stored permanently and dated: the response code, the page after any redirects, its text, any machine-readable expiry the employer published, and whether the role we hold is still named on the page. Every claim this tracker makes traces to one of those dated observations.
A deadline passing needs no check at all. A record whose stated deadline is in the past stops being shown as open the day after it passes, without waiting for anyone.
The same run also reads the internship pages of the firms we monitor, watching for openings that have appeared rather than ended. A page is only ever compared against a previous reading of itself, so a page seen for the first time establishes a baseline and produces nothing.
It can close a record and it can add one, and in both directions the limits matter more than the capability. Every automated change records the evidence that caused it, and any one of them can be reversed on its own.
Everything the check is unsure about is written to a report a person reads, rather than applied.
This is the part most worth knowing, whether or not you use this tracker. A careers link that loads normally is not evidence the job is still there. Three distinct shapes turned up across our sources in a single day of checking, and all three return the ordinary success code that a simple checker treats as healthy.
There is a fourth case worth naming: an employer's own search results can continue listing a posting, word for word, after the posting's page has stopped existing. The posting page is authoritative over the listing, including the employer's own.
Each record carries its own last-checked date rather than sharing one across the list, because records are rechecked in batches and a single date would claim the newest for all of them. The tracker states a range for that reason.
Many European employers publish no closing date at all. Not publicly statedmeans the posting gives none, not that we failed to find one. Where a deadline is shown, it is the employer's, quoted from their page.
It happens, and we would rather know. Every row links to the employer's own posting so you can check any claim on this site against its source directly, which is the point of publishing the link beside every record rather than only the summary.
99 tracked opportunities across Europe and the UK, free and without an account.
Open the internship tracker