{
  "snapshot_id": "approved-static-48d32b636f07abc8",
  "page_version": "4054e1163179406adb4026dd30345e83",
  "content_date": "2026-10-16",
  "schema_version": "immigrationdb-region-v1",
  "region_id": "region:be:official:30000",
  "name": "West Flanders",
  "name_local": "Province de Flandre occidentale",
  "country_code": "BE",
  "country": "Belgium",
  "canonical_url": "https://immigrationdb.com/countries/belgium/west-flanders/",
  "summary": "West Flanders has 75 published cities; the largest is Brugge, with 120,283 residents.",
  "cities": [
    {
      "name": "Brugge",
      "canonical_url": "https://immigrationdb.com/cities/be/brugge-vlg-vwv/",
      "population": 120283,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 4.36,
      "pm25_ug_m3": null
    },
    {
      "name": "Roeselare",
      "canonical_url": "https://immigrationdb.com/cities/be/roeselare-vlg-vwv/",
      "population": 66888,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.95,
      "pm25_ug_m3": null
    },
    {
      "name": "Waregem",
      "canonical_url": "https://immigrationdb.com/cities/be/waregem/",
      "population": 40737,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.91,
      "pm25_ug_m3": 8.589617
    },
    {
      "name": "Ieper",
      "canonical_url": "https://immigrationdb.com/cities/be/ieper/",
      "population": 35587,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 4.95,
      "pm25_ug_m3": null
    },
    {
      "name": "Menen",
      "canonical_url": "https://immigrationdb.com/cities/be/menen/",
      "population": 34585,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.65,
      "pm25_ug_m3": null
    },
    {
      "name": "Knokke-Heist",
      "canonical_url": "https://immigrationdb.com/cities/be/knokke-heist/",
      "population": 32163,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.4,
      "pm25_ug_m3": 8.245355
    },
    {
      "name": "Wevelgem",
      "canonical_url": "https://immigrationdb.com/cities/be/wevelgem/",
      "population": 32089,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.55,
      "pm25_ug_m3": 8.617213
    },
    {
      "name": "Tielt (Tielt)",
      "canonical_url": "https://immigrationdb.com/cities/be/tielt-tielt/",
      "population": 31973,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.22,
      "pm25_ug_m3": null
    },
    {
      "name": "Harelbeke",
      "canonical_url": "https://immigrationdb.com/cities/be/harelbeke/",
      "population": 30605,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.58,
      "pm25_ug_m3": 8.795628
    },
    {
      "name": "Izegem",
      "canonical_url": "https://immigrationdb.com/cities/be/izegem/",
      "population": 29444,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.71,
      "pm25_ug_m3": 8.696175
    },
    {
      "name": "Zwevegem",
      "canonical_url": "https://immigrationdb.com/cities/be/zwevegem/",
      "population": 26035,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.24,
      "pm25_ug_m3": 7.489071
    },
    {
      "name": "Oostkamp",
      "canonical_url": "https://immigrationdb.com/cities/be/oostkamp/",
      "population": 24102,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.83,
      "pm25_ug_m3": 9.27541
    },
    {
      "name": "Zedelgem",
      "canonical_url": "https://immigrationdb.com/cities/be/zedelgem/",
      "population": 23747,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.07,
      "pm25_ug_m3": 9.404098
    },
    {
      "name": "Torhout",
      "canonical_url": "https://immigrationdb.com/cities/be/torhout/",
      "population": 21154,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.67,
      "pm25_ug_m3": 8.996721
    },
    {
      "name": "Koksijde",
      "canonical_url": "https://immigrationdb.com/cities/be/koksijde/",
      "population": 21072,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.1,
      "pm25_ug_m3": 7.751366
    },
    {
      "name": "Wingene",
      "canonical_url": "https://immigrationdb.com/cities/be/wingene/",
      "population": 20919,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.32,
      "pm25_ug_m3": null
    },
    {
      "name": "Blankenberge",
      "canonical_url": "https://immigrationdb.com/cities/be/blankenberge/",
      "population": 20741,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.03,
      "pm25_ug_m3": 9.412568
    },
    {
      "name": "Middelkerke",
      "canonical_url": "https://immigrationdb.com/cities/be/middelkerke/",
      "population": 20069,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.41,
      "pm25_ug_m3": 7.801093
    },
    {
      "name": "Poperinge",
      "canonical_url": "https://immigrationdb.com/cities/be/poperinge/",
      "population": 19890,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 4.08,
      "pm25_ug_m3": 7.736885
    },
    {
      "name": "Wervik",
      "canonical_url": "https://immigrationdb.com/cities/be/wervik/",
      "population": 19234,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 4.96,
      "pm25_ug_m3": 8.418852
    },
    {
      "name": "Bredene",
      "canonical_url": "https://immigrationdb.com/cities/be/bredene/",
      "population": 18057,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.69,
      "pm25_ug_m3": 9.230055
    },
    {
      "name": "Diksmuide",
      "canonical_url": "https://immigrationdb.com/cities/be/diksmuide-vlg-vwv/",
      "population": 17337,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.36,
      "pm25_ug_m3": null
    },
    {
      "name": "Beernem",
      "canonical_url": "https://immigrationdb.com/cities/be/beernem/",
      "population": 16334,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.57,
      "pm25_ug_m3": 8.898361
    },
    {
      "name": "Anzegem",
      "canonical_url": "https://immigrationdb.com/cities/be/anzegem/",
      "population": 15294,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.13,
      "pm25_ug_m3": 8.315301
    },
    {
      "name": "Jabbeke",
      "canonical_url": "https://immigrationdb.com/cities/be/jabbeke/",
      "population": 14990,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.87,
      "pm25_ug_m3": 9.434973
    },
    {
      "name": "Ichtegem",
      "canonical_url": "https://immigrationdb.com/cities/be/ichtegem/",
      "population": 14681,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.5,
      "pm25_ug_m3": 9.329781
    },
    {
      "name": "Kuurne",
      "canonical_url": "https://immigrationdb.com/cities/be/kuurne/",
      "population": 14308,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.47,
      "pm25_ug_m3": 8.912568
    },
    {
      "name": "Knokke",
      "canonical_url": "https://immigrationdb.com/cities/be/knokke/",
      "population": 14118,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Kortemark",
      "canonical_url": "https://immigrationdb.com/cities/be/kortemark/",
      "population": 13084,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.18,
      "pm25_ug_m3": 8.380601
    },
    {
      "name": "Heist",
      "canonical_url": "https://immigrationdb.com/cities/be/heist/",
      "population": 12973,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Zonnebeke",
      "canonical_url": "https://immigrationdb.com/cities/be/zonnebeke/",
      "population": 12784,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.17,
      "pm25_ug_m3": 8.512842
    },
    {
      "name": "Deerlijk",
      "canonical_url": "https://immigrationdb.com/cities/be/deerlijk/",
      "population": 12727,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.05,
      "pm25_ug_m3": 8.674044
    },
    {
      "name": "De Haan",
      "canonical_url": "https://immigrationdb.com/cities/be/de-haan/",
      "population": 12682,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.96,
      "pm25_ug_m3": 7.67459
    },
    {
      "name": "Veurne",
      "canonical_url": "https://immigrationdb.com/cities/be/veurne/",
      "population": 12564,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.79,
      "pm25_ug_m3": null
    },
    {
      "name": "Gistel",
      "canonical_url": "https://immigrationdb.com/cities/be/gistel/",
      "population": 12098,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.97,
      "pm25_ug_m3": 9.144262
    },
    {
      "name": "Staden",
      "canonical_url": "https://immigrationdb.com/cities/be/staden/",
      "population": 11759,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 1.76,
      "pm25_ug_m3": 8.439617
    },
    {
      "name": "Ingelmunster",
      "canonical_url": "https://immigrationdb.com/cities/be/ingelmunster/",
      "population": 11663,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.29,
      "pm25_ug_m3": 8.358197
    },
    {
      "name": "Moorslede",
      "canonical_url": "https://immigrationdb.com/cities/be/moorslede/",
      "population": 11531,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.79,
      "pm25_ug_m3": 8.120765
    },
    {
      "name": "Nieuwpoort",
      "canonical_url": "https://immigrationdb.com/cities/be/nieuwpoort/",
      "population": 11399,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.1,
      "pm25_ug_m3": null
    },
    {
      "name": "Damme",
      "canonical_url": "https://immigrationdb.com/cities/be/damme/",
      "population": 11321,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.92,
      "pm25_ug_m3": 8.974863
    },
    {
      "name": "Meulebeke",
      "canonical_url": "https://immigrationdb.com/cities/be/meulebeke/",
      "population": 11123,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.76,
      "pm25_ug_m3": null
    },
    {
      "name": "De Panne",
      "canonical_url": "https://immigrationdb.com/cities/be/de-panne/",
      "population": 10874,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.69,
      "pm25_ug_m3": null
    },
    {
      "name": "Houthulst",
      "canonical_url": "https://immigrationdb.com/cities/be/houthulst/",
      "population": 10543,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.85,
      "pm25_ug_m3": 8.553552
    },
    {
      "name": "Oudenburg",
      "canonical_url": "https://immigrationdb.com/cities/be/oudenburg/",
      "population": 10449,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.57,
      "pm25_ug_m3": 9.430601
    },
    {
      "name": "Avelgem",
      "canonical_url": "https://immigrationdb.com/cities/be/avelgem/",
      "population": 10426,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 4.52,
      "pm25_ug_m3": 7.709836
    },
    {
      "name": "Wielsbeke",
      "canonical_url": "https://immigrationdb.com/cities/be/wielsbeke/",
      "population": 10282,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.52,
      "pm25_ug_m3": 8.751093
    },
    {
      "name": "Hooglede",
      "canonical_url": "https://immigrationdb.com/cities/be/hooglede/",
      "population": 10248,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.18,
      "pm25_ug_m3": 8.477596
    },
    {
      "name": "Ledegem",
      "canonical_url": "https://immigrationdb.com/cities/be/ledegem/",
      "population": 9797,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.19,
      "pm25_ug_m3": 8.461202
    },
    {
      "name": "Ardooie",
      "canonical_url": "https://immigrationdb.com/cities/be/ardooie/",
      "population": 9546,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.05,
      "pm25_ug_m3": 8.083607
    },
    {
      "name": "Lichtervelde",
      "canonical_url": "https://immigrationdb.com/cities/be/lichtervelde/",
      "population": 9450,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.3,
      "pm25_ug_m3": 8.89918
    },
    {
      "name": "Gullegem",
      "canonical_url": "https://immigrationdb.com/cities/be/gullegem/",
      "population": 8986,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Koekelare",
      "canonical_url": "https://immigrationdb.com/cities/be/koekelare/",
      "population": 8886,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.58,
      "pm25_ug_m3": 8.613388
    },
    {
      "name": "Dentergem",
      "canonical_url": "https://immigrationdb.com/cities/be/dentergem/",
      "population": 8824,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.94,
      "pm25_ug_m3": 8.091257
    },
    {
      "name": "Uitkerke",
      "canonical_url": "https://immigrationdb.com/cities/be/uitkerke/",
      "population": 8524,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Oostduinkerke",
      "canonical_url": "https://immigrationdb.com/cities/be/oostduinkerke/",
      "population": 8435,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Langemark-Poelkapelle",
      "canonical_url": "https://immigrationdb.com/cities/be/langemark-poelkapelle/",
      "population": 8258,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 3.52,
      "pm25_ug_m3": 8.333607
    },
    {
      "name": "Heuvelland",
      "canonical_url": "https://immigrationdb.com/cities/be/heuvelland/",
      "population": 8049,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 4.35,
      "pm25_ug_m3": 7.981421
    },
    {
      "name": "Oostrozebeke",
      "canonical_url": "https://immigrationdb.com/cities/be/oostrozebeke/",
      "population": 7972,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.81,
      "pm25_ug_m3": 8.293989
    },
    {
      "name": "Eernegem",
      "canonical_url": "https://immigrationdb.com/cities/be/eernegem/",
      "population": 7370,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Pittem",
      "canonical_url": "https://immigrationdb.com/cities/be/pittem/",
      "population": 7003,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.53,
      "pm25_ug_m3": 7.969945
    },
    {
      "name": "Geluwe",
      "canonical_url": "https://immigrationdb.com/cities/be/geluwe/",
      "population": 6766,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Oedelem",
      "canonical_url": "https://immigrationdb.com/cities/be/oedelem/",
      "population": 6546,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Zwevezele",
      "canonical_url": "https://immigrationdb.com/cities/be/zwevezele/",
      "population": 6422,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Moorsele",
      "canonical_url": "https://immigrationdb.com/cities/be/moorsele/",
      "population": 6366,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Ruddervoorde",
      "canonical_url": "https://immigrationdb.com/cities/be/ruddervoorde/",
      "population": 5997,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Lendelede",
      "canonical_url": "https://immigrationdb.com/cities/be/lendelede/",
      "population": 5863,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.92,
      "pm25_ug_m3": 8.643169
    },
    {
      "name": "Beveren-Leie",
      "canonical_url": "https://immigrationdb.com/cities/be/beveren-leie/",
      "population": 5786,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Sijsele",
      "canonical_url": "https://immigrationdb.com/cities/be/sijsele/",
      "population": 5599,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Varsenare",
      "canonical_url": "https://immigrationdb.com/cities/be/varsenare/",
      "population": 5592,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Ruiselede",
      "canonical_url": "https://immigrationdb.com/cities/be/ruiselede/",
      "population": 5484,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 2.42,
      "pm25_ug_m3": null
    },
    {
      "name": "Desselgem",
      "canonical_url": "https://immigrationdb.com/cities/be/desselgem/",
      "population": 5394,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Veldegem",
      "canonical_url": "https://immigrationdb.com/cities/be/veldegem/",
      "population": 5362,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Langemark",
      "canonical_url": "https://immigrationdb.com/cities/be/langemark/",
      "population": 5306,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Klemskerke",
      "canonical_url": "https://immigrationdb.com/cities/be/klemskerke/",
      "population": 2807,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Westende",
      "canonical_url": "https://immigrationdb.com/cities/be/westende/",
      "population": 0,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    }
  ],
  "rankings": [
    {
      "key": "pm25",
      "title": "Cleanest air",
      "items": [
        {
          "name": "Zwevegem",
          "href": "/cities/be/zwevegem/",
          "value": "7.5 µg/m³ PM2.5",
          "year": "2024"
        },
        {
          "name": "De Haan",
          "href": "/cities/be/de-haan/",
          "value": "7.7 µg/m³ PM2.5",
          "year": "2024"
        },
        {
          "name": "Avelgem",
          "href": "/cities/be/avelgem/",
          "value": "7.7 µg/m³ PM2.5",
          "year": "2024"
        },
        {
          "name": "Poperinge",
          "href": "/cities/be/poperinge/",
          "value": "7.7 µg/m³ PM2.5",
          "year": "2024"
        },
        {
          "name": "Koksijde",
          "href": "/cities/be/koksijde/",
          "value": "7.8 µg/m³ PM2.5",
          "year": "2024"
        }
      ]
    }
  ]
}
