Visa Sponsors
What it is
The Visa Sponsors page lets you search official licensed sponsor registers from inside JobOps.
Each provider corresponds to a country's official register and is auto-discovered at startup from the visa-sponsor-providers/ directory.
For each company, it shows:
- Match score against your query
- Company location (when available)
- Licensed routes and type/rating details
- Per-provider last refresh time and sponsor count
Why it exists
Many roles require sponsorship-ready employers. This page helps you quickly validate whether a target company appears on an official sponsor list, so you can prioritize applications and sourcing terms.
How to use it
- Open Visa Sponsors in the app.
- Enter a company name in the search box.
- Optionally filter by country using the country field.
- Select a result to view sponsor details.
- Use the score and route details to decide whether to prioritize that employer.
Refresh schedule
Each provider refreshes independently on its own daily schedule (default: 02:00 UTC). Use the download/update button in the page header to fetch the latest register immediately for all providers.
API examples
# Search sponsors across all providers
curl -X POST http://localhost:3001/api/visa-sponsors/search \
-H "content-type: application/json" \
-d '{"query":"Monzo","limit":100,"minScore":20}'
# Search sponsors restricted to a specific country
curl -X POST http://localhost:3001/api/visa-sponsors/search \
-H "content-type: application/json" \
-d '{"query":"Monzo","country":"united kingdom","limit":100}'
# Get one organization's entries (all licensed routes)
curl "http://localhost:3001/api/visa-sponsors/organization/Monzo%20Bank%20Ltd"
# Get status of all registered providers
curl "http://localhost:3001/api/visa-sponsors/status"
# Trigger manual refresh for all providers
curl -X POST http://localhost:3001/api/visa-sponsors/update
# Trigger manual refresh for a specific provider
curl -X POST http://localhost:3001/api/visa-sponsors/update/uk
Common problems
No results found
- Try alternate legal names (
Ltd,Limited, abbreviations). - Reduce spelling strictness by searching a shorter core name.
Sponsor data is empty
- Run a manual refresh with the header update button (or
POST /api/visa-sponsors/update). - Check
GET /api/visa-sponsors/statusto see per-provider error details. - Verify the server can reach the upstream source for that provider (e.g.
gov.ukfor the UK provider).
Company appears once but has multiple routes
- Open the detail panel for that company; route/type entries are shown there.
A country's provider is missing
- Check startup logs for registry warnings about that provider id, including skipped invalid manifests.
- Ensure the provider id is registered in
shared/src/visa-sponsor-providers/index.ts. - Ensure the manifest exists at
visa-sponsor-providers/<id>/manifest.tsorvisa-sponsor-providers/<id>/src/manifest.ts. - See Add a Visa Sponsor Provider for the full workflow.