{"id":"c10c5d3e-0a53-4bf8-8b67-e7e5ceac5264","type":"API","name":"Les services aux particuliers par commune ou arrondissement (base permanente des équipements)","slug":"les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-equipements","description":"La base permanente des équipements (BPE), produite par l'INSEE, est destinée à fournir le niveau d'équipement et de services rendus par un territoire à la population. Ce jeu de données recouvre les domaines des services aux particuliers. Liste des variables Services publics Police ; Trésorerie ;...","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":"https://data.iledefrance.fr/explore/dataset/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/","docs_url":"https://data.iledefrance.fr/explore/dataset/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/","repo_url":null,"status":"ACTIVE","verification_state":"VERIFIED","tags":[],"logo_url":"https://www.google.com/s2/favicons?sz=64&domain=data.iledefrance.fr","primary_source_url":"https://data.iledefrance.fr/explore/dataset/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/","extraction_confidence":"0.00","created_at":"2026-07-25T05:08:56.975Z","updated_at":"2026-09-08T04:38:20.839Z","last_verified_at":"2026-09-05T11:18:59.731Z","deprecated_at":null,"ranking_score":58,"last_ranked_at":"2026-08-31T00:11:25.385Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":"2026-09-08T04:38:20.839Z","search_vector":"'a':83B,96B 'arrondiss':8A 'arrondissement':66A 'aux':3A,50B,61A,108B 'base':9A,14B,67A,72B 'bpe':18B,76B 'ce':41B,99B 'commune':6A,64A 'd':29B,87B 'de':32B,43B,90B,101B 'des':11A,16B,48B,53B,69A,74B,106B,111B 'destinee':82B 'destiné':24B 'domain':47B 'domaines':105B 'donnees':102B 'donné':44B 'equipement':88B 'equipements':70A,75B 'est':23B,81B 'et':31B,89B 'fournir':26B,84B 'inse':22B 'insee':80B 'jeu':42B,100B 'l':21B,79B 'la':13B,39B,71B,97B 'le':27B,85B 'les':1A,46B,59A,104B 'list':52B 'liste':110B 'niveau':28B,86B 'ou':7A,65A 'par':5A,20B,35B,63A,78B,93B 'particuli':4A,51B 'particuliers':62A,109B 'permanent':10A,15B 'permanente':68A,73B 'polic':57B 'police':115B 'popul':40B 'population':98B 'produit':19B 'produite':77B 'public':56B 'publics':114B 'recouvr':45B 'recouvre':103B 'rendus':34B,92B 'servic':2A,33B,49B,55B 'services':60A,91B,107B,113B 'territoir':37B 'territoire':95B 'tresorerie':116B 'trésoreri':58B 'un':36B,94B 'variabl':54B 'variables':112B 'à':25B,38B 'équipement':12A,17B,30B","popularity_score":"0.0000","maintenance_score":"0.7000","institution_id":"7e8c524c-d2f0-4000-9e63-e91795edd443","institution_type":"STATISTICS_OFFICE","country_code":"FR","official_confidence":0,"proof_summary":"Confidence: 0%","source_seed_url":null,"is_public_sector":true,"published_at":"2026-07-25T09:11:22.084Z","geographic_scope":"NATIONAL","name_en":null,"description_en":null,"native_lang":null,"access_level":"direct","formats":["CSV"],"capability_tier":"live","trust_score":40.75,"merged_into_entry_id":null,"identity_key":"API|https://data.iledefrance.fr/explore/dataset/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-|les services aux particuliers par commune ou arrondissement (base permanente des équipements)","upstream_ref":"data.iledefrance.fr:dataset:les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-","access":{"level":"direct","primary":{"kind":"download","label":"Export CSV","method":"GET","url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/exports/csv","format":"CSV","source":"query_example","runnable":true,"direct":true},"actions":[{"kind":"download","label":"Export CSV","method":"GET","url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/exports/csv","format":"CSV","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"List records","method":"GET","url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/records?limit=20","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Select & filter","method":"GET","url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/records?select=departement%2Cdepartement_commune%2Clibelle_de_commune&where=libelle_de_commune+is+not+null&limit=20","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Run verified request","method":"GET","url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-","source":"probe","runnable":true},{"kind":"landing","label":"Read the docs","method":"GET","url":"https://data.iledefrance.fr/explore/dataset/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/","source":"docs","runnable":false}],"formats":["CSV"]},"maturity":{"entry_id":"c10c5d3e-0a53-4bf8-8b67-e7e5ceac5264","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":"joinable","level_index":5,"level_label":"Joinable","meaning":"Canonical identifiers and concepts mapped","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":true,"reached":true,"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":"catalog_inherited","label":"Inherited from the upstream catalog: this item came from a trusted official government catalog, and that provenance — not per-item proof — is the warrant. Its own proof score is below 80 or it matched no registered institution (apps/worker/src/connectors/catalog/qualify-store.ts).","proof_confidence":0,"proven_threshold":80,"institution_id":"7e8c524c-d2f0-4000-9e63-e91795edd443","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":"data.iledefrance.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-09-08T09:56:52.482Z"},"api_details":{"id":"ba1def61-c5e9-4487-85f9-0114bd026117","entry_id":"c10c5d3e-0a53-4bf8-8b67-e7e5ceac5264","base_url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-","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://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-","created_at":"2026-07-25T05:08:57.137Z","updated_at":"2026-07-25T05:08:57.137Z"},"dataset_details":{"id":"5f5ac794-194e-4b94-8c6b-63fcc74195cc","entry_id":"c10c5d3e-0a53-4bf8-8b67-e7e5ceac5264","upstream_issued":null,"upstream_modified":"2019-03-16T17:26:39.373Z","themes":[],"update_frequency":"annual","temporal_start":"2012-01-01T00:00:00.000Z","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://data.iledefrance.fr","created_at":"2026-07-25T05:21:54.980Z","updated_at":"2026-09-01T23:16:01.893Z","publisher":null,"publisher_url":null,"distributions":[],"license":null},"license":{"id":"lo-2.0","spdx_id":"etalab-2.0","name":"Licence Ouverte 2.0 (France / Etalab)","url":"https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf","is_open":true,"is_redistributable":true,"requires_attribution":true,"category":"national","notes":null,"created_at":"2026-06-12T16:29:19.729Z"},"reuse":{"license_id":"lo-2.0","license_name":"Licence Ouverte 2.0 (France / Etalab)","license_url":"https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf","commercial_use":{"status":"yes","value":true},"redistribution":{"status":"yes","value":true},"attribution_required":{"status":"yes","value":true},"share_alike":{"status":"no","value":false},"personal_data_warning":{"status":"yes","value":true},"cache_and_mirror":{"status":"yes","value":true},"undetermined":[],"basis":"licence_text","confidence":0.95,"confidence_tier":"high","source_text":"Texte de la licence - le reutilisateur est libre \"de la communiquer, la reproduire, la copier ; de l'adapter, la modifier, l'extraire et la transformer, notamment pour creer des Informations derivees ; de la diffuser, la redistribuer, la publier et la transmettre, de l'exploiter a titre commercial\". Seule obligation : \"mentionner la paternite de l'Information : sa source (a minima le nom du Concedant) et la date de la derniere mise a jour\". Le texte rappelle que le reutilisateur doit respecter \"le cadre legal relatif a la protection des donnees a caractere personnel\". Aucune clause de partage a l'identique n'est imposee.","source_url":"https://github.com/etalab/licence-ouverte/blob/master/LO.md","reviewed_at":null},"license_raw":"https://www.etalab.gouv.fr/wp-content/uploads/2014/05/Licence_Ouverte.pdf","latest_check":{"id":"b49a5e12-0f80-4249-96ac-7f261c5c937c","entry_id":"c10c5d3e-0a53-4bf8-8b67-e7e5ceac5264","status":"VERIFIED","last_checked_at":"2026-09-05T11:18:59.390Z","p50_latency_ms":1620,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-07-26T00:21:05.970Z","updated_at":"2026-09-05T11:18:59.390Z","consecutive_successes":9,"probe_url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-","probe_method":"GET","probe_http_status":200,"probe_content_type":"application/json; charset=utf-8","probe_succeeded_at":"2026-09-05T11:18:59.390Z"},"data_profile":{"id":"a0781f17-590b-470e-b7db-6e2c0b941fd8","entry_id":"c10c5d3e-0a53-4bf8-8b67-e7e5ceac5264","profile_source":"opendatasoft","profile_kind":"dataset","dataset_id":"les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-","fields":[{"name":"departement","type":"int","label":"Département","fill_pct":100,"filterable":true,"description":null},{"name":"departement_commune","type":"int","label":"Département commune","fill_pct":100,"filterable":true,"description":null},{"name":"libelle_de_commune","type":"text","label":"Libellé de commune","fill_pct":100,"filterable":true,"description":null},{"name":"arrondissement","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"canton_ville","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"zone_d_emploi","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"unite_urbaine","type":"int","label":"Unité urbaine","fill_pct":100,"filterable":true,"description":null},{"name":"population_2010","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"police","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"tresorerie","type":"int","label":"Trésorerie","fill_pct":100,"filterable":true,"description":null},{"name":"gendarmerie","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"cour_d_appel","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"tribunal_de_grande_instance","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"tribunal_d_instance","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"conseil_de_prud_hommes","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"tribunal_de_commerce","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"agence_de_proximite","type":"int","label":"Agence de proximité","fill_pct":100,"filterable":true,"description":null},{"name":"relais_pole_emploi","type":"int","label":"Relais pôle emploi","fill_pct":100,"filterable":true,"description":null},{"name":"permanence_pole_emploi","type":"int","label":"Permanence pôle emploi","fill_pct":100,"filterable":true,"description":null},{"name":"agence_de_services_specialises","type":"int","label":"Agence de services spécialisés","fill_pct":100,"filterable":true,"description":null},{"name":"agence_thematique","type":"int","label":"Agence thématique","fill_pct":100,"filterable":true,"description":null},{"name":"banque_caisse_d_epargne","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"pompes_funebres","type":"int","label":"Pompes funèbres","fill_pct":100,"filterable":true,"description":null},{"name":"bureau_de_poste","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"relais_poste_commercant","type":"int","label":"Relais poste commerçant","fill_pct":100,"filterable":true,"description":null},{"name":"agence_postale_communale","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"reparation_auto_et_de_materiel_agricole","type":"int","label":"Réparation auto et de matériel agricole","fill_pct":100,"filterable":true,"description":null},{"name":"controle_technique_automobile","type":"int","label":"Contrôle technique automobile","fill_pct":100,"filterable":true,"description":null},{"name":"location_auto_utilitaires_legers","type":"int","label":"Location auto-utilitaires légers","fill_pct":100,"filterable":true,"description":null},{"name":"ecole_de_conduite","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"macon","type":"int","label":"Maçon","fill_pct":100,"filterable":true,"description":null},{"name":"platrier_peintre","type":"int","label":"Plâtrier peintre","fill_pct":100,"filterable":true,"description":null},{"name":"menuisier_charpentier_serrurier","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"plombier_couvreur_chauffagiste","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"electricien","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"entreprise_generale_du_batiment","type":"int","label":"Entreprise générale du bâtiment","fill_pct":100,"filterable":true,"description":null},{"name":"coiffure","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"veterinaire","type":"int","label":"Vétérinaire","fill_pct":100,"filterable":true,"description":null},{"name":"agence_de_travail_temporaire","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"restaurant","type":"int","label":null,"fill_pct":100,"filterable":true,"description":null},{"name":"agence_immobiliere","type":"int","label":"Agence immobilière","filterable":true,"description":null},{"name":"blanchisserie_teinturerie","type":"int","label":null,"filterable":true,"description":null},{"name":"soins_de_beaute","type":"int","label":"Soins de beauté","filterable":true,"description":null},{"name":"geo_point_2d","type":"geo_point_2d","label":null,"filterable":false,"description":null},{"name":"geo_shape","type":"geo_shape","label":null,"filterable":false,"description":null}],"field_count":45,"sample_records":[{"macon":0,"police":0,"coiffure":1,"geo_shape":{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.027972845131529,48.411552580260555],[3.019525908985407,48.408783336716695],[3.004676159465621,48.417232586259296],[3.006894849525595,48.434343696652476],[2.9959697598464423,48.4537038848259],[3.013769355556637,48.45989255409643],[3.023012631749864,48.44064810982438],[3.04385481424453,48.432140675154415],[3.040895342404548,48.416227017670224],[3.027972845131529,48.411552580260555]]]},"properties":{}},"restaurant":3,"tresorerie":0,"departement":77,"electricien":2,"gendarmerie":0,"veterinaire":0,"canton_ville":7720,"cour_d_appel":0,"geo_point_2d":{"lat":48.43166391865288,"lon":3.019417721101162},"unite_urbaine":77000,"zone_d_emploi":1106,"arrondissement":773,"bureau_de_poste":0,"pompes_funebres":0,"population_2010":1022,"soins_de_beaute":1,"platrier_peintre":0,"agence_thematique":0,"ecole_de_conduite":0,"agence_immobiliere":1,"libelle_de_commune":["Salins"],"relais_pole_emploi":0,"agence_de_proximite":0,"departement_commune":77439,"tribunal_d_instance":0,"tribunal_de_commerce":0,"conseil_de_prud_hommes":0,"permanence_pole_emploi":0,"banque_caisse_d_epargne":0,"relais_poste_commercant":0,"agence_postale_communale":1,"blanchisserie_teinturerie":0,"tribunal_de_grande_instance":0,"agence_de_travail_temporaire":0,"controle_technique_automobile":0,"agence_de_services_specialises":0,"plombier_couvreur_chauffagiste":1,"entreprise_generale_du_batiment":0,"menuisier_charpentier_serrurier":0,"location_auto_utilitaires_legers":0,"reparation_auto_et_de_materiel_agricole":0},{"macon":3,"police":0,"coiffure":0,"geo_shape":{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.433827158573359,48.33453952581446],[2.419993956030376,48.33715377412966],[2.401296776333075,48.3330209400213],[2.392371524461751,48.3358726164289],[2.385364207080836,48.34774884788388],[2.383011232645624,48.35848827139812],[2.386682851835512,48.381692821258284],[2.408140164853832,48.38684920233939],[2.4098105890961152,48.37400982165099],[2.427873892841398,48.36331991995492],[2.42983222850442,48.36201578311775],[2.441143247987806,48.35720223577209],[2.43034034066181,48.34750582406708],[2.433827158573359,48.33453952581446]]]},"properties":{}},"restaurant":1,"tresorerie":0,"departement":91,"electricien":1,"gendarmerie":0,"veterinaire":1,"canton_ville":9118,"cour_d_appel":0,"geo_point_2d":{"lat":48.356908985261256,"lon":2.406961472993543},"unite_urbaine":91000,"zone_d_emploi":1115,"arrondissement":912,"bureau_de_poste":0,"pompes_funebres":0,"population_2010":476,"soins_de_beaute":0,"platrier_peintre":1,"agence_thematique":0,"ecole_de_conduite":0,"agence_immobiliere":0,"libelle_de_commune":["Buno-Bonnevaux"],"relais_pole_emploi":0,"agence_de_proximite":0,"departement_commune":91121,"tribunal_d_instance":0,"tribunal_de_commerce":0,"conseil_de_prud_hommes":0,"permanence_pole_emploi":0,"banque_caisse_d_epargne":0,"relais_poste_commercant":0,"agence_postale_communale":0,"blanchisserie_teinturerie":0,"tribunal_de_grande_instance":0,"agence_de_travail_temporaire":0,"controle_technique_automobile":0,"agence_de_services_specialises":0,"plombier_couvreur_chauffagiste":1,"entreprise_generale_du_batiment":0,"menuisier_charpentier_serrurier":1,"location_auto_utilitaires_legers":0,"reparation_auto_et_de_materiel_agricole":0},{"macon":7,"police":0,"coiffure":18,"geo_shape":{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.365690973859745,48.98883940153542],[2.361984576626002,48.98689537271051],[2.351150218229888,48.99230465358529],[2.337479605121333,48.99275150915264],[2.331567228684923,49.000892780776326],[2.3210315029529323,49.0070383351326],[2.32230419820327,49.010066932830874],[2.341871552243599,49.00634511123114],[2.363450476008217,49.02003971396452],[2.363647080160659,49.00957385403513],[2.368364578756888,48.99932960139065],[2.365690973859745,48.98883940153542]]]},"properties":{}},"restaurant":40,"tresorerie":0,"departement":95,"electricien":16,"gendarmerie":0,"veterinaire":3,"canton_ville":9508,"cour_d_appel":0,"geo_point_2d":{"lat":49.0019033624156,"lon":2.350306889617568},"unite_urbaine":851,"zone_d_emploi":56,"arrondissement":952,"bureau_de_poste":1,"pompes_funebres":0,"population_2010":14320,"soins_de_beaute":6,"platrier_peintre":12,"agence_thematique":0,"ecole_de_conduite":6,"agence_immobiliere":9,"libelle_de_commune":["Saint-Brice-sous-Forêt"],"relais_pole_emploi":0,"agence_de_proximite":0,"departement_commune":95539,"tribunal_d_instance":0,"tribunal_de_commerce":0,"conseil_de_prud_hommes":0,"permanence_pole_emploi":0,"banque_caisse_d_epargne":3,"relais_poste_commercant":0,"agence_postale_communale":0,"blanchisserie_teinturerie":1,"tribunal_de_grande_instance":0,"agence_de_travail_temporaire":0,"controle_technique_automobile":3,"agence_de_services_specialises":0,"plombier_couvreur_chauffagiste":16,"entreprise_generale_du_batiment":7,"menuisier_charpentier_serrurier":14,"location_auto_utilitaires_legers":1,"reparation_auto_et_de_materiel_agricole":12},{"macon":8,"police":0,"coiffure":12,"geo_shape":{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.703843665050603,48.88069236307745],[2.694968960104301,48.88736091220305],[2.692999270795783,48.89993705023724],[2.707593676338137,48.89763540986345],[2.7102865966781833,48.903927997808026],[2.724274693754664,48.90284589745069],[2.73021672349017,48.89337189516507],[2.727733026974796,48.883222165132516],[2.703843665050603,48.88069236307745]]]},"properties":{}},"restaurant":18,"tresorerie":0,"departement":77,"electricien":10,"gendarmerie":0,"veterinaire":2,"canton_ville":7743,"cour_d_appel":0,"geo_point_2d":{"lat":48.89189799991672,"lon":2.7123703431962953},"unite_urbaine":851,"zone_d_emploi":1101,"arrondissement":775,"bureau_de_poste":1,"pompes_funebres":0,"population_2010":9220,"soins_de_beaute":6,"platrier_peintre":14,"agence_thematique":0,"ecole_de_conduite":2,"agence_immobiliere":3,"libelle_de_commune":["Thorigny-sur-Marne"],"relais_pole_emploi":0,"agence_de_proximite":0,"departement_commune":77464,"tribunal_d_instance":0,"tribunal_de_commerce":0,"conseil_de_prud_hommes":0,"permanence_pole_emploi":0,"banque_caisse_d_epargne":5,"relais_poste_commercant":0,"agence_postale_communale":0,"blanchisserie_teinturerie":4,"tribunal_de_grande_instance":0,"agence_de_travail_temporaire":0,"controle_technique_automobile":0,"agence_de_services_specialises":0,"plombier_couvreur_chauffagiste":12,"entreprise_generale_du_batiment":10,"menuisier_charpentier_serrurier":3,"location_auto_utilitaires_legers":1,"reparation_auto_et_de_materiel_agricole":11},{"macon":19,"police":0,"coiffure":14,"geo_shape":{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.994386896370492,48.7991171439457],[1.986479116290323,48.79968895112652],[1.9668984852353901,48.82179131158714],[1.97008605899946,48.834878390140034],[1.983641156520402,48.833537293957974],[1.99591420176333,48.827282096195056],[2.00039300751167,48.813936219254316],[1.9964405520422521,48.81196933578749],[1.994386896370492,48.7991171439457]]]},"properties":{}},"restaurant":24,"tresorerie":0,"departement":78,"electricien":12,"gendarmerie":0,"veterinaire":2,"canton_ville":7838,"cour_d_appel":0,"geo_point_2d":{"lat":48.818640660063544,"lon":1.984059555395087},"unite_urbaine":851,"zone_d_emploi":1116,"arrondissement":784,"bureau_de_poste":1,"pompes_funebres":1,"population_2010":17553,"soins_de_beaute":10,"platrier_peintre":18,"agence_thematique":0,"ecole_de_conduite":1,"agence_immobiliere":15,"libelle_de_commune":["Les Clayes-sous-Bois"],"relais_pole_emploi":0,"agence_de_proximite":0,"departement_commune":78165,"tribunal_d_instance":0,"tribunal_de_commerce":0,"conseil_de_prud_hommes":0,"permanence_pole_emploi":0,"banque_caisse_d_epargne":7,"relais_poste_commercant":0,"agence_postale_communale":0,"blanchisserie_teinturerie":2,"tribunal_de_grande_instance":0,"agence_de_travail_temporaire":0,"controle_technique_automobile":0,"agence_de_services_specialises":0,"plombier_couvreur_chauffagiste":28,"entreprise_generale_du_batiment":9,"menuisier_charpentier_serrurier":14,"location_auto_utilitaires_legers":0,"reparation_auto_et_de_materiel_agricole":9}],"record_count":"1300","data_size_bytes":null,"dataset_count":null,"query_examples":[{"url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/records?limit=20","curl":"curl -s 'https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/records?limit=20' -H 'Accept: application/json'","label":"List records","method":"GET","description":"First 20 records of the dataset as JSON."},{"url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/records?select=departement%2Cdepartement_commune%2Clibelle_de_commune&where=libelle_de_commune+is+not+null&limit=20","curl":"curl -s 'https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/records?select=departement%2Cdepartement_commune%2Clibelle_de_commune&where=libelle_de_commune+is+not+null&limit=20' -H 'Accept: application/json'","label":"Select & filter","method":"GET","description":"Project specific fields (departement, departement_commune, libelle_de_commune) and filter with ODSQL where clauses."},{"url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/exports/csv","curl":"curl -sL 'https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/les-services-aux-particuliers-par-commune-ou-arrondissement-base-permanente-des-/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-09-01T23:16:00.853Z","run_id":"d39dd8c1-dc15-4559-bfa8-7688d9e7bbd0","created_at":"2026-07-25T05:21:54.315Z","updated_at":"2026-09-01T23:16:00.853Z","license_raw":"https://www.etalab.gouv.fr/wp-content/uploads/2014/05/Licence_Ouverte.pdf","license_id":"lo-2.0","consecutive_failure_count":0,"last_error_at":null,"last_error_message":null,"previewable":true,"personal_data":{"status":"none","basis":"no_person_column_cited","grain":"none","allowed":true,"columns":{"direct_identifiers":[],"family_names":[],"given_names":[],"attributes":[],"unresolved_names":[],"measures":["population_2010"],"entity_identifiers":[]},"publication":null,"publication_evidence":null,"notice":"personal data: no cited column names a natural person (the cited columns are all this reads)"}},"datasets":[],"limits":[{"id":"655dbb93-3a29-4568-8ccf-15cf2ad3619d","entry_id":"c10c5d3e-0a53-4bf8-8b67-e7e5ceac5264","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-09-01T23:16:02.055Z"}],"source_access":{"status":"accessed_despite_disallow","host":"data.iledefrance.fr","requested_path_prefix":"/api/explore/v2.1/","robots_url":"https://data.iledefrance.fr/robots.txt","user_agent_group":"*","robots_rule":"Disallow: /api/","robots_read_at":"2026-08-25T11:29:14.157Z","decision_ref":"owner decision 2026-08-22, recorded in docs/PROGRESS.md NEEDS-HUMAN: public-sector open-data portals whose purpose is machine access; the directive is an Opendatasoft vendor default reflecting no publisher intent. Concern raised and overruled; see the row.","note":"This answer is derived from a host whose robots.txt DISALLOWS the path Commodity requests, and Commodity requests it anyway under the decision named in `decision_ref`. The rule is quoted verbatim so you can read it yourself. Commodity does not send a user-agent it is not, so any `Allow` granted to a named crawler in that file is not claimed here."},"field_provenance_source_access":{"status":{"basis":"platform_computed","derived":true,"upstream_field":null,"transform":"THIS PLATFORM’S READING OF ITS OWN CONDUCT: that it requests a path this host forbids. No publisher asserts it and none was asked to","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}},"host":{"basis":"platform_computed","derived":true,"upstream_field":null,"transform":"the host Commodity addressed, lowercased and stripped of scheme and port by this platform so that one host has one row and one reading","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}},"requested_path_prefix":{"basis":"platform_computed","derived":true,"upstream_field":null,"transform":"THE PATH THE VERDICT IS ABOUT, derived from the base URLs this platform stores for the host — not `/`, and not an assumed `/api/`. A verdict about a path we do not call would describe someone else’s traffic","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}},"robots_url":{"basis":"platform_computed","derived":true,"upstream_field":null,"transform":"where the file was fetched from — composed by this platform from the host, at the one location the protocol fixes, so it can be re-fetched and the reading disputed","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}},"user_agent_group":{"basis":"stored_sample","derived":false,"upstream_field":"the `User-agent` line the deciding rule sits under","transform":"the group heading that made the rule OURS, verbatim from the stored file. Where it is `*` the directive addresses everyone; a group naming another crawler was not applied, because Commodity does not send a user-agent it is not","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}},"robots_rule":{"basis":"stored_sample","derived":false,"upstream_field":"the directive line of the matching group","transform":"THE PUBLISHER’S OWN LINE, QUOTED AND UNCUT, as read from robots.txt at the moment below and stored — not fetched for this request, and not part of this response’s payload. It is here so the verdict beside it can be checked rather than taken from us","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}},"robots_read_at":{"basis":"platform_computed","derived":true,"upstream_field":null,"transform":"OUR CLOCK when the file was read, never a `Date` header the origin sent. It bounds how stale this reading may be: a publisher can have changed the file since","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}},"decision_ref":{"basis":"platform_computed","derived":true,"upstream_field":null,"transform":"WHO DECIDED TO CALL IT ANYWAY, AND WHEN. Recorded by this platform and required by the database before the exception may exist at all, so it can never be anonymous","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}},"note":{"basis":"platform_computed","derived":true,"upstream_field":null,"transform":"this platform’s sentence explaining what the reader is holding. Written here, by us, and not a quotation of anybody","cells":{"rows":1,"delivered":1,"empty":0,"stringified":0,"truncated":0}}},"manifest":{"answer_sha256":"fd6eb828b16c1b694e19b797a9f92bf123fe1eec7538b145be1622ced0903ef6","answer_sha256_rule":"sha256 (hex, UTF-8) of JSON.stringify(this body) after deleting the keys listed in manifest.stamped_keys from manifest, and deleting manifest itself if it is then empty. The hash was computed before the stamp existed, so no field of the stamp is inside it.","stamped_keys":["answer_sha256","answer_sha256_rule","stamped_keys","row_count","row_count_basis","live","live_basis","created_at","created_at_basis","durable_citation"],"row_count":66,"row_count_basis":"Objects that are elements of a JSON array anywhere in this body, excluding manifest. Not a claim about which collection is the answer. Largest single collection: data_profile.fields[] (45 rows).","live":false,"live_basis":"This body was replayed from the worker edge cache (x-edge-cache: hit); the bytes, and therefore answer_sha256, are those of the execution that filled the cache.","created_at":"2026-09-08T09:56:59.556Z","created_at_basis":"When this response body was assembled, deliberately OUTSIDE the hashed bytes so the same answer hashes identically on every request. Not the upstream read time — that is provenance[].retrieved_at. A zone-cached replay carries the assembly time, not your receipt time.","durable_citation":"This manifest is produced at response time and is NOT stored. A durable, replayable citation is persisted only on an explicit cite: GET /api/v1/entries/{id-or-slug}/evidence, or the MCP cite_query tool. Both are entry-scoped, because evidence_manifests is entry-shaped; a domain answer spanning several sources has no single entry and cannot be persisted through that path."}}