Most HR tools that claim to verify UK sponsor licence status are doing one thing: checking whether a company name string exists in the Home Office register CSV. That sounds fine until you hit the edge cases — and in practice, most real verification requests are edge cases.
This post covers the lookup logic that actually works, the register columns most systems misread, and the verification gaps you need to handle outside the CSV entirely.
What the Register Contains (and What It Doesn't)
The public register lives at gov.uk/government/publications/register-of-licensed-sponsors-workers. It's a spreadsheet, updated every working day. The columns that matter:
- Organisation Name — legal name as registered with Companies House, not trading name
- Town/City — registered address town, often the head office
- Type of sponsor — "Worker", "Student", or both
- Route — the specific immigration route(s) covered: Skilled Worker, Senior or Specialist Worker, Minister of Religion, International Sportsperson
- Rating — "A" (compliant) or "B" (on action plan)
What it does not contain:
- Companies House registration number
- Whether the sponsor can currently issue CoS for a specific SOC code
- Whether the sponsor has active CoS allocation remaining
- The number of sponsored workers they currently hold
This means any verification system that only checks the register is answering "is this entity licenced?" — not "can this entity sponsor this person for this role right now?"
The Legal Name Mismatch Problem
The single biggest source of false negatives in automated lookup: searching by trading name when the register only contains legal entity names.
"ACME Tech" doesn't appear because the registered entity is "ACME Technology Solutions Limited." "The Coffee Company" is "TCS Group Holdings plc." Large employers frequently hold their sponsor licence under a parent or subsidiary entity that has no obvious name relationship to the brand candidates know.
Lookup logic that handles this:
- Attempt exact match on Organisation Name column
- On failure: fuzzy match with threshold (Levenshtein distance ≤ 3 handles typos and minor variations)
- On failure: query Companies House API (
api.company-information.service.gov.uk/search/companies?q={name}) to retrieve registered name, then retry exact match against register - On failure: return "not found — manual verification required" rather than "not licenced"
Step 3 is the critical one most systems skip. The Companies House API is free, requires no authentication for basic search, and returns the registered legal name in items[].title. A two-call workflow (CH lookup → register match) resolves the majority of trading-name mismatches.
Rating Logic: B-Rated Is Not "Not Licenced"
A-rated sponsors are compliant. B-rated sponsors are on a Home Office action plan — usually triggered by compliance audit failures: inadequate right-to-work record keeping, failure to report migrant absences within 10 working days, HR system deficiencies.
What B-rated means for your workflow:
- The sponsor can still issue CoS, but only for workers already in the UK (no overseas recruitment under most routes)
- Their licence is under active review — revocation is a possibility
- If you're screening employers for a candidate who's currently overseas, a B-rating should trigger a flag: this route may not be available to them even if the licence is technically active
Many compliance tools display B-rated sponsors as simply "active" or "licenced" without surfacing the rating. That's a meaningful omission for overseas candidates.
The Update Lag Problem
The register is refreshed every working day, but "every working day" means there's always a lag window. A licence revoked on Monday may still appear on Tuesday's register. Revocations and suspensions under the Home Office's immediate action powers (used for suspected abuse) can take 48-72 hours to appear.
For high-stakes decisions — particularly where a candidate has already entered the UK on a sponsored visa — you need a secondary check: confirm with the employer's HR that their licence is active and unencumbered.
There's no API endpoint for real-time licence status. The register CSV is the only public data source. Design your system to treat the register as "last confirmed as of [date]" rather than "currently confirmed."
CoS Allocation: The Gap the Register Can Never Fill
A licenced sponsor with an A rating may still be unable to issue a CoS for a specific candidate if:
- They've exhausted their annual CoS allocation (set by the Home Office when the licence was granted)
- A specific SOC code is restricted on their licence due to compliance conditions
- They've been issued a "minded to revoke" notice that hasn't yet been actioned publicly
None of this is in the register. The only way to surface it is asking the employer's HR or immigration team directly.
The practical implication for HR workflow tools: register verification should never be the final step. It should gate whether you proceed to human verification, not replace it.
Implementation Checklist
For any system doing UK sponsor licence verification:
- [ ] Use legal entity name from Companies House, not trading name input
- [ ] Surface the Rating column (A/B), don't just return boolean licenced/not
- [ ] Timestamp every lookup with the register date, not the query date
- [ ] Flag B-rated sponsors differently for overseas vs. in-UK candidates
- [ ] After register match, require HR confirmation before treating CoS as available
- [ ] Handle "not found" as "manual check needed" not "not licenced"
Tools that skip steps 2, 3, or 6 are generating false confidence at the points in candidate screening where false confidence is most expensive.
For checking employer sponsor status directly, the search tool at immigrationgpt.co.uk queries the same Home Office register data with fuzzy name matching, updated daily.
This is for general technical and informational purposes. It does not constitute legal or immigration advice.
Top comments (1)
Your insights on the lookup logic gaps for sponsor licence verification highlight some crucial points that many systems overlook. The integration of the Companies House API for resolving trading name discrepancies is a smart approach—having encountered similar issues in past projects, I've found that such proactive checks can significantly reduce false negatives. Additionally, implementing a more transparent way to flag B-rated sponsors in your workflow could greatly enhance decision-making for candidates. If you’re looking for help refining this implementation or exploring further automation, I’d be keen to discuss potential collaboration on this.