c0mm0.com — the continuously verified register of European data

Register record·DATASET·FR·AGENCYSTALE · checked 4d ago
L

Vacant housing in the private housing stock (LOVAC)Logements vacants du parc privé (LOVAC)

Logements vacants du parc privé (LOVAC)Vacant housing in the private housing stock (LOVAC)

DatasetDiscovered1/7blocked by verifiedQuery nowOpen workbenchSubscribe🇫🇷France

This national French dataset provides figures on vacant housing units within the private housing stock, broken down by commune, department, and region. It is published by the DHUP (Direction de l'habitat, de l'urbanisme et des paysages) housing department and made available through Etalab's open data platform. The data covers economic aspects of housing vacancy across France and can be used to analyze the extent and distribution of unoccupied private dwellings at various administrative levels, supporting local and national housing policy analysis.DHUP / Logement · Données économiques — French national public dataset.

donnees economiques
32
poor

Weighted across five axes. Tap a ring for what it measures.

Data schema (28 fields)

Filterable via the API (28)
CODGEO_26LIBGEO_26pp_vacant_26pp_vacant_plus_2ans_26ff_pp_total_25pp_vacant_25pp_vacant_plus_2ans_25ff_pp_total_24pp_vacant_24pp_vacant_plus_2ans_24ff_pp_total_23pp_vacant_23pp_vacant_plus_2ans_23ff_pp_total_22pp_vacant_22pp_vacant_plus_2ans_22ff_pp_total_21pp_vacant_21pp_vacant_plus_2ans_21ff_pp_total_20pp_vacant_20pp_vacant_plus_2ans_20EPCI_26LIB_EPCI_26DEPLIB_DEPREGLIB_REG

Click a field to see example values.

FieldTypeDescription
CODGEO_26Filterable via the APICodgeo 26string
LIBGEO_26Filterable via the APILibgeo 26string
pp_vacant_26Filterable via the APIPp vacant 26string
pp_vacant_plus_2ans_26Filterable via the APIPp vacant plus 2ans 26string
ff_pp_total_25Filterable via the APIFf pp total 25string
pp_vacant_25Filterable via the APIPp vacant 25string
pp_vacant_plus_2ans_25Filterable via the APIPp vacant plus 2ans 25string
ff_pp_total_24Filterable via the APIFf pp total 24string
pp_vacant_24Filterable via the APIPp vacant 24string
pp_vacant_plus_2ans_24Filterable via the APIPp vacant plus 2ans 24string
ff_pp_total_23Filterable via the APIFf pp total 23string
pp_vacant_23Filterable via the APIPp vacant 23string
pp_vacant_plus_2ans_23Filterable via the APIPp vacant plus 2ans 23string
ff_pp_total_22Filterable via the APIFf pp total 22string
pp_vacant_22Filterable via the APIPp vacant 22string
pp_vacant_plus_2ans_22Filterable via the APIPp vacant plus 2ans 22string
ff_pp_total_21Filterable via the APIFf pp total 21string
pp_vacant_21Filterable via the APIPp vacant 21string
pp_vacant_plus_2ans_21Filterable via the APIPp vacant plus 2ans 21string
ff_pp_total_20Filterable via the APIFf pp total 20string
pp_vacant_20Filterable via the APIPp vacant 20string
pp_vacant_plus_2ans_20Filterable via the APIPp vacant plus 2ans 20string
EPCI_26Filterable via the APIEpci 26string
LIB_EPCI_26Filterable via the APILib epci 26string
DEPFilterable via the APIstring
LIB_DEPFilterable via the APILib depstring
REGFilterable via the APIstring
LIB_REGFilterable via the APILib regstring

Schema captured from tabular 22 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 (8 records)

Record 1DEP: 01 · REG: 84
{
  "DEP": "01",
  "REG": "84",
  "EPCI_26": "200069193",
  "LIB_DEP": "Ain",
  "LIB_REG": "Auvergne-Rhône-Alpes",
  "CODGEO_26": "01001",
  "LIBGEO_26": "L'Abergement-Clémenciat",
  "LIB_EPCI_26": "Communauté de communes de la Dombes",
  "pp_vacant_20": "20",
  "pp_vacant_21": "16",
  "pp_vacant_22": "27",
  "pp_vacant_23": "15",
  "pp_vacant_24": "15",
  "pp_vacant_25": "s",
  "pp_vacant_26": "16",
  "ff_pp_total_20": "339",
  "ff_pp_total_21": "340",
  "ff_pp_total_22": "353",
  "ff_pp_total_23": "355",
  "ff_pp_total_24": "358",
  "ff_pp_total_25": "361",
  "pp_vacant_plus_2ans_20": "s",
  "pp_vacant_plus_2ans_21": "s",
  "pp_vacant_plus_2ans_22": "s",
  "pp_vacant_plus_2ans_23": "s",
  "pp_vacant_plus_2ans_24": "s",
  "pp_vacant_plus_2ans_25": "s",
  "pp_vacant_plus_2ans_26": "s"
}
Record 2DEP: 01 · REG: 84
{
  "DEP": "01",
  "REG": "84",
  "EPCI_26": "240100883",
  "LIB_DEP": "Ain",
  "LIB_REG": "Auvergne-Rhône-Alpes",
  "CODGEO_26": "01002",
  "LIBGEO_26": "L'Abergement-de-Varey",
  "LIB_EPCI_26": "Communauté de communes de la Plaine de l'Ain",
  "pp_vacant_20": "13",
  "pp_vacant_21": "s",
  "pp_vacant_22": "s",
  "pp_vacant_23": "s",
  "pp_vacant_24": "11",
  "pp_vacant_25": "s",
  "pp_vacant_26": "16",
  "ff_pp_total_20": "181",
  "ff_pp_total_21": "181",
  "ff_pp_total_22": "181",
  "ff_pp_total_23": "180",
  "ff_pp_total_24": "180",
  "ff_pp_total_25": "180",
  "pp_vacant_plus_2ans_20": "s",
  "pp_vacant_plus_2ans_21": "s",
  "pp_vacant_plus_2ans_22": "s",
  "pp_vacant_plus_2ans_23": "s",
  "pp_vacant_plus_2ans_24": "s",
  "pp_vacant_plus_2ans_25": "s",
  "pp_vacant_plus_2ans_26": "s"
}
Record 3DEP: 01 · REG: 84
{
  "DEP": "01",
  "REG": "84",
  "EPCI_26": "240100883",
  "LIB_DEP": "Ain",
  "LIB_REG": "Auvergne-Rhône-Alpes",
  "CODGEO_26": "01004",
  "LIBGEO_26": "Ambérieu-en-Bugey",
  "LIB_EPCI_26": "Communauté de communes de la Plaine de l'Ain",
  "pp_vacant_20": "679",
  "pp_vacant_21": "678",
  "pp_vacant_22": "605",
  "pp_vacant_23": "626",
  "pp_vacant_24": "628",
  "pp_vacant_25": "374",
  "pp_vacant_26": "587",
  "ff_pp_total_20": "5776",
  "ff_pp_total_21": "5843",
  "ff_pp_total_22": "5922",
  "ff_pp_total_23": "5918",
  "ff_pp_total_24": "5949",
  "ff_pp_total_25": "6005",
  "pp_vacant_plus_2ans_20": "163",
  "pp_vacant_plus_2ans_21": "190",
  "pp_vacant_plus_2ans_22": "182",
  "pp_vacant_plus_2ans_23": "188",
  "pp_vacant_plus_2ans_24": "200",
  "pp_vacant_plus_2ans_25": "207",
  "pp_vacant_plus_2ans_26": "210"
}
Record 4DEP: 01 · REG: 84
{
  "DEP": "01",
  "REG": "84",
  "EPCI_26": "200042497",
  "LIB_DEP": "Ain",
  "LIB_REG": "Auvergne-Rhône-Alpes",
  "CODGEO_26": "01005",
  "LIBGEO_26": "Ambérieux-en-Dombes",
  "LIB_EPCI_26": "Communauté de communes Dombes Saône Vallée",
  "pp_vacant_20": "38",
  "pp_vacant_21": "88",
  "pp_vacant_22": "58",
  "pp_vacant_23": "39",
  "pp_vacant_24": "61",
  "pp_vacant_25": "28",
  "pp_vacant_26": "54",
  "ff_pp_total_20": "693",
  "ff_pp_total_21": "762",
  "ff_pp_total_22": "786",
  "ff_pp_total_23": "795",
  "ff_pp_total_24": "809",
  "ff_pp_total_25": "883",
  "pp_vacant_plus_2ans_20": "s",
  "pp_vacant_plus_2ans_21": "s",
  "pp_vacant_plus_2ans_22": "s",
  "pp_vacant_plus_2ans_23": "s",
  "pp_vacant_plus_2ans_24": "s",
  "pp_vacant_plus_2ans_25": "13",
  "pp_vacant_plus_2ans_26": "13"
}
Record 5DEP: 01 · REG: 84
{
  "DEP": "01",
  "REG": "84",
  "EPCI_26": "200040350",
  "LIB_DEP": "Ain",
  "LIB_REG": "Auvergne-Rhône-Alpes",
  "CODGEO_26": "01006",
  "LIBGEO_26": "Ambléon",
  "LIB_EPCI_26": "Communauté de communes Bugey Sud",
  "pp_vacant_20": "s",
  "pp_vacant_21": "11",
  "pp_vacant_22": "s",
  "pp_vacant_23": "s",
  "pp_vacant_24": "s",
  "pp_vacant_25": "s",
  "pp_vacant_26": "s",
  "ff_pp_total_20": "s",
  "ff_pp_total_21": "s",
  "ff_pp_total_22": "s",
  "ff_pp_total_23": "s",
  "ff_pp_total_24": "s",
  "ff_pp_total_25": "s",
  "pp_vacant_plus_2ans_20": "s",
  "pp_vacant_plus_2ans_21": "s",
  "pp_vacant_plus_2ans_22": "s",
  "pp_vacant_plus_2ans_23": "s",
  "pp_vacant_plus_2ans_24": "s",
  "pp_vacant_plus_2ans_25": "s",
  "pp_vacant_plus_2ans_26": "s"
}
Record 6DEP: 01 · REG: 84
{
  "DEP": "01",
  "REG": "84",
  "EPCI_26": "240100883",
  "LIB_DEP": "Ain",
  "LIB_REG": "Auvergne-Rhône-Alpes",
  "CODGEO_26": "01007",
  "LIBGEO_26": "Ambronay",
  "LIB_EPCI_26": "Communauté de communes de la Plaine de l'Ain",
  "pp_vacant_20": "101",
  "pp_vacant_21": "95",
  "pp_vacant_22": "85",
  "pp_vacant_23": "93",
  "pp_vacant_24": "111",
  "pp_vacant_25": "81",
  "pp_vacant_26": "99",
  "ff_pp_total_20": "1222",
  "ff_pp_total_21": "1237",
  "ff_pp_total_22": "1246",
  "ff_pp_total_23": "1254",
  "ff_pp_total_24": "1264",
  "ff_pp_total_25": "1270",
  "pp_vacant_plus_2ans_20": "35",
  "pp_vacant_plus_2ans_21": "35",
  "pp_vacant_plus_2ans_22": "30",
  "pp_vacant_plus_2ans_23": "37",
  "pp_vacant_plus_2ans_24": "37",
  "pp_vacant_plus_2ans_25": "53",
  "pp_vacant_plus_2ans_26": "49"
}
Record 7DEP: 01 · REG: 84
{
  "DEP": "01",
  "REG": "84",
  "EPCI_26": "240100883",
  "LIB_DEP": "Ain",
  "LIB_REG": "Auvergne-Rhône-Alpes",
  "CODGEO_26": "01008",
  "LIBGEO_26": "Ambutrix",
  "LIB_EPCI_26": "Communauté de communes de la Plaine de l'Ain",
  "pp_vacant_20": "23",
  "pp_vacant_21": "21",
  "pp_vacant_22": "19",
  "pp_vacant_23": "23",
  "pp_vacant_24": "27",
  "pp_vacant_25": "15",
  "pp_vacant_26": "20",
  "ff_pp_total_20": "344",
  "ff_pp_total_21": "346",
  "ff_pp_total_22": "347",
  "ff_pp_total_23": "348",
  "ff_pp_total_24": "349",
  "ff_pp_total_25": "351",
  "pp_vacant_plus_2ans_20": "s",
  "pp_vacant_plus_2ans_21": "s",
  "pp_vacant_plus_2ans_22": "s",
  "pp_vacant_plus_2ans_23": "s",
  "pp_vacant_plus_2ans_24": "s",
  "pp_vacant_plus_2ans_25": "s",
  "pp_vacant_plus_2ans_26": "s"
}
Record 8DEP: 01 · REG: 84
{
  "DEP": "01",
  "REG": "84",
  "EPCI_26": "200040350",
  "LIB_DEP": "Ain",
  "LIB_REG": "Auvergne-Rhône-Alpes",
  "CODGEO_26": "01009",
  "LIBGEO_26": "Andert-et-Condon",
  "LIB_EPCI_26": "Communauté de communes Bugey Sud",
  "pp_vacant_20": "23",
  "pp_vacant_21": "23",
  "pp_vacant_22": "12",
  "pp_vacant_23": "16",
  "pp_vacant_24": "27",
  "pp_vacant_25": "26",
  "pp_vacant_26": "28",
  "ff_pp_total_20": "s",
  "ff_pp_total_21": "s",
  "ff_pp_total_22": "s",
  "ff_pp_total_23": "s",
  "ff_pp_total_24": "s",
  "ff_pp_total_25": "s",
  "pp_vacant_plus_2ans_20": "s",
  "pp_vacant_plus_2ans_21": "s",
  "pp_vacant_plus_2ans_22": "s",
  "pp_vacant_plus_2ans_23": "s",
  "pp_vacant_plus_2ans_24": "s",
  "pp_vacant_plus_2ans_25": "s",
  "pp_vacant_plus_2ans_26": "17"
}

Live sample captured at profiling time — values may have changed upstream.

Verification Status

Using the API

Query examples

curl -s 'https://tabular-api.data.gouv.fr/api/resources/2e0417b4-902d-4c60-90e7-bf5df148cb87/data/?page=1&page_size=20' -H 'Accept: application/json'

First rows as JSON (page/page_size pagination, page_size ≤ 200).

Dataset

Volume & freshness

Records
35k
34912

License

No license declared upstream.

Documentation Data dictionary Versioning

Source: data.gouv.fr · Open original page

Machine-readable & source

Logements vacants du parc privé (LOVAC) — live verification badge

Embed this badge in a README or wiki — it always shows the latest verification state and quality tier.