UK Visa Sponsor Register Tracker (Daily Changes)
Pricing
from $5.00 / 1,000 sponsor licence rows
UK Visa Sponsor Register Tracker (Daily Changes)
Track new, removed and downgraded UK visa sponsors daily from the official Home Office register, or check if a company holds a sponsor licence. For job boards, recruiters and immigration lawyers. Organisations only, no API key. JSON via API or MCP. $5/1,000 rows.
Pricing
from $5.00 / 1,000 sponsor licence rows
Rating
0.0
(0)
Developer
Japan Open Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Track new, removed and downgraded UK visa sponsors daily from the official Home Office register, or check in one call whether a company holds a sponsor licence. This Actor reads the official Register of licensed sponsors: workers that the Home Office publishes on GOV.UK every working day (about 127,000 organisations, 143,000 licences) and returns clean, flat JSON: one row per licence, or one row per change since your last run.
- Changes mode: schedule it daily and get only what changed - newly licensed sponsors, licences removed, A-to-B downgrades and upgrades. The first run saves a baseline for free.
- Lookup mode: "Is Monzo a licensed sponsor? For which visa routes? A or B rating?" - one row per licence, and a free
not_foundrow (isLicensedSponsor: false) for a name that is not on the register. - Official GOV.UK source, fetched live each run. No API key, no login, no scraping of third-party sites.
- Organisations only. Sole traders licensed under their own name are never returned (see Privacy).
- Built for pipelines and AI agents: flat camelCase fields, a
statuson every row, plain-English errors that are never charged.
Why use this instead of the GOV.UK spreadsheet or a sponsor-list website?
| GOV.UK CSV | Free checker websites | Paid sponsor-list sites (typically £10-£30 a month) | This Actor | |
|---|---|---|---|---|
| Is company X a licensed sponsor? | Download 11 MB, search by hand | Yes, one at a time, in a browser | Yes, in a browser | Yes, up to 500 names per run, via API |
| What changed since yesterday? | Download two files and diff them yourself | Some email a job-seeker about one employer | Some send weekly or keyword alerts | Yes, daily: added / removed / downgraded / upgraded rows, for the whole register or your watchlist |
| Filter by town, visa route, rating | Excel filters | Partly | Yes | Yes, and combined with names |
| Machine-readable, schedulable | CSV with messy spacing and casing | No | CSV downloads at best | Flat JSON, API, webhooks, MCP |
| Pricing | Free | Free | Monthly subscription | Pay per row: $5 per 1,000 rows, no subscription |
| Sole traders' personal names | Included | Included | Usually included | Excluded |
What can you do with the UK Visa Sponsor Register Tracker?
- Immigration law firms and visa consultancies - every day's newly licensed sponsors are organisations that have just started hiring from abroad (a lead list); removed and downgraded sponsors are clients that need help now.
- Job boards and recruitment agencies - tag every job ad with "this employer can sponsor a Skilled Worker visa", and drop employers whose licence was revoked, before candidates apply.
- HR, compliance and supplier-risk teams - watch your own licence, your group companies, clients or subcontractors, and get a row the day one is downgraded to B or removed.
- AI agents - answer "can this company sponsor my visa?" with one tool call and a source link.
How to use
- Click Try for free. The default input checks three well-known sponsors (Deloitte, Monzo, Google) and returns 7 rows in about 10 seconds.
- To check companies, put their names in Company names and keep Mode = lookup.
- To track changes, set Mode = changes. Keep your watchlist in Company names, or clear it to watch the whole register; add towns, routes or a rating to narrow it.
- Run it once (this saves the baseline, free), then schedule it.
Run it on a schedule (the main use)
- In Apify Console open Schedules > Create new, choose this Actor, and paste an input such as
{"mode": "changes", "companyNames": []}(the whole register) or{"mode": "changes", "companyNames": ["Acme Ltd", "Example Care Ltd"]}(a watchlist). - Set it to run daily (for example 12:00 UK time; GOV.UK usually publishes the day's register in the morning on working days).
- Add an integration or webhook (Slack, email, Google Sheets, Zapier, Make, your CRM) on Run succeeded to receive the new rows.
- On days when GOV.UK did not publish a new register (weekends, bank holidays), the run returns one free
noChangesrow.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
mode | lookup / changes | lookup | Lookup: current licences that match. Changes: what changed since your last run with the same filters. |
companyNames | list of text | ["Deloitte", "Monzo", "Google"] | Names to check or watch. Matches a registered name that contains the text at the start of a word, ignoring case and punctuation ("Monzo" matches "Monzo Bank Ltd"). Empty = the whole register. Up to 500. |
nameMatch | contains / exact | contains | exact compares the whole name, ignoring case, punctuation, "Ltd"/"Limited"/"PLC"/"LLP" and "UK". |
towns | list of text | all | The register's own Town/City column, e.g. ["London", "Manchester"]. |
routes | list of text | all | Visa routes as written on the register, e.g. ["Skilled Worker"], "Global Business Mobility: Senior or Specialist Worker", "Creative Worker", "Scale-up". |
rating | any / A / B / Provisional | any | A includes "A (Premium)" and "A (SME+)". |
groupByOrganisation | boolean | false | Lookup mode: one row per organisation and town, routes and ratings joined with "; ", plus licenceCount. |
maxResults | integer | 100 (lookup), 10,000 (changes) | Charged rows per run. Lookup: shared evenly between the names; a name left without a row is listed in a free not_found row. Changes cut off by this limit are not lost: the next run returns them. |
watchlistName | text | empty | Only needed if you run two schedules with the same filters: give each its own name so each receives every change. |
Input examples
{ "mode": "lookup", "companyNames": ["Monzo Bank Ltd", "Revolut Ltd", "Qwertyzzz Widgets"], "nameMatch": "exact" }
{ "mode": "changes", "companyNames": [], "routes": ["Skilled Worker"], "towns": ["London", "Manchester", "Birmingham"] }
Output
Lookup row (real data, register dated 2026-09-23):
{"status": "ok","changeType": null,"query": "Monzo","organisationName": "Monzo Bank Ltd","organisationKey": "monzo-bank-ltd--london","town": "London","county": null,"route": "Skilled Worker","workerType": "Worker","rating": "A","previousRating": null,"typeAndRating": "Worker (A rating)","isLicensedSponsor": true,"organisationIsNew": null,"organisationRemoved": null,"licenceCount": null,"registerDate": "2026-09-23","previousRegisterDate": null,"registerCsvUrl": "https://assets.publishing.service.gov.uk/media/6ab3900f8cb3c0580e501018/SP_-_Worker_and_Temporary_Worker_Web_Register_-_2026-09-23.csv","sourceUrl": "https://www.gov.uk/government/publications/register-of-licensed-sponsors-workers","fetchedAt": "2026-09-23T23:06:59Z","attribution": "Home Office Register of licensed sponsors: workers, published on GOV.UK. Contains public sector information licensed under the Open Government Licence v3.0. Not affiliated with, or endorsed by, the Home Office or UK Visas and Immigration. Organisations only; ..."}
Changes rows (illustrative, organisation names invented; fields trimmed):
[{ "status": "ok", "changeType": "added", "organisationName": "Example Robotics Ltd", "town": "Leeds","route": "Skilled Worker", "rating": "A", "organisationIsNew": true,"registerDate": "2026-09-24", "previousRegisterDate": "2026-09-23" },{ "status": "ok", "changeType": "downgraded", "organisationName": "Example Care Services Ltd", "town": "Bradford","route": "Skilled Worker", "rating": "B", "previousRating": "A","registerDate": "2026-09-24", "previousRegisterDate": "2026-09-23" },{ "status": "ok", "changeType": "removed", "organisationName": "Example Hospitality Ltd", "town": "London","route": "Skilled Worker", "rating": "A", "organisationRemoved": true, "isLicensedSponsor": false,"registerDate": "2026-09-24", "previousRegisterDate": "2026-09-23" }]
Free rows: {"status": "not_found", "changeType": "baselineSaved", "error": "No earlier run with these filters was found, so this run saved the register dated 2026-09-23 (131641 licence(s) for the whole register) as the baseline. ..."}, noChanges, a not_found row per company name that is not on the register, and error rows for invalid input.
Output fields
| Field | Meaning |
|---|---|
status | ok (charged), not_found or error (free) |
changeType | Changes mode: added, removed, downgraded (A to B), upgraded (B to A), ratingChanged (any other rating change); free rows: baselineSaved, noChanges, registerIncomplete. null in lookup mode |
query | Lookup mode: which of your company names this row answers |
organisationName, town, county | As published (spacing tidied). There are no street addresses or postcodes in the register |
organisationKey | Stable key of name + town, for joining runs and de-duplicating |
route, workerType, rating, typeAndRating | Visa route, "Worker" or "Temporary Worker", rating (A, B, A (Premium), A (SME+), Provisional) and the raw published text |
previousRating | Rating before a downgrade / upgrade |
isLicensedSponsor | true on current licences; false on a not-found name, or on a removed row when the organisation has no licence left |
organisationIsNew / organisationRemoved | added: the organisation had no licence before; removed: it has none left |
licenceCount | With groupByOrganisation |
registerDate, previousRegisterDate | Date of the GOV.UK file used, and of the one it was compared with |
registerCsvUrl, sourceUrl, fetchedAt, attribution | Provenance |
error | Plain-English reason on free rows |
How much does it cost?
Pay per event - you only pay for rows with status: "ok":
| Event | Price |
|---|---|
Sponsor licence row (result-row) | $0.005 per row ($5.00 per 1,000) |
| Actor start | $0.002 per run |
not_found, noChanges, baselineSaved and error rows are free.
| Use | Rows | Cost |
|---|---|---|
| Check one company (1-3 licences) | 1-3 | about $0.007-$0.017 |
| Default run (Deloitte, Monzo, Google) | 7 | about $0.037 |
| Daily watchlist of 200 employers, a quiet day | 0-2 | $0.002-$0.012 |
| Daily whole-register feed, a day with 100 changes | 100 | about $0.50 |
| Daily whole-register feed, a weekend or bank holiday | 0 | $0.002 |
Tag 500 job-board employers once (nameMatch: "exact", groupByOrganisation: true) | about 500 | about $2.50 |
Set Maximum cost per run in the run options to cap any run; changes that did not fit are returned by the next run, so nothing is lost.
Use via API & MCP (AI agents)
REST API (synchronous, returns the rows):
curl -X POST "https://api.apify.com/v2/acts/japan-open-data~uk-visa-sponsor-register/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "lookup", "companyNames": ["Monzo Bank Ltd"], "nameMatch": "exact"}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("japan-open-data/uk-visa-sponsor-register").call(run_input={"mode": "changes", "companyNames": [], "routes": ["Skilled Worker"]})for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row["status"] == "ok":print(row["changeType"], row["organisationName"], row["town"], row["rating"])
MCP: add the Apify MCP server (https://mcp.apify.com) to Claude, Cursor or any MCP client and enable the tool japan-open-data/uk-visa-sponsor-register.
Recommended settings for agents:
- To answer "can company X sponsor a visa?", use
mode: "lookup",companyNames: ["<name>"],maxResults: 20.status: "ok"rows mean yes (seerouteandrating); anot_foundrow withisLicensedSponsor: falsemeans the name is not on the register. - Prefer the registered company name with
nameMatch: "exact"when you have it; usecontainswith a distinctive word otherwise. - A B rating means the sponsor has been downgraded and cannot issue new certificates of sponsorship until it completes an action plan.
- For monitoring, schedule
mode: "changes"once a day; never run it several times a day for the same filters (the register only changes once a day). - Quote
registerDateandsourceUrlin answers.
Summary for AI assistants: This tool checks the official UK Home Office register of licensed worker sponsors (updated on working days) and returns one JSON row per licence with the organisation, town, visa route and A/B rating, or, in changes mode, the licences added, removed, downgraded or upgraded since the previous run. Sole traders' personal names are excluded.
Privacy: why some sponsors are missing
The register licenses sole traders under their own names ("Mr
FAQ
Does being on the register mean the company will sponsor me?
No. A licence means the employer can assign certificates of sponsorship on the listed route. It does not mean it has a vacancy, sponsors your occupation, or will sponsor you. The register has no job titles or occupation codes.
How fresh is the data?
Every run downloads the register GOV.UK published last (the file name carries its date, shown in registerDate). GOV.UK updates it on working days.
Why did a company I know not match?
Try a shorter distinctive word with contains, or the exact registered name (often "... Ltd" or "... Limited"). Some organisations are registered under a parent or trading name, and names of sole traders and some founder-named firms are withheld (the free row says which).
What happens on the first changes run?
It saves a baseline (in a key-value store in your Apify account called uk-visa-sponsor-register-state, about 2 MB for the whole register) and returns one free row. Every later run with the same filters compares with the previous one. Changing the filters starts a new baseline.
Is a renamed company reported?
As a removed row for the old name and an added row for the new one; the register has no company number to link them.
Is this an official Home Office service?
No. It re-publishes the official open data under the Open Government Licence. It is not affiliated with or endorsed by the Home Office or UK Visas and Immigration. For a legal decision, check the GOV.UK register directly.
Troubleshooting
| Symptom | Fix |
|---|---|
Every row is not_found | Check spelling; use a shorter word with nameMatch: "contains"; check the free row's message |
| Too many rows for a short name ("Care") | Use nameMatch: "exact", add towns, or lower maxResults |
Changes run returned baselineSaved again | The filters (or watchlistName) differ from the previous run, so it is a new baseline |
noChanges on a weekday | GOV.UK had not published a newer register yet; run later in the day |
registerIncomplete error | The published file looked truncated; nothing was charged and your baseline was kept. Run again later |
| Run stopped early | Your Maximum cost per run was reached; remaining changes are returned by the next run |
Known limitations
- The register has only organisation name, town, county, visa route and rating: no addresses, postcodes, company numbers, occupations, licence numbers or grant dates.
- About 8.6% of names are withheld for privacy, including some genuine firms named after their founders. The check is name-based, so a rare personal name it does not recognise can still pass; report one on the Issues tab and it will be added.
- Changes are detected between the registers your runs saw. If you skip days, one run reports all changes since your last run, with the dates of both registers.
- A company that changes its name or town appears as removed + added.
- Only the workers register is covered, not the students register.
Data source and licence
Source: Home Office, Register of licensed sponsors: workers, GOV.UK. Contains public sector information licensed under the Open Government Licence v3.0. This Actor is not affiliated with, or endorsed by, the Home Office or UK Visas and Immigration.
More from Japan Open Data
- US Flood Zone Lookup by Address (FEMA NFHL) — official FEMA flood zone (A, AE, VE, X…), base flood elevation and FIRM panel for any U.S. address or coordinates.
- UK NHS Organisation Lookup (Official ODS Codes) — official NHS ODS register by postcode, type or ODS code: GP practices, pharmacies, dentists, NHS trusts, care homes and more.
- UK HGV Operator Licence Lookup (Official DVSA) — Great Britain's official HGV and bus / coach operator licences by company, postcode and fleet size.
- UK Waste Carrier Licence Check (Environment Agency) — check whether an English business is a registered waste carrier, broker or dealer.
- UK Flood Risk Lookup by Postcode (England) — Environment Agency flood zone, recorded flood extents and flood defences for any postcode or coordinates in England.
- England Listed Building & Conservation Area Check — official listed buildings, scheduled monuments, conservation areas and Article 4 directions for any postcode or coordinates in England, one row per location.
- France Property Risk Lookup by Address (Georisques) — official Géorisques risks for any French address or coordinates: flood, clay shrink-swell, seismic zone, radon, past natural-disaster declarations and nearby industrial sites.
- US Hail History by Location (NOAA NEXRAD Radar) — every hail day near any U.S. latitude/longitude with max estimated hail size.
- US Storm Reports API: Hail, Wind & Tornado (NWS) — U.S. hail, wind, tornado and flood reports from official NWS Local Storm Reports.
- Mexico Gas Prices API by Station (Official CNE) — today's gas and diesel prices at every Mexican gas station, from the official CNE feed.
- Argentina Fuel Prices API by Station (Official) — last reported gasoline (nafta), diesel and CNG prices at every Argentine gas station.
- TSA Checkpoint Travel Numbers (Daily, Weekly & YoY) — daily U.S. TSA airport checkpoint traveler counts.
- Japan Postal Code & Address in English — Japanese postal codes and addresses in English/romaji, kanji and kana.
Feedback
Found a wrong row, a sponsor withheld that should not be, or want another register (the students register, or other countries' sponsor lists)? Open an issue on the Issues tab - it will be read.