{
  "snapshot_id": "approved-static-bb6d69cd3c074ae2",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-08-04",
  "canonical_path": "/cities/ca/west-kelowna/",
  "mcp_uri": "immigrationdb://city/ca/west-kelowna",
  "editorial_copy": {
    "status": "reviewed",
    "reviewed_at": "2026-07-29",
    "copy_depth": "city_standard",
    "blocks": {
      "intro": "West Kelowna is in Canada; its population was 36,395 in 2021. For West Kelowna, the unemployment rate was 7.5% in May 2021. The foreign population count was 1,310 in May 2021.",
      "population_lead": "The city covered 123.5 km² in 2021. Population density was 295.5 people per km² in 2021.",
      "climate_lead": "Annual PM2.5 was 3.78 µg/m³ in 2024. Annual NO₂ was 5.85 µg/m³ in 2024. Annual PM10 was 9 µg/m³ in 2024."
    },
    "used_claim_count": 11,
    "uses_supplemental_cd": false
  },
  "city": {
    "entity_id": "city:ca:slug:west-kelowna",
    "name": "West Kelowna",
    "country_code": "CA",
    "public_slug": "west-kelowna",
    "canonical_path": "/cities/ca/west-kelowna/",
    "mcp_uri": "immigrationdb://city/ca/west-kelowna",
    "page_state": "published",
    "useful_blocks": [
      "climate_air",
      "mobility_admin",
      "work_income"
    ],
    "useful_fact_count": 11,
    "city_tags": [
      "standard_municipality"
    ],
    "profile_scores": {
      "remote": {
        "point": 53,
        "low": 39,
        "high": 67,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 45,
          "housing": 45,
          "work": 60,
          "family": 75,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 89,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      },
      "skilled_employee": {
        "point": 52,
        "low": 38,
        "high": 66,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 45,
          "housing": 45,
          "work": 60,
          "family": 75,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 89,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      },
      "family": {
        "point": 56,
        "low": 42,
        "high": 70,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 45,
          "housing": 45,
          "work": 60,
          "family": 75,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 89,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      },
      "student": {
        "point": 48,
        "low": 34,
        "high": 62,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 45,
          "housing": 45,
          "work": 60,
          "family": 75,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 89,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      },
      "retirement": {
        "point": 58,
        "low": 44,
        "high": 72,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 45,
          "housing": 45,
          "work": 60,
          "family": 75,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 89,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      }
    },
    "facts_by_block": {
      "identity": [
        {
          "metric_id": "city_area_km2",
          "block_id": "identity",
          "value": 123.5,
          "unit": "km2",
          "geographic_scope": "city",
          "observed_at": "2021",
          "verified_at": "2026-06-12",
          "comparison_eligible": true,
          "source_id": "ca_west_kelowna_stats",
          "source_url": "https://www12.statcan.gc.ca/census-recensement/2021/dp-pd/prof/index.cfm?Lang=E&SearchText=west+kelowna&GeoCode=2021A0005935021",
          "source_title": "Statistics Canada — Census Profile 2021 (West Kelowna, CSD 5935021)",
          "source_authority": "West Kelowna, Canada",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "foreign_population_total",
          "block_id": "identity",
          "value": 1310,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2021-05-11",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "statcan_df_csd_not_canadian_citizens_2021:7338ce485a0a",
          "source_url": "https://api.statcan.gc.ca/census-recensement/profile/sdmx/rest/data/STC_CP,DF_CSD/A5.2021A00055909052.1.1+6+7+1512+1515.1?format=csv",
          "source_title": "Statistics Canada Census Profile 2021 characteristic 1512: not Canadian citizens, population in private households, 25% sample data, at CSD grain. This is the exact foreign-citizenship interpretation used for foreign_population_total; it is not immigrant status.",
          "source_authority": "Statistics Canada",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_density_per_km2",
          "block_id": "identity",
          "value": 295.5,
          "unit": "people/km2",
          "geographic_scope": "city",
          "observed_at": "2021-05-11",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "statcan_df_csd_population_density_2021:7338ce485a0a",
          "source_url": "https://api.statcan.gc.ca/census-recensement/profile/sdmx/rest/data/STC_CP,DF_CSD/A5.2021A00055909052.1.1+6+7+1512+1515.1?format=csv",
          "source_title": "Statistics Canada Census Profile 2021 characteristic 6: population density per square kilometre at CSD grain. This is the exact CSD value; it is not a CMA or province observation.",
          "source_authority": "Statistics Canada",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_total",
          "block_id": "identity",
          "value": 36395,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2021",
          "verified_at": "2026-06-12",
          "comparison_eligible": true,
          "source_id": "ca_west_kelowna_stats",
          "source_url": "https://www12.statcan.gc.ca/census-recensement/2021/dp-pd/prof/index.cfm?Lang=E&SearchText=west+kelowna&GeoCode=2021A0005935021",
          "source_title": "Statistics Canada — Census Profile 2021 (West Kelowna, CSD 5935021)",
          "source_authority": "West Kelowna, Canada",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "work_income": [
        {
          "metric_id": "unemployment_total_percent",
          "block_id": "work_income",
          "value": 7.5,
          "unit": "percent",
          "geographic_scope": "city",
          "observed_at": "2021-05-11",
          "verified_at": "2026-07-26",
          "comparison_eligible": true,
          "source_id": "source-5e50813bc10a",
          "source_url": "https://api.statcan.gc.ca/census-recensement/profile/sdmx/rest/data/STC_CP,DF_CSD/A5.2021A00055909052+2021A00054806021+2021A00053518005+2021A00053537028+2021A00053519046+2021A00053543042+2021A00053512005+2021A00052457040+2021A00052473005+2021A00052458033+2021A00053521010+2021A00054607062+2021A00053529006+2021A00053507015+2021A00052458007+2021A00053524002+2021A00055915025+2021A00053521024+2021A00054806016+2021A00053530010+2021A00055924034+2021A00052467020+2021A00051217030+2021A00052457005+2021A00051102075+2021A00052467050+2021A00053536020+2021A00054806017+2021A00055909020+2021A00053518017+2021A00053514021+2021A00051001485+2021A00052459035+2021A00055915034+2021A00051005018+2021A00053501012+2021A00055926010+2021A00055915011+2021A00051307045+2021A00052449058+2021A00054811061+2021A00054811056+2021A00055955034+2021A00051310032+2021A00052481017+2021A00052447017+2021A00054819012+2021A00053553005+2021A00053526065+2021A00053523008+2021A00051209034+2021A00053524015+2021A00053525005+2021A00053543017+2021A00052461025+2021A00055933042+2021A00055935010+2021A00053519049+2021A00053510010+2021A00053530013+2021A00052460028+2021A00053537064+2021A00055917044+2021A00053537034+2021A00052465005+2021A00053537003+2021A00054811016+2021A00054802012+2021A00052425213+2021A00053526057+2021A00053539036+2021A00052458227+2021A00055915075+2021A00053519036+2021A00052464015+2021A00054801006+2021A00053524009+2021A00052474005+2021A00055909056+2021A00053521005+2021A00051307022+2021A00052466023+2021A00054707039+2021A00051001542+2021A00055921010+2021A00053519048+2021A00053526043+2021A00053528052+2021A00053548044+2021A00055919008+2021A00055915051+2021A00053524001+2021A00053543023+2021A00053518013+2021A00053506008+2021A00051001517+2021A00055907041+2021A00053515014+2021A00053518001+2021A00055915039+2021A00055915043+2021A00054715066+2021A00055953023+2021A00052423027+2021A00053512015+2021A00054808011+2021A00054706027+2021A00052460013+2021A00055915015+2021A00053519038+2021A00052410043+2021A00051306020+2021A00052412072+2021A00052486042+2021A00055917021+2021A00052494068+2021A00051301006+2021A00052467035+2021A00052472005+2021A00052429073+2021A00052454048+2021A00052456083+2021A00052475017+2021A00052471105+2021A00052463048+2021A00052459010+2021A00052473010+2021A00052470052+2021A00053538030+2021A00054711066+2021A00053557061+2021A00053518020+2021A00052436033+2021A00052443027+2021A00052453052+2021A00053543009+2021A00054811049+2021A00054811062+2021A00053526053+2021A00051001519+2021A00053534021+2021A00053531011+2021A00054811059+2021A00055915004+2021A00053537048+2021A00052464008+2021A00053526037+2021A00053558004+2021A00053556027+2021A00053520005+2021A00052437067+2021A00053518029+2021A00055915022+2021A00052471083+2021A00053519028+2021A00055937014+2021A00055917034+2021A00052439062+2021A00053530016+2021A00055935029+2021A00055915055+2021A00053518009+2021A00056001009+2021A00053537039+2021A00054611040+2021A00056106023.1.2230.1?format=csv",
          "source_title": "Statistics Canada — 2021 Census Profile, unemployment rate at CSD grain",
          "source_authority": "Statistics Canada",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "climate_air": [
        {
          "metric_id": "air_quality_no2_annual_ug_m3",
          "block_id": "climate_air",
          "value": 5.848236,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2024",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "eccc_naps_2024_annual_dmean_no2_annual",
          "source_url": "https://data-donnees.az.ec.gc.ca/api/file?path=%2Fair%2Fmonitor%2Fnational-air-pollution-surveillance-naps-program%2FData-Donnees%2F2024%2FContinuousData-DonneesContinu%2FAnnualSummaries-SommairesAnnuels%2F2024_AnnualNO2_EN.csv",
          "source_title": "Official ECCC/NAPS 2024 station DMean observation retained at source grain; no place value is asserted because the approved 25 km observation condition is not met.",
          "source_authority": "Environment and Climate Change Canada (ECCC), National Air Pollution Surveillance (NAPS) Program",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm10_annual_ug_m3",
          "block_id": "climate_air",
          "value": 9,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2024",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "eccc_naps_2024_annual_dmean_pm10_annual",
          "source_url": "https://data-donnees.az.ec.gc.ca/api/file?path=%2Fair%2Fmonitor%2Fnational-air-pollution-surveillance-naps-program%2FData-Donnees%2F2024%2FContinuousData-DonneesContinu%2FAnnualSummaries-SommairesAnnuels%2F2024_AnnualPM10_EN.csv",
          "source_title": "Official ECCC/NAPS 2024 annual daily-mean station observations, reproducibly aggregated as an arithmetic mean for eligible stations within 25 km of the target city coordinate. This is a derived place observation, not an asserted municipal monitor aggregate.",
          "source_authority": "Environment and Climate Change Canada (ECCC), National Air Pollution Surveillance (NAPS) Program",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm25_annual_ug_m3",
          "block_id": "climate_air",
          "value": 3.78,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2024",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "eccc_naps_2024_annual_dmean_pm25_annual",
          "source_url": "https://data-donnees.az.ec.gc.ca/api/file?path=%2Fair%2Fmonitor%2Fnational-air-pollution-surveillance-naps-program%2FData-Donnees%2F2024%2FContinuousData-DonneesContinu%2FAnnualSummaries-SommairesAnnuels%2F2024_AnnualPM25_EN.csv",
          "source_title": "Official ECCC/NAPS 2024 annual daily-mean station observations, reproducibly aggregated as an arithmetic mean for eligible stations within 25 km of the target city coordinate. This is a derived place observation, not an asserted municipal monitor aggregate.",
          "source_authority": "Environment and Climate Change Canada (ECCC), National Air Pollution Surveillance (NAPS) Program",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "metric_id": "nearest_airport_destinations_count",
          "block_id": "mobility_admin",
          "value": 11,
          "unit": "count",
          "geographic_scope": "city",
          "observed_at": "2026-06-13",
          "verified_at": "2026-06-13",
          "comparison_eligible": true,
          "source_id": "openflights_routes_dat",
          "source_url": "https://raw.githubusercontent.com/jpatokal/openflights/master/data/routes.dat",
          "source_title": "OpenFlights — routes.dat",
          "source_authority": "multi-country",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "nearest_airport_iata",
          "block_id": "mobility_admin",
          "value": "YLW",
          "unit": "code",
          "geographic_scope": "city",
          "observed_at": "2026-06-13",
          "verified_at": "2026-06-13",
          "comparison_eligible": true,
          "source_id": "ourairports_airports_csv",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports — airports.csv",
          "source_authority": "multi-country",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "nearest_airport_km",
          "block_id": "mobility_admin",
          "value": 18.3,
          "unit": "km",
          "geographic_scope": "city",
          "observed_at": "2026-06-13",
          "verified_at": "2026-06-13",
          "comparison_eligible": true,
          "source_id": "ourairports_airports_csv",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports — airports.csv",
          "source_authority": "multi-country",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    }
  }
}
