{"id":"99f675e8-69de-4861-8832-78661c468fa3","type":"API","name":"Emploi au quart des communes d'Île-de-France (données Insee)","slug":"emploi-au-quart-des-communes-dile-de-france-donnees-insee","description":"[Situation 2020] Emploi communal au quart depuis 1962. Au recensement, les personnes actives ayant un emploi peuvent être comptées à leur lieu de résidence ou à leur lieu de travail. Au lieu de travail, on parle d'emploi au lieu de travail ou plus brièvement d'emploi. Par opposition a lieu de rés...","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":"https://data.iledefrance.fr/explore/dataset/emploi-au-quart-de-1968-a-2016-dile-de-france/","docs_url":"https://data.iledefrance.fr/explore/dataset/emploi-au-quart-de-1968-a-2016-dile-de-france/","repo_url":null,"status":"ACTIVE","verification_state":"VERIFIED","tags":["employment"],"logo_url":"https://data.iledefrance.fr/assets/favicon","primary_source_url":"https://data.iledefrance.fr/explore/dataset/emploi-au-quart-de-1968-a-2016-dile-de-france/","extraction_confidence":"0.00","created_at":"2026-07-25T03:48:31.200Z","updated_at":"2026-10-21T04:22:17.965Z","last_verified_at":"2026-10-21T01:44:47.072Z","deprecated_at":null,"ranking_score":58,"last_ranked_at":"2026-10-13T13:42:21.355Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":"2026-10-13T06:59:18.404Z","popularity_score":"0.0000","maintenance_score":"0.7000","institution_id":null,"institution_type":null,"country_code":"FR","official_confidence":0,"proof_summary":"Confidence: 0%","source_seed_url":null,"is_public_sector":true,"published_at":"2026-07-26T07:49:00.000Z","geographic_scope":"NATIONAL","name_en":"Employment (quarter sample) in Île-de-France municipalities (Insee data)","description_en":"This API provides municipal-level employment figures for the Île-de-France region, based on a quarter-sample extraction from French national census (Insee) data, covering the period from 1962 (with a 2020 situation update) onward. At the census, working people can be counted either at their place of residence or at their place of work; this dataset focuses on employment counted at the place of work, as opposed to the resident active population counted at the place of residence. It is published via the Île-de-France open-data portal and is useful for analyzing local labor markets and commuting patterns across Île-de-France communes over time.","native_lang":"fr","access_level":"direct","formats":["CSV"],"capability_tier":"live","trust_score":42.25,"merged_into_entry_id":null,"identity_key":"API|https://data.iledefrance.fr/explore/dataset/emploi-au-quart-de-1968-a-2016-dile-de-france|emploi au quart des communes d'île-de-france (données insee)","upstream_ref":"data.iledefrance.fr:dataset:emploi-au-quart-de-1968-a-2016-dile-de-france","content_changed_at":"2026-10-08T21:11:23.547Z","institution":null,"title_qualifier":null,"access":{"level":"direct","primary":{"kind":"download","label":"Export CSV","method":"GET","url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/emploi-au-quart-de-1968-a-2016-dile-de-france/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/emploi-au-quart-de-1968-a-2016-dile-de-france/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/emploi-au-quart-de-1968-a-2016-dile-de-france/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/emploi-au-quart-de-1968-a-2016-dile-de-france/records?select=geo_point_2d%2Cgeo_shape%2Cobjectid&where=insee+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/emploi-au-quart-de-1968-a-2016-dile-de-france","source":"probe","runnable":true},{"kind":"landing","label":"Read the docs","method":"GET","url":"https://data.iledefrance.fr/explore/dataset/emploi-au-quart-de-1968-a-2016-dile-de-france/","source":"docs","runnable":false}],"formats":["CSV"]},"maturity":{"entry_id":"99f675e8-69de-4861-8832-78661c468fa3","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":null,"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-10-23T18:19:25.277Z"},"api_details":{"id":"88573959-6d24-4e8a-83f5-833923bee0ac","entry_id":"99f675e8-69de-4861-8832-78661c468fa3","base_url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/emploi-au-quart-de-1968-a-2016-dile-de-france","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/emploi-au-quart-de-1968-a-2016-dile-de-france","created_at":"2026-07-25T03:48:31.356Z","updated_at":"2026-07-25T03:48:31.356Z"},"dataset_details":{"id":"bb8c1166-ab95-4399-a189-ca4ef7663592","entry_id":"99f675e8-69de-4861-8832-78661c468fa3","upstream_issued":null,"upstream_modified":"2024-10-08T08:12:45.451Z","themes":[],"update_frequency":null,"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://data.iledefrance.fr","created_at":"2026-07-25T03:59:43.516Z","updated_at":"2026-10-20T12:58:03.309Z","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/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf","latest_check":{"id":"942ffebc-0c8a-40b0-a2cd-a1dd6f5fe432","entry_id":"99f675e8-69de-4861-8832-78661c468fa3","status":"VERIFIED","last_checked_at":"2026-10-21T01:44:46.791Z","p50_latency_ms":1690,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-07-27T00:55:13.157Z","updated_at":"2026-10-21T01:44:46.791Z","consecutive_successes":20,"probe_url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/emploi-au-quart-de-1968-a-2016-dile-de-france","probe_method":"GET","probe_http_status":200,"probe_content_type":"application/json; charset=utf-8","probe_succeeded_at":"2026-10-21T01:44:46.791Z"},"data_profile":{"id":"a32d610b-e192-4e0b-88fb-2949aa6a7b5f","entry_id":"99f675e8-69de-4861-8832-78661c468fa3","profile_source":"opendatasoft","profile_kind":"dataset","dataset_id":"emploi-au-quart-de-1968-a-2016-dile-de-france","fields":[{"name":"geo_point_2d","type":"geo_point_2d","label":"Geo Point","filterable":false,"description":null,"description_en":"Geographic center point of the commune."},{"name":"geo_shape","type":"geo_shape","label":null,"filterable":false,"description":null,"description_en":"Geographic boundary shape of the commune."},{"name":"objectid","type":"int","label":null,"filterable":true,"description":null,"description_en":"Internal record identifier."},{"name":"insee","type":"text","label":null,"filterable":true,"description":"Code Insee de la commune","description_en":"INSEE code identifying the commune."},{"name":"tx_emp1990","type":"double","label":null,"filterable":true,"description":"Taux d'emploi 1990","description_en":"Employment rate in the commune in 1990."},{"name":"tx_emp1999","type":"double","label":null,"filterable":true,"description":"Taux d'emploi 1999","description_en":"Employment rate in the commune in 1999."},{"name":"tcam9099","type":"double","label":null,"filterable":true,"description":"Taux d'évolution annuelle 1990 - 1999","description_en":"Average annual rate of change in employment, 1990–1999."},{"name":"emp2006","type":"double","label":null,"filterable":true,"description":"Emploi 2006","description_en":"Number of jobs in the commune in 2006."},{"name":"emp_h2006","type":"double","label":null,"filterable":true,"description":"Emploi des hommes 2006","description_en":"Number of male jobs in the commune in 2006."},{"name":"emp_f2006","type":"double","label":null,"filterable":true,"description":"Emploi des femmes 2006","description_en":"Number of female jobs in the commune in 2006."},{"name":"emp_h2007","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2007","description_en":"Number of male jobs in the commune in 2007."},{"name":"emp_f2007","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2007","description_en":"Number of female jobs in the commune in 2007."},{"name":"emp2007","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2007","description_en":"Number of jobs in the commune in 2007."},{"name":"emp_h2008","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2008","description_en":"Number of male jobs in the commune in 2008."},{"name":"emp_f2008","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2008","description_en":"Number of female jobs in the commune in 2008."},{"name":"emp2008","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2008","description_en":"Number of jobs in the commune in 2008."},{"name":"emp2009","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2009","description_en":"Number of jobs in the commune in 2009."},{"name":"emp_h2009","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2009","description_en":"Number of male jobs in the commune in 2009."},{"name":"emp_f2009","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2009","description_en":"Number of female jobs in the commune in 2009."},{"name":"emp_h2010","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2010","description_en":"Number of male jobs in the commune in 2010."},{"name":"emp_f2010","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2010","description_en":"Number of female jobs in the commune in 2010."},{"name":"emp2010","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2010","description_en":"Number of jobs in the commune in 2010."},{"name":"emp_h2011","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2011","description_en":"Number of male jobs in the commune in 2011."},{"name":"emp_f2011","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2011","description_en":"Number of female jobs in the commune in 2011."},{"name":"emp2011","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2011","description_en":"Number of jobs in the commune in 2011."},{"name":"emp_h2012","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2012","description_en":"Number of male jobs in the commune in 2012."},{"name":"emp_f2012","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2012","description_en":"Number of female jobs in the commune in 2012."},{"name":"emp2012","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2012","description_en":"Number of jobs in the commune in 2012."},{"name":"emp_h2013","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2013","description_en":"Number of male jobs in the commune in 2013."},{"name":"emp_f2013","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2013","description_en":"Number of female jobs in the commune in 2013."},{"name":"emp2013","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2013","description_en":"Number of jobs in the commune in 2013."},{"name":"emp_h2014","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2014","description_en":"Number of male jobs in the commune in 2014."},{"name":"emp_f2014","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2014","description_en":"Number of female jobs in the commune in 2014."},{"name":"emp2014","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2014","description_en":"Number of jobs in the commune in 2014."},{"name":"emp_h2015","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2015","description_en":"Number of male jobs in the commune in 2015."},{"name":"emp_f2015","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2015","description_en":"Number of female jobs in the commune in 2015."},{"name":"emp2015","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2015","description_en":"Number of jobs in the commune in 2015."},{"name":"emp1999","type":"int","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 1999","description_en":"Number of jobs in the commune in 1999."},{"name":"emp1990","type":"int","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 1990","description_en":"Number of jobs in the commune in 1990."},{"name":"emp1982","type":"int","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 1982","description_en":"Number of jobs in the commune in 1982."},{"name":"emp1975","type":"int","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 1975","description_en":"Number of jobs in the commune in 1975."},{"name":"emp1968","type":"int","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 1968","description_en":"Number of jobs in the commune in 1968."},{"name":"emp_h2016","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2016","description_en":"Number of male jobs in the commune in 2016."},{"name":"emp_f2016","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2016","description_en":"Number of female jobs in the commune in 2016."},{"name":"emp2016","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2016","description_en":"Number of jobs in the commune in 2016."},{"name":"emp_h2017","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2017","description_en":"Number of male jobs in the commune in 2017."},{"name":"emp_f2017","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2017","description_en":"Number of female jobs in the commune in 2017."},{"name":"emp2017","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2017","description_en":"Number of jobs in the commune in 2017."},{"name":"emp_h2018","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2018","description_en":"Number of male jobs in the commune in 2018."},{"name":"emp_f2018","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2018","description_en":"Number of female jobs in the commune in 2018."},{"name":"emp2018","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2018","description_en":"Number of jobs in the commune in 2018."},{"name":"emp_h2019","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2019","description_en":"Number of male jobs in the commune in 2019."},{"name":"emp_f2019","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2019","description_en":"Number of female jobs in the commune in 2019."},{"name":"emp2019","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2019","description_en":"Number of jobs in the commune in 2019."},{"name":"emp_h2020","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des hommes 2020","description_en":"Number of male jobs in the commune in 2020."},{"name":"emp_f2020","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi des femmes 2020","description_en":"Number of female jobs in the commune in 2020."},{"name":"emp2020","type":"double","label":null,"fill_pct":100,"filterable":true,"description":"Emploi 2019","description_en":"Number of jobs in the commune in 2020."}],"field_count":57,"sample_records":[{"insee":"77366","emp1968":32,"emp1975":15,"emp1982":0,"emp1990":20,"emp1999":16,"emp2006":11.847131999999998,"emp2007":11.82,"emp2008":7.74,"emp2009":11.93,"emp2010":12.03,"emp2011":16.29,"emp2012":16.24,"emp2013":17.14,"emp2014":19.46,"emp2015":19.51,"emp2016":16.23,"emp2017":16.39,"emp2018":6.29,"emp2019":6.84,"emp2020":1.4,"objectid":368,"tcam9099":-2.45,"emp_f2006":7.898088,"emp_f2007":7.88,"emp_f2008":3.87,"emp_f2009":3.94,"emp_f2010":4,"emp_f2011":4.1,"emp_f2012":4.11,"emp_f2013":4.64,"emp_f2014":9.66,"emp_f2015":9.92,"emp_f2016":10.1,"emp_f2017":10.21,"emp_f2018":5.24,"emp_f2019":5.35,"emp_f2020":0,"emp_h2006":3.949044,"emp_h2007":3.94,"emp_h2008":3.87,"emp_h2009":7.99,"emp_h2010":8.03,"emp_h2011":12.19,"emp_h2012":12.13,"emp_h2013":12.5,"emp_h2014":9.8,"emp_h2015":9.59,"emp_h2016":6.13,"emp_h2017":6.18,"emp_h2018":1.05,"emp_h2019":1.49,"emp_h2020":1.4,"geo_shape":{"type":"Feature","geometry":{"type":"MultiPoint","coordinates":[[2.794740993178086,49.00742694166953]]},"properties":{}},"tx_emp1990":0.19,"tx_emp1999":0.12,"geo_point_2d":{"lat":49.00742694166953,"lon":2.7947409931780864}},{"insee":"77456","emp1968":124,"emp1975":65,"emp1982":56,"emp1990":36,"emp1999":80,"emp2006":40.495668,"emp2007":51.79,"emp2008":56.52,"emp2009":60.9,"emp2010":63.03,"emp2011":63.32,"emp2012":67.59,"emp2013":64.98,"emp2014":61.37,"emp2015":58.08,"emp2016":63.69,"emp2017":55.41,"emp2018":55.18,"emp2019":55.19,"emp2020":55.93,"objectid":455,"tcam9099":9.27,"emp_f2006":20.392098999999998,"emp_f2007":20.45,"emp_f2008":20.7,"emp_f2009":24.81,"emp_f2010":26.78,"emp_f2011":27.22,"emp_f2012":26.83,"emp_f2013":27.5,"emp_f2014":23.38,"emp_f2015":19.98,"emp_f2016":20.09,"emp_f2017":20.15,"emp_f2018":20.07,"emp_f2019":20,"emp_f2020":20.24,"emp_h2006":20.103569,"emp_h2007":31.34,"emp_h2008":35.82,"emp_h2009":36.09,"emp_h2010":36.25,"emp_h2011":36.1,"emp_h2012":40.76,"emp_h2013":37.48,"emp_h2014":37.99,"emp_h2015":38.1,"emp_h2016":43.6,"emp_h2017":35.26,"emp_h2018":35.11,"emp_h2019":35.19,"emp_h2020":35.69,"geo_shape":{"type":"Feature","geometry":{"type":"MultiPoint","coordinates":[[3.299496197202668,48.50854418416377]]},"properties":{}},"tx_emp1990":0.12,"tx_emp1999":0.22,"geo_point_2d":{"lat":48.50854418416377,"lon":3.2994961972026675}},{"insee":"91390","emp1968":968,"emp1975":830,"emp1982":832,"emp1990":768,"emp1999":871,"emp2006":870.73914,"emp2007":838.91,"emp2008":837.5,"emp2009":837.07,"emp2010":873.11,"emp2011":848.17,"emp2012":868.7,"emp2013":882.94,"emp2014":923.59,"emp2015":890.97,"emp2016":836.96,"emp2017":855.39,"emp2018":910.12,"emp2019":910.21,"emp2020":930.84,"objectid":893,"tcam9099":1.47,"emp_f2006":376.983628,"emp_f2007":368.44,"emp_f2008":373.38,"emp_f2009":383.81,"emp_f2010":397.75,"emp_f2011":372.19,"emp_f2012":381.97,"emp_f2013":388.7,"emp_f2014":402.41,"emp_f2015":398.92,"emp_f2016":343.11,"emp_f2017":363.29,"emp_f2018":365.94,"emp_f2019":364.88,"emp_f2020":373.42,"emp_h2006":493.755512,"emp_h2007":470.47,"emp_h2008":464.12,"emp_h2009":453.26,"emp_h2010":475.36,"emp_h2011":475.98,"emp_h2012":486.73,"emp_h2013":494.24,"emp_h2014":521.18,"emp_h2015":492.05,"emp_h2016":493.85,"emp_h2017":492.1,"emp_h2018":544.18,"emp_h2019":545.33,"emp_h2020":557.42,"geo_shape":{"type":"Feature","geometry":{"type":"MultiPoint","coordinates":[[2.07323882936404,48.3180869992531],[2.13170437451033,48.30735243116563]]},"properties":{}},"tx_emp1990":0.94,"tx_emp1999":0.96,"geo_point_2d":{"lat":48.31271971520937,"lon":2.1024716019371854}},{"insee":"93063","emp1968":12148,"emp1975":12840,"emp1982":10708,"emp1990":9316,"emp1999":7820,"emp2006":6815.634889,"emp2007":6617.39,"emp2008":6405.85,"emp2009":6356.46,"emp2010":6319.82,"emp2011":6404.04,"emp2012":6207.04,"emp2013":6493.57,"emp2014":6759.82,"emp2015":6923.5,"emp2016":6904.17,"emp2017":7248.59,"emp2018":7173.89,"emp2019":7351.6,"emp2020":7606.81,"objectid":1046,"tcam9099":-1.92,"emp_f2006":2707.530056,"emp_f2007":2674.7,"emp_f2008":2666.29,"emp_f2009":2709.14,"emp_f2010":2714.34,"emp_f2011":2793.72,"emp_f2012":2778.63,"emp_f2013":2903.8,"emp_f2014":3023.88,"emp_f2015":3155.43,"emp_f2016":3057,"emp_f2017":3235.46,"emp_f2018":3223.21,"emp_f2019":3310.64,"emp_f2020":3491.21,"emp_h2006":4108.104833,"emp_h2007":3942.69,"emp_h2008":3739.56,"emp_h2009":3647.32,"emp_h2010":3605.48,"emp_h2011":3610.32,"emp_h2012":3428.41,"emp_h2013":3589.77,"emp_h2014":3735.94,"emp_h2015":3768.07,"emp_h2016":3847.17,"emp_h2017":4013.13,"emp_h2018":3950.68,"emp_h2019":4040.96,"emp_h2020":4115.6,"geo_shape":{"type":"Feature","geometry":{"type":"MultiPoint","coordinates":[[2.438064709161458,48.88466720836412]]},"properties":{}},"tx_emp1990":0.79,"tx_emp1999":0.68,"geo_point_2d":{"lat":48.88466720836412,"lon":2.438064709161458}},{"insee":"77227","emp1968":60,"emp1975":95,"emp1982":100,"emp1990":84,"emp1999":80,"emp2006":97.323694,"emp2007":104.89,"emp2008":108.08,"emp2009":109.93,"emp2010":94.97,"emp2011":120.27,"emp2012":129.92,"emp2013":120.99,"emp2014":113.12,"emp2015":100.13,"emp2016":84.6,"emp2017":95.24,"emp2018":101.01,"emp2019":100.38,"emp2020":102.09,"objectid":235,"tcam9099":-0.54,"emp_f2006":31.781455,"emp_f2007":38.96,"emp_f2008":50.73,"emp_f2009":59.53,"emp_f2010":49.58,"emp_f2011":57.93,"emp_f2012":56.73,"emp_f2013":49.85,"emp_f2014":38.23,"emp_f2015":38.35,"emp_f2016":30.24,"emp_f2017":45.55,"emp_f2018":45.94,"emp_f2019":45.18,"emp_f2020":44.49,"emp_h2006":65.542239,"emp_h2007":65.93,"emp_h2008":57.35,"emp_h2009":50.4,"emp_h2010":45.39,"emp_h2011":62.34,"emp_h2012":73.19,"emp_h2013":71.14,"emp_h2014":74.89,"emp_h2015":61.78,"emp_h2016":54.36,"emp_h2017":49.69,"emp_h2018":55.07,"emp_h2019":55.2,"emp_h2020":57.6,"geo_shape":{"type":"Feature","geometry":{"type":"MultiPoint","coordinates":[[3.346051981751952,48.486152113473615]]},"properties":{}},"tx_emp1990":0.42,"tx_emp1999":0.35,"geo_point_2d":{"lat":48.486152113473615,"lon":3.346051981751952}}],"record_count":"1287","data_size_bytes":null,"dataset_count":null,"query_examples":[{"url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/emploi-au-quart-de-1968-a-2016-dile-de-france/records?limit=20","curl":"curl -s 'https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/emploi-au-quart-de-1968-a-2016-dile-de-france/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/emploi-au-quart-de-1968-a-2016-dile-de-france/records?select=geo_point_2d%2Cgeo_shape%2Cobjectid&where=insee+is+not+null&limit=20","curl":"curl -s 'https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/emploi-au-quart-de-1968-a-2016-dile-de-france/records?select=geo_point_2d%2Cgeo_shape%2Cobjectid&where=insee+is+not+null&limit=20' -H 'Accept: application/json'","label":"Select & filter","method":"GET","description":"Project specific fields (geo_point_2d, geo_shape, objectid) and filter with ODSQL where clauses."},{"url":"https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/emploi-au-quart-de-1968-a-2016-dile-de-france/exports/csv","curl":"curl -sL 'https://data.iledefrance.fr/api/explore/v2.1/catalog/datasets/emploi-au-quart-de-1968-a-2016-dile-de-france/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-10-20T12:58:02.305Z","run_id":"f9e39b7e-c981-4953-bad8-a1756f29b734","created_at":"2026-07-25T03:59:42.852Z","updated_at":"2026-10-20T12:58:02.305Z","license_raw":"https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.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":[],"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":"2ad3513a-24ac-4777-bf50-4d73c09efdc5","entry_id":"99f675e8-69de-4861-8832-78661c468fa3","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-10-20T12:58:03.623Z"}],"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":"61cc12460c190d7c6978720340b6823d8d3631465216a5c7171ac221ccbd20df","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":78,"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[] (57 rows).","live":true,"live_basis":"This body was produced by executing the request.","created_at":"2026-10-23T18:19:25.318Z","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."}}