[Housing Observatory] Social housing from social landlords (RPLS open data)[Observatoire habitat] Logements sociaux des bailleurs sociaux (RPLS open data)
[Observatoire habitat] Logements sociaux des bailleurs sociaux (RPLS open data)[Housing Observatory] Social housing from social landlords (RPLS open data)
This dataset presents the RPLS (répertoire des logements locatifs des bailleurs sociaux), a register describing the overall stock of "ordinary" rental housing managed by social landlords as of 1 January of each collection year. The table published here aggregates the yearly open-data files at the municipal (commune) level, providing a synthesis of social housing counts across the territory. It is maintained by the Métropole Aix-Marseille-Provence and covers the municipalities within its jurisdiction, offering a resource for monitoring social housing supply over time and across local areas.”Le répertoire des logements locatifs des bailleurs sociaux (RPLS) a pour objectif de dresser l’état global du parc de logements locatifs « ordinaires » des bailleurs sociaux au 1er janvier de l’année de collecte. Cette table est une synthèse du fichier disponible pour chaque millésime en open dat...
Trust score
How is this computed?Weighted across five axes. Tap a ring for what it measures.
Data schema (59 fields)
Click a field to see example values.
| Fill | Field | Type | Description |
|---|---|---|---|
| 100% | millesimeMillésime | date | Reference year of the data collection (as of 1 January).Reference year of the data collection (as of 1 January). |
| 100% | psoctotEnsemble du parc social (hors parc non conventionné des SEM) | int | Total social housing stock, excluding SEM non-conventioned units.Total social housing stock, excluding SEM non-conventioned units. |
| 100% | nblogsemParc non conventionné des SEM | int | Number of non-conventioned dwellings owned by SEMs.Number of non-conventioned dwellings owned by SEMs. |
| 100% | ensparcEnsemble du parc locatif des bailleurs sociaux | int | Total rental housing stock of social landlords.Total rental housing stock of social landlords. |
| 76.3% | nblogqpvNombre de logements en QPV | int | Number of dwellings located in priority urban policy areas (QPV).Number of dwellings located in priority urban policy areas (QPV). |
| 100% | indLogements individuels | int | Number of individual (detached) housing units.Number of individual (detached) housing units. |
| 100% | colLogements collectifs | int | Number of collective (apartment) housing units.Number of collective (apartment) housing units. |
| 100% | nblog1pNombre de logements d'une pièce | int | Number of one-room dwellings.Number of one-room dwellings. |
| 100% | nblog2pNombre de logements de 2 pièces | int | Number of two-room dwellings.Number of two-room dwellings. |
| 100% | nblog3pNombre de logements de 3 pièces | int | Number of three-room dwellings.Number of three-room dwellings. |
| 100% | nblog4pNombre de logements de 4 pièces | int | Number of four-room dwellings.Number of four-room dwellings. |
| 100% | nblog5pplNombre de logements sociaux de 5 pièces et plus | int | Number of dwellings with five rooms or more.Number of dwellings with five rooms or more. |
| 100% | plai | int | Number of dwellings financed under the PLAI scheme (aided rental housing for low-income households).Number of dwellings financed under the PLAI scheme (aided rental housing for low-income households). |
| 100% | plus_ant77PLUS avant 1977 | int | Number of PLUS-financed dwellings built before 1977.Number of PLUS-financed dwellings built before 1977. |
| 100% | plus_ap77PLUS après 1977 | int | Number of PLUS-financed dwellings built after 1977.Number of PLUS-financed dwellings built after 1977. |
| 100% | pls | int | Number of dwellings financed under the PLS scheme (social rental housing).Number of dwellings financed under the PLS scheme (social rental housing). |
| 100% | pli | int | Number of dwellings financed under the PLI scheme (intermediate rental housing).Number of dwellings financed under the PLI scheme (intermediate rental housing). |
| 16.5% | autfinAutres financements | int | Number of dwellings financed through other funding schemes.Number of dwellings financed through other funding schemes. |
| 97.8% | evolEvolution du parc sur les 5 dernières années | double | Percentage change in the housing stock over the last 5 years.Percentage change in the housing stock over the last 5 years. |
| 100% | brutEvolution du parc sur les 5 dernières années - nombre | int | Absolute change in the number of dwellings over the last 5 years.Absolute change in the number of dwellings over the last 5 years. |
| 100% | logservanNombre de mises en services l'année précédente | int | Number of dwellings put into service the previous year.Number of dwellings put into service the previous year. |
| 100% | logservNombre de mise en service sur les 5 dernières années | int | Number of dwellings put into service over the last 5 years.Number of dwellings put into service over the last 5 years. |
| 83.5% | msconsMise en service en 5 ans : construit par l'organisme | int | Dwellings put into service in 5 years that were built by the landlord.Dwellings put into service in 5 years that were built by the landlord. |
| 83.5% | msacqtMise en service en 5 ans : acquis avec travaux | int | Dwellings put into service in 5 years that were acquired with renovation works.Dwellings put into service in 5 years that were acquired with renovation works. |
| 83.5% | msacqMise en service en 5 ans : acquis sans travaux | int | Dwellings put into service in 5 years that were acquired without renovation works.Dwellings put into service in 5 years that were acquired without renovation works. |
| 83.5% | msacqvefaMise en service en 5 ans : acquis en VEFA | int | Dwellings put into service in 5 years acquired through off-plan purchase (VEFA).Dwellings put into service in 5 years acquired through off-plan purchase (VEFA). |
| 100% | logsortanNombre de logements sortis du parc l'année précédente | int | Number of dwellings that left the stock the previous year.Number of dwellings that left the stock the previous year. |
| 83.5% | logsorNombre de logements sortis du parc sur les 5 dernières années | int | Number of dwellings that left the stock over the last 5 years.Number of dwellings that left the stock over the last 5 years. |
| 83.3% | sventoccMotif de sortie sur 5 ans : ventes à l'occupant | int | Dwellings sold to their occupant among 5-year stock exits.Dwellings sold to their occupant among 5-year stock exits. |
| 83.3% | sventbailMotif de sortie sur 5 ans : vente autre bailleur | int | Dwellings sold to another social landlord among 5-year stock exits.Dwellings sold to another social landlord among 5-year stock exits. |
| 83.3% | sautventMotif de sortie sur 5 ans : autre vente | int | Dwellings sold for other reasons among 5-year stock exits.Dwellings sold for other reasons among 5-year stock exits. |
| 83.3% | sdemolMotif de sortie sur 5 ans: démolition | int | Dwellings demolished among 5-year stock exits.Dwellings demolished among 5-year stock exits. |
| 83.3% | sautmotMotif de sortie sur 5 ans : autre motif de sortie et sans objet | int | Dwellings leaving the stock for other or unspecified reasons over 5 years.Dwellings leaving the stock for other or unspecified reasons over 5 years. |
| 98% | agmoyparcAge moyen du parc | double | Average age of the housing stock, in years.Average age of the housing stock, in years. |
| 100% | anclg5Age du logement : moins de 5 ans | int | Number of dwellings less than 5 years old.Number of dwellings less than 5 years old. |
| 100% | anclg5_10Age du logement : entre 5 et 10 ans | int | Number of dwellings between 5 and 10 years old.Number of dwellings between 5 and 10 years old. |
| 100% | anclg10_20Age du logement : entre 10 et 20 ans | int | Number of dwellings between 10 and 20 years old.Number of dwellings between 10 and 20 years old. |
| 100% | anclg20_40Age du logement : entre 20 et 40 ans | int | Number of dwellings between 20 and 40 years old.Number of dwellings between 20 and 40 years old. |
| 100% | anclg40_60Age du logement : entre 40 et 60 ans | int | Number of dwellings between 40 and 60 years old.Number of dwellings between 40 and 60 years old. |
| 100% | anclgsup60Age du logement : plus de 60 ans | int | Number of dwellings older than 60 years.Number of dwellings older than 60 years. |
| 100% | logmlocNombre de premières mise en location sur les 5 dernières années (parc récent) | int | Number of dwellings first rented out over the last 5 years, among recent stock.Number of dwellings first rented out over the last 5 years, among recent stock. |
| 98% | txvacTaux de vacance supérieur à 3 mois | double | Vacancy rate for dwellings vacant more than 3 months.Vacancy rate for dwellings vacant more than 3 months. |
| 98% | txmobTaux de mobilité | double | Tenant turnover (mobility) rate of the housing stock.Tenant turnover (mobility) rate of the housing stock. |
| 95.6% | loymoyLoyer moyen parc complet | double | Average rent across the full housing stock.Average rent across the full housing stock. |
| 92.8% | evoloympcEvolution du loyer moyen (parc complet - sur 5 ans) | double | Change in average rent over the last 5 years across the full stock.Change in average rent over the last 5 years across the full stock. |
| 93.8% | loymoyprLoyer moyen parc récent | double | Average rent for the recently built housing stock.Average rent for the recently built housing stock. |
| 95.6% | lmplaiLoyer moyen PLAI | double | Average rent for PLAI-financed dwellings.Average rent for PLAI-financed dwellings. |
| 95.6% | lmpluvLoyer moyen PLUS avant 1977 | double | Average rent for PLUS-financed dwellings built before 1977.Average rent for PLUS-financed dwellings built before 1977. |
| 95.6% | lmplupLoyer moyen PLUS après 1977 | double | Average rent for PLUS-financed dwellings built after 1977.Average rent for PLUS-financed dwellings built after 1977. |
| 95.6% | lmplsLoyer moyen PLS | double | Average rent for PLS-financed dwellings.Average rent for PLS-financed dwellings. |
| — | lmpliLoyer moyen PLI | double | Average rent for PLI-financed dwellings.Average rent for PLI-financed dwellings. |
| — | lmaLoyer moyen autres financements | double | Average rent for dwellings under other financing schemes.Average rent for dwellings under other financing schemes. |
| — | objectidIdentifiant 2 | int | Internal record identifier.Internal record identifier. |
| — | communeCommune | text | Name of the municipality (commune).Name of the municipality (commune). |
| — | codecommCode commune DGFIP | text | DGFIP administrative code for the municipality.DGFIP administrative code for the municipality. |
| — | codeinseeCode commune INSEE | text | INSEE administrative code for the municipality.INSEE administrative code for the municipality. |
| — | geom | geo_shape | Geographic boundary shape of the municipality.Geographic boundary shape of the municipality. |
| — | centroid | geo_point_2d | Geographic centroid coordinates of the municipality.Geographic centroid coordinates of the municipality. |
| — | ct_ampConseil de territoire | text | Territorial council (conseil de territoire) grouping the municipality.Territorial council (conseil de territoire) grouping the municipality. |
Schema captured from opendatasoft 2 days ago.
Query the data
Pick columns and a sort, then fetch a live preview straight from the source. Choose an API-filterable column (marked ▾) under “Where” to pick from its list of values.
Sample data (5 records)
Record 1col: 142 · ind: 0
{
"col": 142,
"ind": 0,
"lma": null,
"pli": 0,
"pls": 10,
"brut": 132,
"evol": 1320,
"geom": "[large value omitted]",
"plai": 3,
"lmpli": 0,
"lmpls": 9.42,
"msacq": 0,
"txmob": 14.2857,
"txvac": 0,
"anclg5": 11,
"autfin": null,
"ct_amp": "CT2",
"lmplai": 5.67,
"lmplup": 6.24,
"lmpluv": 0,
"logsor": 0,
"loymoy": 7.43193277,
"msacqt": 0,
"mscons": 11,
"sdemol": 0,
"commune": "Saint-Paul-lès-Durance",
"ensparc": 142,
"logmloc": 0,
"logserv": 11,
"nblog1p": 120,
"nblog2p": 8,
"nblog3p": 9,
"nblog4p": 5,
"psoctot": 142,
"sautmot": 0,
"centroid": {
"lat": 43.685505267,
"lon": 5.753526555
},
"codecomm": "132099",
"loymoypr": 6.13,
"nblogqpv": 0,
"nblogsem": 0,
"objectid": 260,
"sautvent": 0,
"sventocc": 0,
"agmoyparc": 21.82,
"anclg5_10": 0,
"codeinsee": "13099",
"evoloympc": -14.78,
"logservan": 0,
"logsortan": 0,
"millesime": "2022",
"msacqvefa": 0,
"nblog5ppl": 0,
"plus_ap77": 129,
"sventbail": 0,
"anclg10_20": 10,
"anclg20_40": 121,
"anclg40_60": 0,
"anclgsup60": 0,
"plus_ant77": 0
}Record 2col: 25 · ind: 38
{
"col": 25,
"ind": 38,
"lma": 6.93,
"pli": 0,
"pls": 0,
"brut": 7,
"evol": 12.5,
"geom": "[large value omitted]",
"plai": 7,
"lmpli": 0,
"lmpls": 0,
"msacq": null,
"txmob": 12.5,
"txvac": 1.59,
"anclg5": 0,
"autfin": 3,
"ct_amp": "CT2",
"lmplai": 5.47,
"lmplup": 6.33,
"lmpluv": 4.33,
"logsor": null,
"loymoy": 5.5,
"msacqt": null,
"mscons": null,
"sdemol": null,
"commune": "Rognes",
"ensparc": 63,
"logmloc": 7,
"logserv": 7,
"nblog1p": 6,
"nblog2p": 5,
"nblog3p": 19,
"nblog4p": 21,
"psoctot": 63,
"sautmot": null,
"centroid": {
"lat": 43.664860999,
"lon": 5.352064736
},
"codecomm": "132082",
"loymoypr": 5.47,
"nblogqpv": null,
"nblogsem": 0,
"objectid": 54,
"sautvent": null,
"sventocc": null,
"agmoyparc": 36.44,
"anclg5_10": 18,
"codeinsee": "13082",
"evoloympc": 1.93,
"logservan": 7,
"logsortan": 0,
"millesime": "2020",
"msacqvefa": null,
"nblog5ppl": 12,
"plus_ap77": 33,
"sventbail": null,
"anclg10_20": 15,
"anclg20_40": 0,
"anclg40_60": 20,
"anclgsup60": 10,
"plus_ant77": 20
}Record 3col: 2519 · ind: 310
{
"col": 2519,
"ind": 310,
"lma": null,
"pli": 12,
"pls": 20,
"brut": -79,
"evol": -2.72,
"geom": "[large value omitted]",
"plai": 315,
"lmpli": 8.04,
"lmpls": 10.13,
"msacq": 12,
"txmob": 4.6382,
"txvac": 0.8902,
"anclg5": 4,
"autfin": null,
"ct_amp": "CT1",
"lmplai": 6.7,
"lmplup": 7.15,
"lmpluv": 5.51,
"logsor": 111,
"loymoy": 6.10063,
"msacqt": 0,
"mscons": 36,
"sdemol": 90,
"commune": "Marseille 16e Arrondissement",
"ensparc": 2856,
"logmloc": 16,
"logserv": 48,
"nblog1p": 94,
"nblog2p": 254,
"nblog3p": 844,
"nblog4p": 1231,
"psoctot": 2829,
"sautmot": 0,
"centroid": {
"lat": 43.365354094,
"lon": 5.313224654
},
"codecomm": "131216",
"loymoypr": 9.02,
"nblogqpv": 2392,
"nblogsem": 4,
"objectid": 888,
"sautvent": 8,
"sventocc": 7,
"agmoyparc": 45.53,
"anclg5_10": 51,
"codeinsee": "13216",
"evoloympc": 11.95,
"logservan": 1,
"logsortan": 4,
"millesime": "2025",
"msacqvefa": 0,
"nblog5ppl": 406,
"plus_ap77": 797,
"sventbail": 6,
"anclg10_20": 48,
"anclg20_40": 735,
"anclg40_60": 1940,
"anclgsup60": 51,
"plus_ant77": 1685
}Record 4col: 1782 · ind: 1
{
"col": 1782,
"ind": 1,
"lma": null,
"pli": 84,
"pls": 164,
"brut": -95,
"evol": -5.06,
"geom": {
"type": "Feature",
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
5.408749306,
43.295649197
],
[
5.415598743,
43.293472254
],
[
5.415592738,
43.292652504
],
[
5.414967156,
43.292542288
],
[
5.414918218,
43.291697399
],
[
5.410216673,
43.291549468
],
[
5.410228973,
43.291165802
],
[
5.408778915,
43.291108137
],
[
5.407810811,
43.290908317
],
[
5.40718457,
43.291430756
],
[
5.406632263,
43.291127166
],
[
5.406791624,
43.290015744
],
[
5.405986344,
43.290381068
],
[
5.406372351,
43.287644644
],
[
5.403042047,
43.28657309
],
[
5.402363308,
43.286958971
],
[
5.398954088,
43.286830419
],
[
5.398677989,
43.285968075
],
[
5.39619919,
43.285697284
],
[
5.396331693,
43.285031967
],
[
5.39254341,
43.284730728
],
[
5.391945742,
43.28475566
],
[
5.390717695,
43.284878235
],
[
5.391372708,
43.286295591
],
[
5.390363776,
43.286712101
],
[
5.390437023,
43.286874275
],
[
5.389725519,
43.288284966
],
[
5.389152402,
43.288130244
],
[
5.389052291,
43.293177699
],
[
5.387237599,
43.293806383
],
[
5.385559858,
43.294291618
],
[
5.386363439,
43.295994626
],
[
5.386728038,
43.296021674
],
[
5.388754669,
43.300209488
],
[
5.389079188,
43.300309413
],
[
5.389051693,
43.298902455
],
[
5.391180473,
43.298802279
],
[
5.391982942,
43.298987917
],
[
5.395432576,
43.299420003
],
[
5.395474812,
43.298894379
],
[
5.396210379,
43.298685477
],
[
5.397307968,
43.298293045
],
[
5.398435861,
43.298155523
],
[
5.398471541,
43.297976535
],
[
5.399900349,
43.297756721
],
[
5.400338977,
43.297519285
],
[
5.400819081,
43.297508621
],
[
5.400358255,
43.296946469
],
[
5.4002169,
43.296599517
],
[
5.400314372,
43.29580357
],
[
5.405618682,
43.296097821
],
[
5.406208443,
43.296234988
],
[
5.406741175,
43.295507641
],
[
5.407808909,
43.295967147
],
[
5.408749306,
43.295649197
]
]
]
]
},
"properties": {}
},
"plai": 192,
"lmpli": 9.06,
"lmpls": 9.61,
"msacq": 0,
"txmob": 5.41,
"txvac": 0.63,
"anclg5": 52,
"autfin": null,
"ct_amp": "CT1",
"lmplai": 7.52,
"lmplup": 7.51,
"lmpluv": 5.28,
"logsor": 170,
"loymoy": 6.94,
"msacqt": 0,
"mscons": 14,
"sdemol": 0,
"commune": "Marseille 5e Arrondissement",
"ensparc": 1928,
"logmloc": 14,
"logserv": 14,
"nblog1p": 110,
"nblog2p": 397,
"nblog3p": 793,
"nblog4p": 436,
"psoctot": 1783,
"sautmot": 17,
"centroid": {
"lat": 43.292388629,
"lon": 5.398198756
},
"codecomm": "131205",
"loymoypr": 7.79,
"nblogqpv": 0,
"nblogsem": 145,
"objectid": 678,
"sautvent": 68,
"sventocc": 24,
"agmoyparc": 44.15,
"anclg5_10": 145,
"codeinsee": "13205",
"evoloympc": 5.84,
"logservan": 14,
"logsortan": 17,
"millesime": "2023",
"msacqvefa": 0,
"nblog5ppl": 47,
"plus_ap77": 561,
"sventbail": 61,
"anclg10_20": 214,
"anclg20_40": 542,
"anclg40_60": 2,
"anclgsup60": 828,
"plus_ant77": 782
}Record 5col: 403 · ind: 79
{
"col": 403,
"ind": 79,
"lma": null,
"pli": 66,
"pls": 56,
"brut": 171,
"evol": 54.98,
"geom": "[large value omitted]",
"plai": 76,
"lmpli": 6.37,
"lmpls": 9.31,
"msacq": 0,
"txmob": 5.6034,
"txvac": 1.046,
"anclg5": 171,
"autfin": null,
"ct_amp": "CT2",
"lmplai": 5.94,
"lmplup": 6.75,
"lmpluv": 5.1,
"logsor": 0,
"loymoy": 6.514891,
"msacqt": 0,
"mscons": 40,
"sdemol": 0,
"commune": "Le Puy-Sainte-Réparade",
"ensparc": 523,
"logmloc": 171,
"logserv": 171,
"nblog1p": 2,
"nblog2p": 138,
"nblog3p": 239,
"nblog4p": 94,
"psoctot": 482,
"sautmot": 0,
"centroid": {
"lat": 43.651614011,
"lon": 5.439714957
},
"codecomm": "132080",
"loymoypr": 6.96,
"nblogqpv": 0,
"nblogsem": 41,
"objectid": 745,
"sautvent": 0,
"sventocc": 0,
"agmoyparc": 24.45,
"anclg5_10": 76,
"codeinsee": "13080",
"evoloympc": 15.05,
"logservan": 139,
"logsortan": 0,
"millesime": "2024",
"msacqvefa": 131,
"nblog5ppl": 9,
"plus_ap77": 175,
"sventbail": 0,
"anclg10_20": 25,
"anclg20_40": 48,
"anclg40_60": 161,
"anclgsup60": 1,
"plus_ant77": 109
}Live sample captured at profiling time — values may have changed upstream.
Verification Status
Using the API
Configuration
- Base URL
- https://data.ampmetropole.fr/api/explore/v2.1/catalog/datasets/logements-sociaux-rpls-agrege-a-la-commune
License
- ✓ Redistributable
- ✓ Attribution required
Query examples
curl -s 'https://data.ampmetropole.fr/api/explore/v2.1/catalog/datasets/logements-sociaux-rpls-agrege-a-la-commune/records?limit=20' -H 'Accept: application/json'First 20 records of the dataset as JSON.
Uses the Opendatasoft Explore v2.1 syntax — supports select, where, group_by and order_by.
Rate limits
Dataset
Volume & freshness
License
No license declared upstream.
Source: opendatasoft
Machine-readable & source
Embed this badge in a README or wiki — it always shows the latest verification state and quality tier.