How the UK sponsor checker data works

How this site turns the published register into what you see.

Source

Every publish is fetched directly from GOV.UK's published CSV of the register of licensed sponsors, via the content API rather than a hardcoded link, so it keeps working when GOV.UK rotates the file URL.

Sync cadence

A sync runs automatically once a day at 06:00 UTC. It hashes the fetched file first - if it's byte-identical to the last one processed, nothing else happens and that's recorded as a no-change run.

Sponsor identity

Each sponsor is identified by a normalised organisation name paired with its town, not name alone. Around 1,000 real organisations in the register share an identical name across multiple towns (multi-branch employers, franchises, NHS trusts) - keying identity by name alone would have silently merged distinct licences.

What “removed from the register” means today

Because identity is (name, town), a rename or an office relocation currently looks identical to a genuine licence loss - both show up as a removal followed by an addition. Treat every removal figure on this site as observed register movement, not confirmed licence loss, until Companies House cross-referencing (in progress) can tell these apart. This is also why KPI tiles show a single "removed" figure rather than a revoked/ceased split - splitting it today would mean guessing.

Sector labels

Sector is inferred from keywords in the organisation's name (e.g. "care", "construction"). It is not part of the official register, is not verified against Companies House SIC codes yet, and will be wrong for organisations whose name doesn't hint at what they do.

History & snapshots

Every publish that changes the file is kept as a gzipped snapshot, and every individual sponsor-level change (added, removed, rating changed, route added/removed) is logged as an event. KPI figures are derived directly from that event log, not a separately-maintained running total, so they can never drift out of sync with the underlying history.