{"id":"7e6165f7-816c-4890-874e-2192b09413f8","type":"API","name":"Encadrement des loyers","slug":"encadrement-des-loyers","description":"Encadrement des loyers — official French public-data API published by DHUP / Logement (Bien, Annuel refresh).","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":"https://www.data.gouv.fr/datasets/logement-encadrement-des-loyers","docs_url":"https://www.data.gouv.fr/datasets/logement-encadrement-des-loyers","repo_url":null,"status":"ACTIVE","verification_state":"VERIFIED","tags":["housing","prices"],"logo_url":"https://udata-avatars.s3.rbx.io.cloud.ovh.net/e2/299b74ca0043a5b219f84e5c1ecdf5-100.png","primary_source_url":"https://opendata.paris.fr/api/explore/v2.1","extraction_confidence":"0.92","created_at":"2026-06-08T08:15:31.616Z","updated_at":"2026-08-16T10:07:47.280Z","last_verified_at":"2026-08-16T10:07:47.280Z","deprecated_at":null,"ranking_score":60,"last_ranked_at":"2026-08-08T15:08:16.421Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":"2026-08-06T21:58:00.338Z","search_vector":"'allow':112B 'allowable':233B 'amount':114B 'amounts':235B 'an':194B 'and':159B,186B,189B,221B,228B,239B 'annual':74B,195B 'annuel':21B,142B 'api':15B,24B,136B,145B 'applic':42B 'applicable':163B 'area':90B 'areas':211B 'as':170B,213B 'author':109B 'authorities':230B 'be':223B 'bien':20B,141B 'bodi':71B 'bodies':192B 'by':138B,225B,236B 'can':222B 'cap':87B 'caps':208B 'characterist':117B 'characteristics':238B 'check':80B 'checks':201B 'compli':84B 'comply':205B 'control':5A,29B,96B,126A,150B,217B 'cycl':76B 'cycle':197B 'data':14B,26B,57B,135B,147B,178B 'dataset':78B,199B 'des':2A,8B,31B,123A,129B,152B 'dhup':18B,61B,139B,182B 'director':67B 'directorate':188B 'encadr':1A,7B,30B 'encadrement':122A,128B,151B 'enforc':99B 'enforced':220B 'framework':6A,127A 'franc':34B 'france':155B 'french':11B,132B 'hous':54B,62B,70B,120C 'housing':175B,183B,191B 'in':154B,164B,210B 'indic':35B 'indicating':156B 'is':168B,219B 'it':167B 'landlord':106B 'landlords':227B 'landscap':66B 'landscapes':187B 'level':41B 'levels':162B 'local':86B,207B 'locat':119B 'location':240B 'logement':19B,140B 'loyer':3A,9B,32B 'loyers':124A,130B,153B 'maximum':37B,158B 'minimum':39B,160B 'nation':53B 'national':174B 'of':172B 'offici':10B 'official':131B 'on':148B,202B 'open':56B,177B 'open-data':55B,176B 'pari':93B 'paris':214B 'part':50B,171B 'particular':88B 'particularly':209B 'plan':64B 'planning':185B 'polici':97B 'policy':218B 'price':121C 'program':58B,179B 'properti':116B 'property':237B 'provid':25B 'provides':146B 'public':13B,108B,134B,229B 'public-data':12B,133B 'publish':16B,48B 'published':137B,169B 'refer':36B 'reference':157B 'refresh':22B,75B,143B,196B 'regul':44B 'regulated':165B 'relat':69B 'related':190B 'rent':4A,28B,40B,83B,95B,113B,125A,149B,161B,216B,234B 'rents':204B 'such':212B 'support':79B 'supports':200B 'tenant':105B 'tenants':226B 'the':173B,181B,198B 'this':144B 'to':231B 'under':180B 'urban':63B,184B 'use':103B 'used':224B 'verifi':111B 'verify':232B 'where':215B 'whether':82B,203B 'with':193B,206B 'zone':45B 'zones':166B","popularity_score":"0.0000","maintenance_score":"0.7000","institution_id":"a0cef850-822f-4db9-825d-1a519afc8890","institution_type":"MUNICIPALITY","country_code":"FR","official_confidence":92,"proof_summary":"Official DHUP / Logement source","source_seed_url":null,"is_public_sector":true,"published_at":"2026-06-08T08:15:31.616Z","geographic_scope":"NATIONAL","name_en":"Rent control framework","description_en":"This API provides data on rent control (\"encadrement des loyers\") in France, indicating reference, maximum, and minimum rent levels applicable in regulated zones. It is published as part of the national housing open-data program under the DHUP (Housing, Urban Planning and Landscapes Directorate) and related housing bodies, with an annual refresh cycle. The dataset supports checks on whether rents comply with local caps, particularly in areas such as Paris where rent control policy is enforced, and can be used by tenants, landlords, and public authorities to verify allowable rent amounts by property characteristics and location.","native_lang":"fr","access_level":"direct","formats":["CSV"],"capability_tier":"live","trust_score":67.25,"access":{"level":"direct","primary":{"kind":"download","label":"Export CSV","method":"GET","url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/exports/csv","format":"CSV","source":"query_example","runnable":true,"direct":true},"actions":[{"kind":"download","label":"Export CSV","method":"GET","url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/exports/csv","format":"CSV","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"List records","method":"GET","url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?limit=20","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Select & filter","method":"GET","url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?select=annee%2Cid_zone%2Cid_quartier&where=annee+is+not+null&limit=20","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Run verified request","method":"GET","url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?limit=1","source":"probe","runnable":true},{"kind":"query","label":"API base URL","method":"GET","url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers","source":"base_url","runnable":false},{"kind":"landing","label":"Read the docs","method":"GET","url":"https://www.data.gouv.fr/datasets/logement-encadrement-des-loyers","source":"docs","runnable":false},{"kind":"landing","label":"Open source record","method":"GET","url":"https://opendata.paris.fr/api/explore/v2.1","source":"primary_source","runnable":false}],"formats":["CSV"]},"maturity":{"entry_id":"7e6165f7-816c-4890-874e-2192b09413f8","granularity":"entry","granularity_label":"One unit = one catalog entry. A PROXY for the SCOPE.md §4 ladder, which governs source families, not entries: a family with 400 entries moves this reading 400 times as much as a family with one. Never compare or combine with the source_family reading.","level":"executable","level_index":4,"level_label":"Executable","meaning":"Queries run through Commodity","counts_as_coverage":true,"blocked_by":null,"rungs":[{"level":"discovered","level_index":1,"label":"Discovered","meaning":"Source and metadata recorded","evidence":"membership of the named population the ladder is taken over","counts_as_coverage":false,"met":true,"reached":true,"criterion":"TRUE"},{"level":"verified","level_index":2,"label":"Verified","meaning":"Access tested successfully","evidence":"entries.verification_state = 'VERIFIED'","counts_as_coverage":false,"met":true,"reached":true,"criterion":"entries.verification_state = 'VERIFIED'"},{"level":"profiled","level_index":3,"label":"Profiled","meaning":"Schema, dimensions and licence understood","evidence":"a data profile with at least one field (entry_data_profiles.field_count > 0)","counts_as_coverage":false,"met":true,"reached":true,"criterion":"EXISTS (SELECT 1 FROM entry_data_profiles p WHERE p.entry_id = entries.id AND COALESCE(p.field_count, 0) > 0)"},{"level":"executable","level_index":4,"label":"Executable","meaning":"Queries run through Commodity","evidence":"entries.capability_tier = 'live' — today's proxy for \"queryable through us\"","counts_as_coverage":true,"met":true,"reached":true,"criterion":"entries.capability_tier = 'live'"},{"level":"joinable","level_index":5,"label":"Joinable","meaning":"Canonical identifiers and concepts mapped","evidence":"a field link to a canonical identifier whose sampled VALUES match its format","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_field_links efl WHERE efl.entry_id = entries.id AND efl.identifier_id IS NOT NULL AND efl.value_status = 'match')"},{"level":"reproducible","level_index":6,"label":"Reproducible","meaning":"Snapshots and transformation evidence retained","evidence":"at least one retained evidence manifest (migration 078)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM evidence_manifests em WHERE em.entry_id = entries.id)"},{"level":"guaranteed","level_index":7,"label":"Guaranteed","meaning":"Monitored against an operational reliability target","evidence":"an active reliability target with a named monitor (migration 096)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_reliability_targets rt WHERE rt.entry_id = entries.id AND rt.is_active = true)"}],"officialness":{"basis":"per_item_proven","label":"Proven for this item: its own proof signals scored >= 80 AND it matched a registered public institution, so it would have been APPROVED on its own evidence.","proof_confidence":92,"proven_threshold":80,"institution_id":"a0cef850-822f-4db9-825d-1a519afc8890","definition":"CASE WHEN COALESCE(entries.is_public_sector, false) IS NOT TRUE THEN 'not_official' WHEN COALESCE(entries.official_confidence, 0) >= 80 AND entries.institution_id IS NOT NULL THEN 'per_item_proven' ELSE 'catalog_inherited' END"},"source_family":{"key":"opendata.paris.fr","label":"One unit = one source family, approximated by the serving host of the entry's primary source URL (e.g. bdl.stat.gov.pl). A COMPUTED stand-in for the curated families of SCOPE.md §5, which no table holds yet. A family sits at the highest level any of its entries has reached, because a family is integrated to the depth of its deepest working integration. Never compare or combine with the entry reading."},"generated_at":"2026-08-16T13:50:28.865Z"},"api_details":{"id":"36b11c0e-88cb-4e70-a334-6039ddcae7a6","entry_id":"7e6165f7-816c-4890-874e-2192b09413f8","base_url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers","openapi_url":null,"graphql_url":null,"api_version":null,"spec_format":null,"endpoints_count":null,"endpoints":[],"rate_limit_info":null,"free_tier_limits":null,"ping_url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?limit=1","created_at":"2026-06-08T08:15:31.634Z","updated_at":"2026-06-26T12:30:46.604Z"},"dataset_details":{"id":"e0a71c65-4e29-458d-ac18-ee9eb46fba9a","entry_id":"7e6165f7-816c-4890-874e-2192b09413f8","upstream_issued":null,"upstream_modified":"2025-06-17T15:23:33.000Z","themes":[],"update_frequency":"annual","temporal_start":null,"temporal_end":null,"spatial_coverage":null,"landing_page":null,"license_id":null,"license_raw":null,"has_documentation":false,"has_data_dictionary":false,"has_versioning":false,"source_portal":"opendatasoft","source_portal_url":"https://opendata.paris.fr","created_at":"2026-06-26T13:50:00.179Z","updated_at":"2026-07-26T01:26:45.382Z","publisher":null,"publisher_url":null,"distributions":[],"license":null},"license":{"id":"odbl-1.0","spdx_id":"ODbL-1.0","name":"Open Data Commons Open Database License 1.0","url":"https://opendatacommons.org/licenses/odbl/1-0/","is_open":true,"is_redistributable":true,"requires_attribution":true,"category":"open_data","notes":null,"created_at":"2026-06-12T16:29:19.729Z"},"reuse":{"license_id":"odbl-1.0","license_name":"Open Data Commons Open Database License 1.0","license_url":"https://opendatacommons.org/licenses/odbl/1-0/","commercial_use":{"status":"yes","value":true},"redistribution":{"status":"yes","value":true},"attribution_required":{"status":"yes","value":true},"share_alike":{"status":"yes","value":true},"personal_data_warning":{"status":"unknown","value":null},"cache_and_mirror":{"status":"yes","value":true},"undetermined":["personal_data_warning"],"basis":"licence_text","confidence":0.95,"confidence_tier":"high","source_text":"Section 3.1 grants \"a worldwide, royalty-free, non-exclusive, terminable (but only under Section 9) license to Use the Database for the duration of any applicable copyright and Database Rights\", and states that \"These rights explicitly include commercial use, and do not exclude any field of endeavour.\" Summary obligations: \"Attribute: You must attribute any public use of the database\"; \"Share-Alike: If you publicly use any adapted version of this database, or works produced from an adapted database, you must also offer that adapted database under the ODbL\"; \"Keep open\". Nothing in the text addresses personal data, so that field is left undetermined.","source_url":"https://opendatacommons.org/licenses/odbl/1-0/","reviewed_at":null},"license_raw":"http://opendatacommons.org/licenses/odbl/","latest_check":{"id":"44188cea-3b98-4246-b239-e99997b8c322","entry_id":"7e6165f7-816c-4890-874e-2192b09413f8","status":"VERIFIED","last_checked_at":"2026-08-16T10:07:46.747Z","p50_latency_ms":1826,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-06-08T12:43:12.569Z","updated_at":"2026-08-16T10:07:46.747Z","consecutive_successes":75,"probe_url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?limit=1","probe_method":"GET","probe_http_status":200,"probe_content_type":"application/json; charset=utf-8","probe_succeeded_at":"2026-08-16T10:07:46.747Z"},"data_profile":{"id":"980caece-7566-4b77-90ba-8f4fb4d4158c","entry_id":"7e6165f7-816c-4890-874e-2192b09413f8","profile_source":"opendatasoft","profile_kind":"dataset","dataset_id":"logement-encadrement-des-loyers","fields":[{"name":"annee","type":"text","label":"Année","fill_pct":100,"filterable":true,"description":null,"description_en":"Year the rent control reference applies to."},{"name":"id_zone","type":"int","label":"Secteurs géographiques","fill_pct":100,"filterable":true,"description":null,"description_en":"Identifier of the geographic rent-control sector."},{"name":"id_quartier","type":"int","label":"Numéro du quartier","fill_pct":100,"filterable":true,"description":"Numéro de quartier Ville de Paris - C_QU","description_en":"City of Paris district number (C_QU)."},{"name":"nom_quartier","type":"text","label":"Nom du quartier","fill_pct":100,"filterable":true,"description":null,"description_en":"Name of the district."},{"name":"piece","type":"int","label":"Nombre de pièces principales","fill_pct":100,"filterable":true,"description":null,"description_en":"Number of main rooms in the dwelling."},{"name":"epoque","type":"text","label":"Epoque de construction","fill_pct":100,"filterable":true,"description":null,"description_en":"Period during which the building was constructed."},{"name":"meuble_txt","type":"text","label":"Type de location","fill_pct":100,"filterable":true,"description":null,"description_en":"Rental type, furnished or unfurnished."},{"name":"ref","type":"double","label":"Loyers de référence","fill_pct":100,"filterable":true,"description":"en euros par mètre carré de surface habitable","description_en":"Reference rent in euros per square metre of living area."},{"name":"max","type":"double","label":"Loyers de référence majorés","fill_pct":100,"filterable":true,"description":"en euros par mètre carré de surface habitable","description_en":"Upper reference rent limit in euros per square metre of living area."},{"name":"min","type":"double","label":"Loyers de référence minorés","fill_pct":100,"filterable":true,"description":"en euros par mètre carré de surface habitable","description_en":"Lower reference rent limit in euros per square metre of living area."},{"name":"ville","type":"text","label":null,"filterable":true,"description":null,"description_en":"City to which the rent control zone belongs."},{"name":"code_grand_quartier","type":"int","label":"Numéro INSEE du quartier","filterable":true,"description":null,"description_en":"INSEE code identifying the district."},{"name":"geo_shape","type":"geo_shape","label":null,"filterable":false,"description":null,"description_en":"Geographic boundary polygon of the district."},{"name":"geo_point_2d","type":"geo_point_2d","label":null,"filterable":false,"description":null,"description_en":"Geographic centroid coordinates of the district."}],"field_count":14,"sample_records":[{"max":32.9,"min":19.2,"ref":27.4,"annee":"2025","piece":2,"ville":"PARIS","epoque":"1946-1970","id_zone":5,"geo_shape":{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.3553447343852665,48.871262685264895],[2.3542605804166112,48.86933005072561],[2.352631014364641,48.86969449879282],[2.350960685459888,48.870049489907146],[2.347880282483183,48.870704148509446],[2.347900471891945,48.87200665691326],[2.3479119512804676,48.8740239108311],[2.3482465068115874,48.875793736103766],[2.348321129071744,48.876019723671796],[2.3486612992964715,48.87663406745335],[2.349084948148027,48.87742251003853],[2.3514048047135003,48.87709813159916],[2.355369054416522,48.876558067305695],[2.3560198123562435,48.87649359542387],[2.3561179028036126,48.876489320615775],[2.356165506082169,48.87648724557451],[2.3580835401814877,48.876162712909334],[2.358032126726192,48.876068862320494],[2.3579445916319752,48.875912655039414],[2.3578900112329224,48.8758022306218],[2.3577729474672235,48.87559176526929],[2.3572736026883967,48.87469398819949],[2.3567748167673397,48.87381638065245],[2.3559040366508555,48.87226852338971],[2.3553447343852665,48.871262685264895]]]},"properties":{}},"meuble_txt":"non meublé","id_quartier":38,"geo_point_2d":{"lat":48.87361766097465,"lon":2.352282894951218},"nom_quartier":"Porte-Saint-Denis","code_grand_quartier":7511038},{"max":33.4,"min":19.5,"ref":27.8,"annee":"2025","piece":1,"ville":"PARIS","epoque":"1971-1990","id_zone":11,"geo_shape":"[large value omitted]","meuble_txt":"non meublé","id_quartier":77,"geo_point_2d":{"lat":48.87153120058614,"lon":2.3875492398498035},"nom_quartier":"Belleville","code_grand_quartier":7512077},{"max":34,"min":19.8,"ref":28.3,"annee":"2023","piece":1,"ville":"PARIS","epoque":"1971-1990","id_zone":8,"geo_shape":"[large value omitted]","meuble_txt":"meublé","id_quartier":57,"geo_point_2d":{"lat":48.83429362836976,"lon":2.296919974448867},"nom_quartier":"Saint-Lambert","code_grand_quartier":7511557},{"max":31.3,"min":18.3,"ref":26.1,"annee":"2024","piece":1,"ville":"PARIS","epoque":"1946-1970","id_zone":10,"geo_shape":"[large value omitted]","meuble_txt":"non meublé","id_quartier":67,"geo_point_2d":{"lat":48.888481513920595,"lon":2.313856169006357},"nom_quartier":"Batignolles","code_grand_quartier":7511767},{"max":25.3,"min":14.8,"ref":21.1,"annee":"2024","piece":4,"ville":"PARIS","epoque":"1946-1970","id_zone":9,"geo_shape":"[large value omitted]","meuble_txt":"meublé","id_quartier":69,"geo_point_2d":{"lat":48.89257777114592,"lon":2.334363089913081},"nom_quartier":"Grandes-Carrières","code_grand_quartier":7511869}],"record_count":"17920","data_size_bytes":null,"dataset_count":null,"query_examples":[{"url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?limit=20","curl":"curl -s 'https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?limit=20' -H 'Accept: application/json'","label":"List records","method":"GET","description":"First 20 records of the dataset as JSON."},{"url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?select=annee%2Cid_zone%2Cid_quartier&where=annee+is+not+null&limit=20","curl":"curl -s 'https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/records?select=annee%2Cid_zone%2Cid_quartier&where=annee+is+not+null&limit=20' -H 'Accept: application/json'","label":"Select & filter","method":"GET","description":"Project specific fields (annee, id_zone, id_quartier) and filter with ODSQL where clauses."},{"url":"https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/exports/csv","curl":"curl -sL 'https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/logement-encadrement-des-loyers/exports/csv' -o dataset.csv","label":"Export CSV","method":"GET","description":"Full dataset export as CSV (also available: json, parquet, xlsx)."}],"status":"ok","error_message":null,"profiled_at":"2026-07-26T01:26:44.900Z","run_id":"b1ffa196-bad7-4dca-8303-9b8cb0ed4823","created_at":"2026-06-12T19:26:57.417Z","updated_at":"2026-07-26T01:26:44.900Z","license_raw":"http://opendatacommons.org/licenses/odbl/","license_id":"odbl-1.0","consecutive_failure_count":0,"last_error_at":null,"last_error_message":null,"previewable":true},"datasets":[],"limits":[{"id":"3615f71b-321f-4750-84da-ee627b0c05cd","entry_id":"7e6165f7-816c-4890-874e-2192b09413f8","limit_type":"requests_per_day","value":"10000","unit":"requests","period":"day","scope":"per-ip","source_id":null,"claim_type":"measured","confidence":"0.90","observed_at":"2026-07-26T01:26:45.533Z"}]}