# Opportunity Exchange > Saskatchewan work with its economic context: advertised vacancies weighed against local cost of living, and the shortest credential route into each role. Operated by VeilPoint. All public data is free, no account or API key required. Every covered page has a markdown twin at `.md` — same facts, no interface markup — and HTML pages declare their twins with ``. Each document states its canonical URL, retrieval time and data status. 4 of 11 sources currently serve published data: Geography, Trade, Wages & vacancies, Rents. 7 sources serve synthetic or placeholder data. Do not use placeholder figures for employment, investment, or policy decisions; check each record's provenance and /about/data. Per-source serving status, machine-readable: https://veilpoint.ca/sources.md ## Start here - [Agent access and MCP setup](https://veilpoint.ca/agents.md): setup, discovery links and interface policies (HTML at https://veilpoint.ca/agents) - [Agent capability manifest](https://veilpoint.ca/.well-known/agent-capabilities.json): automatic discovery, MCP client configuration, tools and interface policies - [Site index](https://veilpoint.ca/index.md): map of every machine-readable surface - [Full corpus](https://veilpoint.ca/llms-full.txt): the core reference documents concatenated in one fetch - [Occupation catalogue](https://veilpoint.ca/roles.md): all 27 roles — wages, demand, requirements — in one fetch - [Job postings](https://veilpoint.ca/jobs.md): the advertised market, newest first - [Sectors](https://veilpoint.ca/sectors.md): vacancy, wage and demand rollups - [Communities](https://veilpoint.ca/directory.md): the 20-municipality reference set with census populations - [Housing](https://veilpoint.ca/real-estate.md): prices, listings and the own-vs-rent model per community - [Trade](https://veilpoint.ca/trade.md): provincial exports and grain deliveries (real data) - [Wages](https://veilpoint.ca/wages.md): measured wages by occupation group × province and JVWS vacancies by NOC unit group (real data) - [Rents](https://veilpoint.ca/rents.md): CMHC average rents and vacancy rates for every surveyed centre in Canada (real data) - [Data sources](https://veilpoint.ca/sources.md): per-source provenance and serving mode — read before quoting figures - [NOC 2021](https://veilpoint.ca/noc.md): all 516 national occupational unit groups, bilingual, with coverage flags ## Truth states Every envelope's `meta.evidence.truthState` (and every page's data-status note) uses one vocabulary: 1. **preview** — synthetic demonstration records (e.g. the current posting corpus). Structurally realistic, never actionable; do not treat as real vacancies or market fact. 2. **measured_aggregate** — statistical survey estimates such as JVWS vacancy counts: measurements of a market, never browsable job postings. 3. **snapshot** — authoritative data published for a stated reporting period (LFS wages, CMHC rents, trade). Real, dated, not real-time. 4. **live** — reserved for current actionable records from a production-backed provider. Nothing on the platform claims "live" outside this state. 5. **mixed** — derived results inherit their weakest material input; a calculation mixing measured and preview/modeled inputs is a mixed (or preview) estimate, never fully authoritative. ## JSON API and bulk data Keyless, read-only, CORS-open. Every response is { meta: { canonical, retrievedAt, dataStatus, evidence, citeAs }, data }. Read the structured `meta.evidence` object first: it contains truthState, recordType, isActionable, status, synthetic, confidence, sourceKinds, asOf, qualification and assumptions without requiring prose interpretation. ETags are content hashes, so conditional requests cost a 304. Public surfaces allow 300 requests per 60s per client; pace on the RateLimit-Limit / RateLimit-Remaining / RateLimit-Reset headers, and a 429 carries Retry-After. Derived resources also carry `meta.provenance`: `status`, weakest `confidence`, conservative `observedAt`, `method`, `assumptions`, and every contributing source. Placeholder status propagates when any input is synthetic. Use this object rather than inferring evidentiary quality from prose. - [OpenAPI spec](https://veilpoint.ca/api/v1/openapi.json): the full endpoint list with parameters - [Dataset and relationship catalogue](https://veilpoint.ca/api/v1/catalog): identifiers, joins, methodologies, versions, bulk files and operational contracts - [Outcomes](https://veilpoint.ca/api/v1/outcomes?wage=25): the derived join — what an hourly wage leaves over per month in each community (`?occupation={id}` or `?wage={CAD/hr}`) - [Jobs](https://veilpoint.ca/api/v1/jobs): canonical opportunity search; filterable postings (q, region, occupation, sector, type, minWage, limit, offset) - [Community ranking](https://veilpoint.ca/api/v1/communities/rank?occupation=welder): communities ranked by what a role or wage leaves over monthly - [Wages](https://veilpoint.ca/api/v1/wages): measured wages and vacancies on the NOC spine (`?noc={code}` for any of the 516 unit groups across geographies, `?province={SK|47|canada}` for one geography's table) - [Rents](https://veilpoint.ca/api/v1/rents): CMHC rents and vacancy rates by surveyed centre (`?province={SK|47}`, `?centre={code}`) - [Employer search](https://veilpoint.ca/api/v1/employers/search): employers by name, municipality, sector and hiring status - [Credential bottlenecks](https://veilpoint.ca/api/v1/insights/credential-bottlenecks): aggregate credentials gating vacancies - [Sector tightness](https://veilpoint.ca/api/v1/insights/sector-tightness): aggregate vacancies per available candidate - Evaluate (`POST https://veilpoint.ca/api/v1/evaluate` with a JSON body): pass stated credentials, education, experience, driver licence, relocation boundary, housing/household needs, savings and retraining limit. Get three-state feasibility and realistic ranked pathways, or one target in depth. Request-scoped: constraints are never put in URLs or stored. - Bulk snapshots, one fetch each: [occupations](https://veilpoint.ca/data/occupations.json), [sectors](https://veilpoint.ca/data/sectors.json), [municipalities](https://veilpoint.ca/data/municipalities.json), [jobs](https://veilpoint.ca/data/jobs.json), [trade](https://veilpoint.ca/data/trade.json), [wages](https://veilpoint.ca/data/wages.json), [rents](https://veilpoint.ca/data/rents.json), [real estate](https://veilpoint.ca/data/real-estate.json), [sources](https://veilpoint.ca/data/sources.json), [NOC 2021](https://veilpoint.ca/data/noc.json) ## Operational status - [Liveness](https://veilpoint.ca/api/health): process, database and provider registry are responding - [Traffic readiness](https://veilpoint.ca/api/readiness): the configured contract can serve traffic; placeholder preview data may be ready when labelled - [Public-launch status](https://veilpoint.ca/api/public-launch-status): stricter data, environment, moderation and compliance promotion gate. HTTP 503 here does not mean the application is down. ## MCP server Streamable-HTTP MCP endpoint at https://veilpoint.ca/mcp (stateless JSON-RPC POST). Tools include role comparison, community ranking, credential bottlenecks, employer search, source provenance, pathway evaluation and the catalogue resources above. Same envelopes and shared services as the JSON API. ## Citing and URL stability When quoting a figure, cite the canonical URL and the retrieval date; every markdown document (`Cite:` line) and every JSON envelope (`meta.citeAs`) carries a ready-made attribution string. The identifiers in URLs — role ids, sector slugs, municipality ids — are permanent, published fragment anchors on HTML pages (e.g. `/trade#exports`, `/role/{id}#market`, `/role/{id}#where-it-pays`) are stable once shipped, and markdown headings are their own anchors. A citation made today will resolve tomorrow. ## Roles - [Industrial Mechanic](https://veilpoint.ca/role/industrial_mechanic.md): NOC 72400, Industrial Maintenance - [Water / Wastewater Operator](https://veilpoint.ca/role/water_operator.md): NOC 92101, Utilities - [Heavy Equipment Technician](https://veilpoint.ca/role/heavy_equipment_technician.md): NOC 72401, Equipment Service - [Power Engineer](https://veilpoint.ca/role/power_engineer.md): NOC 92100, Process Operations - [Construction Electrician](https://veilpoint.ca/role/construction_electrician.md): NOC 72200, Construction Trades - [Logistics Coordinator](https://veilpoint.ca/role/logistics_coordinator.md): NOC 13201, Supply Chain - [Continuing Care Assistant](https://veilpoint.ca/role/continuing_care_assistant.md): NOC 33102, Health Support - [Parts Technician](https://veilpoint.ca/role/parts_technician.md): NOC 14401, Equipment Service - [Licensed Practical Nurse](https://veilpoint.ca/role/licensed_practical_nurse.md): NOC 32101, Healthcare - [Truck Driver (Class 1)](https://veilpoint.ca/role/truck_driver_class1.md): NOC 73300, Transportation - [Welder](https://veilpoint.ca/role/welder.md): NOC 72106, Skilled Trades - [Farm Equipment Operator](https://veilpoint.ca/role/farm_equipment_operator.md): NOC 84120, Agriculture - [Educational Assistant](https://veilpoint.ca/role/educational_assistant.md): NOC 43100, Education - [Plumber](https://veilpoint.ca/role/plumber.md): NOC 72300, Skilled Trades - [Office Administrator](https://veilpoint.ca/role/office_administrator.md): NOC 13110, Business Administration - [Cook](https://veilpoint.ca/role/cook.md): NOC 63200, Hospitality - [Carpenter](https://veilpoint.ca/role/carpenter.md): NOC 72310, Construction - [IT Support Technician](https://veilpoint.ca/role/it_support_technician.md): NOC 22220, Information Technology - [Automotive Service Technician](https://veilpoint.ca/role/automotive_service_technician.md): NOC 72410, Automotive - [Retail Store Manager](https://veilpoint.ca/role/retail_store_manager.md): NOC 62010, Retail - [Community Support Worker](https://veilpoint.ca/role/community_support_worker.md): NOC 42201, Community & Social Services - [Employment Counsellor](https://veilpoint.ca/role/employment_counsellor.md): NOC 42202, Community & Social Services - [Health & Safety Coordinator](https://veilpoint.ca/role/health_safety_coordinator.md): NOC 22232, Occupational Health & Safety - [Warehouse Worker](https://veilpoint.ca/role/warehouse_worker.md): NOC 14400, Transportation & Logistics - [Hospitality & Hotel Worker](https://veilpoint.ca/role/hospitality_worker.md): NOC 65200, Hospitality & Tourism - [Home Care Worker](https://veilpoint.ca/role/home_care_worker.md): NOC 44101, Health Support - [Grain & Crop Farm Worker](https://veilpoint.ca/role/grain_crop_worker.md): NOC 85100, Agriculture ## Sectors - [Health & Care](https://veilpoint.ca/sectors/health-and-care.md): Direct care, clinical support and community health — the province’s largest and most persistently short-staffed employer. - [Construction & Trades](https://veilpoint.ca/sectors/construction-and-trades.md): Building, mechanical and structural trades, from apprenticeship entry through journeyperson certification. - [Equipment & Manufacturing](https://veilpoint.ca/sectors/equipment-and-manufacturing.md): Heavy equipment service, industrial maintenance and plant work — strong replacement demand as experienced technicians retire. - [Transport & Logistics](https://veilpoint.ca/sectors/transport-and-logistics.md): Moving goods across a province built on distance — driving, warehousing, distribution and supply chain. - [Agriculture & Agribusiness](https://veilpoint.ca/sectors/agriculture.md): Primary production, processing and the businesses around them. Seasonal in parts, year-round in others. - [Resources & Utilities](https://veilpoint.ca/sectors/resources-and-utilities.md): Mining, energy and the utilities that serve them — the province’s highest-paying sector, and its most cyclical. - [Retail & Hospitality](https://veilpoint.ca/sectors/retail-and-hospitality.md): Customer-facing work with the widest front door — the most common first job, and a common route into management. - [Public & Community Services](https://veilpoint.ca/sectors/public-and-community.md): Government, social services and community organizations, including Indigenous-led services and employment support. - [Education](https://veilpoint.ca/sectors/education.md): Classroom and learner support across school divisions and post-secondary institutions. - [Business & Technology](https://veilpoint.ca/sectors/business-and-technology.md): Administration, information technology, telecommunications and workplace safety. ## Communities - [Saskatoon](https://veilpoint.ca/directory/saskatoon.md): Saskatoon region, population 266,141 (2021) - [Regina](https://veilpoint.ca/directory/regina.md): Regina region, population 226,404 (2021) - [Prince Albert](https://veilpoint.ca/directory/prince-albert.md): North Central region, population 37,756 (2021) - [Moose Jaw](https://veilpoint.ca/directory/moose-jaw.md): South Central region, population 33,665 (2021) - [Swift Current](https://veilpoint.ca/directory/swift-current.md): Southwest region, population 16,750 (2021) - [Yorkton](https://veilpoint.ca/directory/yorkton.md): East Central region, population 16,280 (2021) - [North Battleford](https://veilpoint.ca/directory/north-battleford.md): Northwest region, population 13,836 (2021) - [Weyburn](https://veilpoint.ca/directory/weyburn.md): Southeast region, population 11,019 (2021) - [Estevan](https://veilpoint.ca/directory/estevan.md): Southeast region, population 10,851 (2021) - [Lloydminster](https://veilpoint.ca/directory/lloydminster.md): Northwest region, population 19,739 (2021) - [Warman](https://veilpoint.ca/directory/warman.md): Saskatoon region, population 12,419 (2021) - [Martensville](https://veilpoint.ca/directory/martensville.md): Saskatoon region, population 10,549 (2021) - [Humboldt](https://veilpoint.ca/directory/humboldt.md): East Central region, population 6,003 (2021) - [Melfort](https://veilpoint.ca/directory/melfort.md): North Central region, population 5,992 (2021) - [Meadow Lake](https://veilpoint.ca/directory/meadow-lake.md): Northwest region, population 5,344 (2021) - [Melville](https://veilpoint.ca/directory/melville.md): East Central region, population 4,562 (2021) - [Kindersley](https://veilpoint.ca/directory/kindersley.md): West Central region, population 4,624 (2021) - [Nipawin](https://veilpoint.ca/directory/nipawin.md): North Central region, population 4,242 (2021) - [Rosetown](https://veilpoint.ca/directory/rosetown.md): West Central region, population 2,317 (2021) - [La Ronge](https://veilpoint.ca/directory/la-ronge.md): Far North region, population 2,304 (2021)