A two-part tool for searching UK Home Office licensed visa sponsors, built on open government data.
Built for a personal use case: relocating to London and needing to identify which companies can legally sponsor a Skilled Worker visa.
DataImporter — a C# console app that:
- Loads the Home Office licensed sponsor list (~140k organisations)
- Loads all 7 parts of the Companies House basic company data (~5.1M active UK companies)
- Matches them in memory using a dictionary lookup for performance
- Outputs a clean SQLite database of ~125k searchable sponsors with full company details
SponsorSearch — an ASP.NET Core web app that:
- Serves a search UI over the generated database
- Supports search by company name, town/city, and visa route
- Returns company number, postcode, incorporation date, sponsor rating, and route
- C# / ASP.NET Core 10 — web API and data importer
- SQLite — lightweight database for the merged dataset
- Microsoft.Data.Sqlite — direct SQLite access
- CsvHelper — CSV parsing for large government data files
- HTML / CSS / JavaScript — single-page search frontend
Both are published as open data under the Open Government Licence.
Step 1 — Download the data
Download the latest files from the links above:
- Worker and Temporary Worker CSV from the Home Office
- All 7 parts of BasicCompanyData from Companies House
Place them in the same folder and update the desktopPath variable in DataImporter/Program.cs.
Step 2 — Run the importer
cd DataImporter
dotnet runThis generates uksponsor.db — takes around 3-4 minutes.
Step 3 — Run the search app
Update the dbPath variable in SponsorSearch/Program.cs to point to your generated database, then:
cd SponsorSearch
dotnet runOpen http://localhost:5032 in your browser.
Name matching between the two datasets is exact (case-insensitive). Around 57% of sponsors matched to a Companies House record — unmatched sponsors are still included in search results, just without company number and postcode enrichment. A fuzzy matching approach would improve this and is a planned improvement.