{
  "snapshot_id": "approved-static-48d32b636f07abc8",
  "page_version": "831ba515c72162aa94045855a9a419ec",
  "content_date": "2026-10-16",
  "schema_version": "immigrationdb-region-v1",
  "region_id": "region:fr:official:53",
  "name": "Brittany",
  "name_local": "Bretagne",
  "country_code": "FR",
  "country": "France",
  "canonical_url": "https://immigrationdb.com/countries/france/brittany/",
  "summary": "Brittany has 141 published cities; the largest is Rennes, with 230,890 residents. Net rent runs from €5.17 to €14.99 per m² a month across the 134 cities that publish it.",
  "cities": [
    {
      "name": "Rennes",
      "canonical_url": "https://immigrationdb.com/cities/fr/rennes/",
      "population": 230890,
      "rent_eur_per_m2_month": 14.869842,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.948873,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Brest",
      "canonical_url": "https://immigrationdb.com/cities/fr/brest/",
      "population": 142346,
      "rent_eur_per_m2_month": 12.179605,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.626682,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Quimper",
      "canonical_url": "https://immigrationdb.com/cities/fr/quimper/",
      "population": 64385,
      "rent_eur_per_m2_month": 10.69,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 12.747175,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Lorient",
      "canonical_url": "https://immigrationdb.com/cities/fr/lorient/",
      "population": 58329,
      "rent_eur_per_m2_month": 13.369904,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 14.640869,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Vannes",
      "canonical_url": "https://immigrationdb.com/cities/fr/vannes/",
      "population": 55790,
      "rent_eur_per_m2_month": 14.05093,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 12.151432,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Saint-Malo",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-malo/",
      "population": 47439,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.307488,
      "pm25_ug_m3": 8.092355619458443
    },
    {
      "name": "Saint-Brieuc",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-brieuc/",
      "population": 44364,
      "rent_eur_per_m2_month": 10.06,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 14.54744,
      "pm25_ug_m3": 6.710330528113169
    },
    {
      "name": "Lanester",
      "canonical_url": "https://immigrationdb.com/cities/fr/lanester/",
      "population": 23263,
      "rent_eur_per_m2_month": 13.2213,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 12.402555,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Concarneau",
      "canonical_url": "https://immigrationdb.com/cities/fr/concarneau/",
      "population": 20845,
      "rent_eur_per_m2_month": 10.03,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.491282,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Lannion",
      "canonical_url": "https://immigrationdb.com/cities/fr/lannion/",
      "population": 20315,
      "rent_eur_per_m2_month": 12.06,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.789499,
      "pm25_ug_m3": null
    },
    {
      "name": "Fougères",
      "canonical_url": "https://immigrationdb.com/cities/fr/fougeres/",
      "population": 20307,
      "rent_eur_per_m2_month": 9.35,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 14.051503,
      "pm25_ug_m3": null
    },
    {
      "name": "Bruz",
      "canonical_url": "https://immigrationdb.com/cities/fr/bruz/",
      "population": 19683,
      "rent_eur_per_m2_month": 10.5,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.737311,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Vitré",
      "canonical_url": "https://immigrationdb.com/cities/fr/vitre/",
      "population": 19365,
      "rent_eur_per_m2_month": 7.8,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.271495,
      "pm25_ug_m3": 10
    },
    {
      "name": "Ploemeur",
      "canonical_url": "https://immigrationdb.com/cities/fr/ploemeur/",
      "population": 18872,
      "rent_eur_per_m2_month": 14.088113,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.557539,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Cesson-Sévigné",
      "canonical_url": "https://immigrationdb.com/cities/fr/cesson-sevigne/",
      "population": 18761,
      "rent_eur_per_m2_month": 11.1,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.328239,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Lamballe-Armor",
      "canonical_url": "https://immigrationdb.com/cities/fr/lamballe-armor/",
      "population": 17241,
      "rent_eur_per_m2_month": 10.14,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.415152,
      "pm25_ug_m3": 6.710330528113169
    },
    {
      "name": "Landerneau",
      "canonical_url": "https://immigrationdb.com/cities/fr/landerneau/",
      "population": 16363,
      "rent_eur_per_m2_month": 11.38,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.627527,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Hennebont",
      "canonical_url": "https://immigrationdb.com/cities/fr/hennebont/",
      "population": 15910,
      "rent_eur_per_m2_month": 12.823065,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.877584,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Guipavas",
      "canonical_url": "https://immigrationdb.com/cities/fr/guipavas/",
      "population": 15538,
      "rent_eur_per_m2_month": 12.741158,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.74939,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Morlaix",
      "canonical_url": "https://immigrationdb.com/cities/fr/morlaix/",
      "population": 15194,
      "rent_eur_per_m2_month": 9.19,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 17.156758,
      "pm25_ug_m3": null
    },
    {
      "name": "Dinan",
      "canonical_url": "https://immigrationdb.com/cities/fr/dinan/",
      "population": 14764,
      "rent_eur_per_m2_month": 13.46,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 14.805526,
      "pm25_ug_m3": 8.092355619458443
    },
    {
      "name": "Pontivy",
      "canonical_url": "https://immigrationdb.com/cities/fr/pontivy/",
      "population": 14640,
      "rent_eur_per_m2_month": 10.17,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.688922,
      "pm25_ug_m3": 5.3732699358386835
    },
    {
      "name": "Plérin",
      "canonical_url": "https://immigrationdb.com/cities/fr/plerin/",
      "population": 14425,
      "rent_eur_per_m2_month": 10.9,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.262717,
      "pm25_ug_m3": 6.710330528113169
    },
    {
      "name": "Auray",
      "canonical_url": "https://immigrationdb.com/cities/fr/auray/",
      "population": 14207,
      "rent_eur_per_m2_month": 13.813134,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.700964,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Douarnenez",
      "canonical_url": "https://immigrationdb.com/cities/fr/douarnenez/",
      "population": 14068,
      "rent_eur_per_m2_month": 10.27,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 15.095465,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Saint-Jacques-de-la-Lande",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-jacques-de-la-lande/",
      "population": 13800,
      "rent_eur_per_m2_month": 11.1,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.574512,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Plouzané",
      "canonical_url": "https://immigrationdb.com/cities/fr/plouzane/",
      "population": 13567,
      "rent_eur_per_m2_month": 12.375999,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.255131,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Plougastel-Daoulas",
      "canonical_url": "https://immigrationdb.com/cities/fr/plougastel-daoulas/",
      "population": 13434,
      "rent_eur_per_m2_month": 12.446297,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.093557,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Lamballe",
      "canonical_url": "https://immigrationdb.com/cities/fr/lamballe/",
      "population": 13008,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Betton",
      "canonical_url": "https://immigrationdb.com/cities/fr/betton/",
      "population": 12964,
      "rent_eur_per_m2_month": 10.5,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.411291,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Saint-Avé",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-ave/",
      "population": 12470,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.61977,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Quimperlé",
      "canonical_url": "https://immigrationdb.com/cities/fr/quimperle/",
      "population": 12469,
      "rent_eur_per_m2_month": 10.57,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.234075,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Guidel",
      "canonical_url": "https://immigrationdb.com/cities/fr/guidel/",
      "population": 12338,
      "rent_eur_per_m2_month": 12.643795,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.977747,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Le Relecq-Kerhuon",
      "canonical_url": "https://immigrationdb.com/cities/fr/le-relecq-kerhuon/",
      "population": 11897,
      "rent_eur_per_m2_month": 12.993558,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.271445,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Pacé",
      "canonical_url": "https://immigrationdb.com/cities/fr/pace/",
      "population": 11703,
      "rent_eur_per_m2_month": 10.5,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.923718,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Ploufragan",
      "canonical_url": "https://immigrationdb.com/cities/fr/ploufragan/",
      "population": 11507,
      "rent_eur_per_m2_month": 9.79,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.583854,
      "pm25_ug_m3": 6.041800231975927
    },
    {
      "name": "Châteaugiron",
      "canonical_url": "https://immigrationdb.com/cities/fr/chateaugiron/",
      "population": 10845,
      "rent_eur_per_m2_month": 11.91,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.613461,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Dinard",
      "canonical_url": "https://immigrationdb.com/cities/fr/dinard/",
      "population": 10772,
      "rent_eur_per_m2_month": 12.03,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.651276,
      "pm25_ug_m3": 8.092355619458443
    },
    {
      "name": "Chantepie",
      "canonical_url": "https://immigrationdb.com/cities/fr/chantepie/",
      "population": 10670,
      "rent_eur_per_m2_month": 11.1,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.072306,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Fouesnant",
      "canonical_url": "https://immigrationdb.com/cities/fr/fouesnant/",
      "population": 10436,
      "rent_eur_per_m2_month": 11.62,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.653628,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Ploërmel",
      "canonical_url": "https://immigrationdb.com/cities/fr/ploermel/",
      "population": 10163,
      "rent_eur_per_m2_month": 10.31,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.407141,
      "pm25_ug_m3": null
    },
    {
      "name": "Loudéac",
      "canonical_url": "https://immigrationdb.com/cities/fr/loudeac/",
      "population": 9987,
      "rent_eur_per_m2_month": 9.96,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.314079,
      "pm25_ug_m3": 5.3732699358386835
    },
    {
      "name": "Saint-Grégoire",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-gregoire/",
      "population": 9957,
      "rent_eur_per_m2_month": 11.1,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.860127,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Le Rheu",
      "canonical_url": "https://immigrationdb.com/cities/fr/le-rheu/",
      "population": 9839,
      "rent_eur_per_m2_month": 10.5,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.415295,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Séné",
      "canonical_url": "https://immigrationdb.com/cities/fr/sene/",
      "population": 9554,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.164153,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Redon",
      "canonical_url": "https://immigrationdb.com/cities/fr/redon/",
      "population": 9542,
      "rent_eur_per_m2_month": 10.15,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 15.852099,
      "pm25_ug_m3": 7
    },
    {
      "name": "Landivisiau",
      "canonical_url": "https://immigrationdb.com/cities/fr/landivisiau/",
      "population": 9426,
      "rent_eur_per_m2_month": 9.53,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.911057,
      "pm25_ug_m3": 8
    },
    {
      "name": "Guichen",
      "canonical_url": "https://immigrationdb.com/cities/fr/guichen/",
      "population": 9412,
      "rent_eur_per_m2_month": 10.26,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.880046,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Liffré",
      "canonical_url": "https://immigrationdb.com/cities/fr/liffre/",
      "population": 9339,
      "rent_eur_per_m2_month": 11.13,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.838465,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Sarzeau",
      "canonical_url": "https://immigrationdb.com/cities/fr/sarzeau/",
      "population": 9212,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 14.684837,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Quéven",
      "canonical_url": "https://immigrationdb.com/cities/fr/queven/",
      "population": 8991,
      "rent_eur_per_m2_month": 12.941626,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.847801,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Chartres-de-Bretagne",
      "canonical_url": "https://immigrationdb.com/cities/fr/chartres-de-bretagne/",
      "population": 8880,
      "rent_eur_per_m2_month": 10.5,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.083686,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Plabennec",
      "canonical_url": "https://immigrationdb.com/cities/fr/plabennec/",
      "population": 8686,
      "rent_eur_per_m2_month": 10.99,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.554208,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Thorigné-Fouillard",
      "canonical_url": "https://immigrationdb.com/cities/fr/thorigne-fouillard/",
      "population": 8667,
      "rent_eur_per_m2_month": 9.4,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.944303,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Janzé",
      "canonical_url": "https://immigrationdb.com/cities/fr/janze/",
      "population": 8649,
      "rent_eur_per_m2_month": 10.18,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.326974,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Ergué-Gabéric",
      "canonical_url": "https://immigrationdb.com/cities/fr/ergue-gaberic/",
      "population": 8606,
      "rent_eur_per_m2_month": 5.804391,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.212698,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Saint-Renan",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-renan/",
      "population": 8577,
      "rent_eur_per_m2_month": 10.93,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.553181,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Theix-Noyalo",
      "canonical_url": "https://immigrationdb.com/cities/fr/theix-noyalo/",
      "population": 8500,
      "rent_eur_per_m2_month": 12.817756,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.774252,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Pont-l'Abbé",
      "canonical_url": "https://immigrationdb.com/cities/fr/pont-l-abbe/",
      "population": 8484,
      "rent_eur_per_m2_month": 10.02,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.529456,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Trégueux",
      "canonical_url": "https://immigrationdb.com/cities/fr/tregueux/",
      "population": 8450,
      "rent_eur_per_m2_month": 10.17,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.274276,
      "pm25_ug_m3": 6.041800231975927
    },
    {
      "name": "Larmor-Plage",
      "canonical_url": "https://immigrationdb.com/cities/fr/larmor-plage/",
      "population": 8418,
      "rent_eur_per_m2_month": 14.994621,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.898661,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Noyal-Châtillon-sur-Seiche",
      "canonical_url": "https://immigrationdb.com/cities/fr/noyal-chatillon-sur-seiche/",
      "population": 8359,
      "rent_eur_per_m2_month": 9.4,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.286552,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Guilers",
      "canonical_url": "https://immigrationdb.com/cities/fr/guilers/",
      "population": 8268,
      "rent_eur_per_m2_month": 12.217219,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.236666,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Vern-sur-Seiche",
      "canonical_url": "https://immigrationdb.com/cities/fr/vern-sur-seiche/",
      "population": 8207,
      "rent_eur_per_m2_month": 10.5,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.028203,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Questembert",
      "canonical_url": "https://immigrationdb.com/cities/fr/questembert/",
      "population": 8133,
      "rent_eur_per_m2_month": 10.22,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.660435,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Languidic",
      "canonical_url": "https://immigrationdb.com/cities/fr/languidic/",
      "population": 8042,
      "rent_eur_per_m2_month": 11.885533,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.93223,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Langueux",
      "canonical_url": "https://immigrationdb.com/cities/fr/langueux/",
      "population": 7939,
      "rent_eur_per_m2_month": 10.09,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.972973,
      "pm25_ug_m3": 6.710330528113169
    },
    {
      "name": "Mordelles",
      "canonical_url": "https://immigrationdb.com/cities/fr/mordelles/",
      "population": 7911,
      "rent_eur_per_m2_month": 10.5,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.086198,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Pluvigner",
      "canonical_url": "https://immigrationdb.com/cities/fr/pluvigner/",
      "population": 7682,
      "rent_eur_per_m2_month": 11.925889,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.995527,
      "pm25_ug_m3": 7.905616045526219
    },
    {
      "name": "Bain-de-Bretagne",
      "canonical_url": "https://immigrationdb.com/cities/fr/bain-de-bretagne/",
      "population": 7674,
      "rent_eur_per_m2_month": 8.93,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.917376,
      "pm25_ug_m3": 7
    },
    {
      "name": "Lesneven",
      "canonical_url": "https://immigrationdb.com/cities/fr/lesneven/",
      "population": 7566,
      "rent_eur_per_m2_month": 10.31,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.198393,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Rosporden",
      "canonical_url": "https://immigrationdb.com/cities/fr/rosporden/",
      "population": 7550,
      "rent_eur_per_m2_month": 10.39,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.272709,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Melesse",
      "canonical_url": "https://immigrationdb.com/cities/fr/melesse/",
      "population": 7541,
      "rent_eur_per_m2_month": 12.319016,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.112952,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Châteaubourg",
      "canonical_url": "https://immigrationdb.com/cities/fr/chateaubourg/",
      "population": 7533,
      "rent_eur_per_m2_month": 7.8,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.608885,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Crozon",
      "canonical_url": "https://immigrationdb.com/cities/fr/crozon/",
      "population": 7499,
      "rent_eur_per_m2_month": 11.2,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.145551,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Pordic",
      "canonical_url": "https://immigrationdb.com/cities/fr/pordic/",
      "population": 7454,
      "rent_eur_per_m2_month": 10.75,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.245251,
      "pm25_ug_m3": 6.710330528113169
    },
    {
      "name": "Carhaix-Plouguer",
      "canonical_url": "https://immigrationdb.com/cities/fr/carhaix-plouguer/",
      "population": 7412,
      "rent_eur_per_m2_month": 9.13,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.345722,
      "pm25_ug_m3": null
    },
    {
      "name": "Guipry-Messac",
      "canonical_url": "https://immigrationdb.com/cities/fr/guipry-messac/",
      "population": 7354,
      "rent_eur_per_m2_month": 8.53,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.158343,
      "pm25_ug_m3": null
    },
    {
      "name": "Paimpol",
      "canonical_url": "https://immigrationdb.com/cities/fr/paimpol/",
      "population": 7341,
      "rent_eur_per_m2_month": 11.27,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.967169,
      "pm25_ug_m3": null
    },
    {
      "name": "Perros-Guirec",
      "canonical_url": "https://immigrationdb.com/cities/fr/perros-guirec/",
      "population": 7336,
      "rent_eur_per_m2_month": 11.36,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.585224,
      "pm25_ug_m3": null
    },
    {
      "name": "Caudan",
      "canonical_url": "https://immigrationdb.com/cities/fr/caudan/",
      "population": 7206,
      "rent_eur_per_m2_month": 12.687541,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.999796,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Kervignac",
      "canonical_url": "https://immigrationdb.com/cities/fr/kervignac/",
      "population": 7204,
      "rent_eur_per_m2_month": 12.828293,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.818235,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Pleurtuit",
      "canonical_url": "https://immigrationdb.com/cities/fr/pleurtuit/",
      "population": 7167,
      "rent_eur_per_m2_month": 12.15,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.02194,
      "pm25_ug_m3": 8.092355619458443
    },
    {
      "name": "Trégunc",
      "canonical_url": "https://immigrationdb.com/cities/fr/tregunc/",
      "population": 7148,
      "rent_eur_per_m2_month": 9.37,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.361232,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Guingamp",
      "canonical_url": "https://immigrationdb.com/cities/fr/guingamp/",
      "population": 7111,
      "rent_eur_per_m2_month": 9.58,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 21.259185,
      "pm25_ug_m3": 5
    },
    {
      "name": "Brech",
      "canonical_url": "https://immigrationdb.com/cities/fr/brech/",
      "population": 7052,
      "rent_eur_per_m2_month": 12.681225,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.212121,
      "pm25_ug_m3": 7.905616045526219
    },
    {
      "name": "Binic-Étables-sur-Mer",
      "canonical_url": "https://immigrationdb.com/cities/fr/binic-etables-sur-mer/",
      "population": 7041,
      "rent_eur_per_m2_month": 11.29,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.355173,
      "pm25_ug_m3": 6.710330528113169
    },
    {
      "name": "Saint-Pol-de-Léon",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-pol-de-leon/",
      "population": 6941,
      "rent_eur_per_m2_month": 9.66,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.81925,
      "pm25_ug_m3": null
    },
    {
      "name": "Plédran",
      "canonical_url": "https://immigrationdb.com/cities/fr/pledran/",
      "population": 6933,
      "rent_eur_per_m2_month": 9.03,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.913493,
      "pm25_ug_m3": 6.041800231975927
    },
    {
      "name": "Acigné",
      "canonical_url": "https://immigrationdb.com/cities/fr/acigne/",
      "population": 6874,
      "rent_eur_per_m2_month": 9.4,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.867816,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Montfort-sur-Meu",
      "canonical_url": "https://immigrationdb.com/cities/fr/montfort-sur-meu/",
      "population": 6810,
      "rent_eur_per_m2_month": 10.85,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.280503,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Ploeren",
      "canonical_url": "https://immigrationdb.com/cities/fr/ploeren/",
      "population": 6790,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.284286,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Plouguerneau",
      "canonical_url": "https://immigrationdb.com/cities/fr/plouguerneau/",
      "population": 6755,
      "rent_eur_per_m2_month": 5.7813,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.201027,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Moëlan-sur-Mer",
      "canonical_url": "https://immigrationdb.com/cities/fr/moelan-sur-mer/",
      "population": 6749,
      "rent_eur_per_m2_month": 10.27,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.60033,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Inzinzac-Lochrist",
      "canonical_url": "https://immigrationdb.com/cities/fr/inzinzac-lochrist/",
      "population": 6691,
      "rent_eur_per_m2_month": 12.370729,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.1079,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Elven",
      "canonical_url": "https://immigrationdb.com/cities/fr/elven/",
      "population": 6651,
      "rent_eur_per_m2_month": 11.869885,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.621438,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Montauban-de-Bretagne",
      "canonical_url": "https://immigrationdb.com/cities/fr/montauban-de-bretagne/",
      "population": 6597,
      "rent_eur_per_m2_month": 10.51,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.399236,
      "pm25_ug_m3": null
    },
    {
      "name": "Le Mené",
      "canonical_url": "https://immigrationdb.com/cities/fr/le-mene/",
      "population": 6556,
      "rent_eur_per_m2_month": 7.6,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.059947,
      "pm25_ug_m3": null
    },
    {
      "name": "Ploudalmézeau",
      "canonical_url": "https://immigrationdb.com/cities/fr/ploudalmezeau/",
      "population": 6522,
      "rent_eur_per_m2_month": 10.19,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.173833,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Gouesnou",
      "canonical_url": "https://immigrationdb.com/cities/fr/gouesnou/",
      "population": 6501,
      "rent_eur_per_m2_month": 13.251476,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.183074,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Vezin-le-Coquet",
      "canonical_url": "https://immigrationdb.com/cities/fr/vezin-le-coquet/",
      "population": 6471,
      "rent_eur_per_m2_month": 9.4,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.509768,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Plonéour-Lanvern",
      "canonical_url": "https://immigrationdb.com/cities/fr/ploneour-lanvern/",
      "population": 6452,
      "rent_eur_per_m2_month": 9.55,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.852537,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Combourg",
      "canonical_url": "https://immigrationdb.com/cities/fr/combourg/",
      "population": 6411,
      "rent_eur_per_m2_month": 10.38,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.440629,
      "pm25_ug_m3": 8
    },
    {
      "name": "Bréal-sous-Montfort",
      "canonical_url": "https://immigrationdb.com/cities/fr/breal-sous-montfort/",
      "population": 6391,
      "rent_eur_per_m2_month": 11.22,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.434399,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Baud",
      "canonical_url": "https://immigrationdb.com/cities/fr/baud/",
      "population": 6367,
      "rent_eur_per_m2_month": 9.94,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.774106,
      "pm25_ug_m3": 8.154545454545495
    },
    {
      "name": "Plescop",
      "canonical_url": "https://immigrationdb.com/cities/fr/plescop/",
      "population": 6362,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.017597,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Noyal-sur-Vilaine",
      "canonical_url": "https://immigrationdb.com/cities/fr/noyal-sur-vilaine/",
      "population": 6269,
      "rent_eur_per_m2_month": 11.93,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.829378,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Pluneret",
      "canonical_url": "https://immigrationdb.com/cities/fr/pluneret/",
      "population": 6262,
      "rent_eur_per_m2_month": 13.229744,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.242991,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Guer",
      "canonical_url": "https://immigrationdb.com/cities/fr/guer/",
      "population": 6208,
      "rent_eur_per_m2_month": 7.42,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.066752,
      "pm25_ug_m3": 7
    },
    {
      "name": "Gévezé",
      "canonical_url": "https://immigrationdb.com/cities/fr/geveze/",
      "population": 6061,
      "rent_eur_per_m2_month": 9.4,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.22931,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Grand-Champ",
      "canonical_url": "https://immigrationdb.com/cities/fr/grand-champ/",
      "population": 5929,
      "rent_eur_per_m2_month": 5.39057,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.745735,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Riantec",
      "canonical_url": "https://immigrationdb.com/cities/fr/riantec/",
      "population": 5865,
      "rent_eur_per_m2_month": 5.699698,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.447697,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Arradon",
      "canonical_url": "https://immigrationdb.com/cities/fr/arradon/",
      "population": 5835,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.256554,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Dol-de-Bretagne",
      "canonical_url": "https://immigrationdb.com/cities/fr/dol-de-bretagne/",
      "population": 5829,
      "rent_eur_per_m2_month": 10.51,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.776328,
      "pm25_ug_m3": 8.092355619458443
    },
    {
      "name": "Briec",
      "canonical_url": "https://immigrationdb.com/cities/fr/briec/",
      "population": 5816,
      "rent_eur_per_m2_month": 10.35,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.942621,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Plouay",
      "canonical_url": "https://immigrationdb.com/cities/fr/plouay/",
      "population": 5755,
      "rent_eur_per_m2_month": 11.484743,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.929851,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Orgères",
      "canonical_url": "https://immigrationdb.com/cities/fr/orgeres/",
      "population": 5732,
      "rent_eur_per_m2_month": 9.4,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.672889,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Bannalec",
      "canonical_url": "https://immigrationdb.com/cities/fr/bannalec/",
      "population": 5725,
      "rent_eur_per_m2_month": 10.66,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.590563,
      "pm25_ug_m3": 8
    },
    {
      "name": "Lannilis",
      "canonical_url": "https://immigrationdb.com/cities/fr/lannilis/",
      "population": 5709,
      "rent_eur_per_m2_month": 9.64,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.737062,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Cancale",
      "canonical_url": "https://immigrationdb.com/cities/fr/cancale/",
      "population": 5672,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.108149,
      "pm25_ug_m3": 8.092355619458443
    },
    {
      "name": "Saint-Gilles",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-gilles-35275/",
      "population": 5576,
      "rent_eur_per_m2_month": 9.4,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.053529,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Penmarch",
      "canonical_url": "https://immigrationdb.com/cities/fr/penmarch/",
      "population": 5508,
      "rent_eur_per_m2_month": 5.669826,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.265287,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Ploumagoar",
      "canonical_url": "https://immigrationdb.com/cities/fr/ploumagoar/",
      "population": 5414,
      "rent_eur_per_m2_month": 10,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.820995,
      "pm25_ug_m3": 6.710330528113169
    },
    {
      "name": "Plouhinec",
      "canonical_url": "https://immigrationdb.com/cities/fr/plouhinec/",
      "population": 5400,
      "rent_eur_per_m2_month": 13.513574,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.63109,
      "pm25_ug_m3": 7.933841604823781
    },
    {
      "name": "Laillé",
      "canonical_url": "https://immigrationdb.com/cities/fr/laille/",
      "population": 5225,
      "rent_eur_per_m2_month": 9.4,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.102486,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Surzur",
      "canonical_url": "https://immigrationdb.com/cities/fr/surzur/",
      "population": 5211,
      "rent_eur_per_m2_month": 5.82657,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.994152,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Scaër",
      "canonical_url": "https://immigrationdb.com/cities/fr/scaer/",
      "population": 5178,
      "rent_eur_per_m2_month": 9.47,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.955948,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Locmaria-Plouzané",
      "canonical_url": "https://immigrationdb.com/cities/fr/locmaria-plouzane/",
      "population": 5130,
      "rent_eur_per_m2_month": 5.731189,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.109188,
      "pm25_ug_m3": 7.946988818293166
    },
    {
      "name": "Muzillac",
      "canonical_url": "https://immigrationdb.com/cities/fr/muzillac/",
      "population": 5089,
      "rent_eur_per_m2_month": 10.7,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.364011,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Maen Roch",
      "canonical_url": "https://immigrationdb.com/cities/fr/maen-roch/",
      "population": 5088,
      "rent_eur_per_m2_month": 8.44,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 6.764129,
      "pm25_ug_m3": null
    },
    {
      "name": "Baden",
      "canonical_url": "https://immigrationdb.com/cities/fr/baden/",
      "population": 5086,
      "rent_eur_per_m2_month": 10.3,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 8.652241,
      "pm25_ug_m3": 7.849164926931096
    },
    {
      "name": "Châteaulin",
      "canonical_url": "https://immigrationdb.com/cities/fr/chateaulin/",
      "population": 5085,
      "rent_eur_per_m2_month": 11.14,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 12.389662,
      "pm25_ug_m3": 6.88271873568482
    },
    {
      "name": "Yffiniac",
      "canonical_url": "https://immigrationdb.com/cities/fr/yffiniac/",
      "population": 5074,
      "rent_eur_per_m2_month": 9.64,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 9.773328,
      "pm25_ug_m3": 6.041800231975927
    },
    {
      "name": "La Mézière",
      "canonical_url": "https://immigrationdb.com/cities/fr/la-meziere/",
      "population": 5033,
      "rent_eur_per_m2_month": 10.63,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 5.751872,
      "pm25_ug_m3": 7.930097824094712
    },
    {
      "name": "Plouigneau",
      "canonical_url": "https://immigrationdb.com/cities/fr/plouigneau/",
      "population": 5014,
      "rent_eur_per_m2_month": 5.171942,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 7.990214,
      "pm25_ug_m3": null
    },
    {
      "name": "Quiberon",
      "canonical_url": "https://immigrationdb.com/cities/fr/quiberon/",
      "population": 4955,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 13.977313,
      "pm25_ug_m3": null
    },
    {
      "name": "Saint-Martin-des-Champs",
      "canonical_url": "https://immigrationdb.com/cities/fr/saint-martin-des-champs/",
      "population": 4886,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 11.0668,
      "pm25_ug_m3": null
    },
    {
      "name": "Gourin",
      "canonical_url": "https://immigrationdb.com/cities/fr/gourin/",
      "population": 4113,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": 10.282742,
      "pm25_ug_m3": null
    },
    {
      "name": "Châtillon-sur-Seiche",
      "canonical_url": "https://immigrationdb.com/cities/fr/chatillon-sur-seiche/",
      "population": 0,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Fouillard",
      "canonical_url": "https://immigrationdb.com/cities/fr/fouillard/",
      "population": 0,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Guidel-Plage",
      "canonical_url": "https://immigrationdb.com/cities/fr/guidel-plage/",
      "population": 0,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    }
  ],
  "rankings": [
    {
      "key": "rent",
      "title": "Lowest net rent",
      "items": [
        {
          "name": "Plouigneau",
          "href": "/cities/fr/plouigneau/",
          "value": "€5.17/m²",
          "year": "2021"
        },
        {
          "name": "Grand-Champ",
          "href": "/cities/fr/grand-champ/",
          "value": "€5.39/m²",
          "year": "2021"
        },
        {
          "name": "Penmarch",
          "href": "/cities/fr/penmarch/",
          "value": "€5.67/m²",
          "year": "2021"
        },
        {
          "name": "Riantec",
          "href": "/cities/fr/riantec/",
          "value": "€5.70/m²",
          "year": "2021"
        },
        {
          "name": "Locmaria-Plouzané",
          "href": "/cities/fr/locmaria-plouzane/",
          "value": "€5.73/m²",
          "year": "2021"
        }
      ]
    },
    {
      "key": "pm25",
      "title": "Cleanest air",
      "items": [
        {
          "name": "Guingamp",
          "href": "/cities/fr/guingamp/",
          "value": "5.0 µg/m³ PM2.5",
          "year": "2024"
        },
        {
          "name": "Loudéac",
          "href": "/cities/fr/loudeac/",
          "value": "5.4 µg/m³ PM2.5",
          "year": "2024"
        },
        {
          "name": "Pontivy",
          "href": "/cities/fr/pontivy/",
          "value": "5.4 µg/m³ PM2.5",
          "year": "2024"
        },
        {
          "name": "Plédran",
          "href": "/cities/fr/pledran/",
          "value": "6.0 µg/m³ PM2.5",
          "year": "2024"
        },
        {
          "name": "Ploufragan",
          "href": "/cities/fr/ploufragan/",
          "value": "6.0 µg/m³ PM2.5",
          "year": "2024"
        }
      ]
    }
  ]
}
