{"id":"810263b5-da5a-4047-ad68-814591915393","type":"API","name":"Elections Européennes 2019 - Résultats","slug":"elections-europeennes-2019-resultats","description":"Résultats des élections européennes du dimanche 26 mai 2019 par bureaux de vote de la ville de Toulouse","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":"https://data.toulouse-metropole.fr/explore/dataset/elections-europeennes-2019-resultats/","docs_url":"https://data.toulouse-metropole.fr/explore/dataset/elections-europeennes-2019-resultats/","repo_url":null,"status":"ACTIVE","verification_state":"VERIFIED","tags":["government"],"logo_url":"https://s3-eu-west-1.amazonaws.com/aws-ec2-eu-1-opendatasoft-staticfileset/toulouse-metropole/favicon?tstamp=17391839235561483","primary_source_url":"https://data.toulouse-metropole.fr/explore/dataset/elections-europeennes-2019-resultats/","extraction_confidence":"0.00","created_at":"2026-07-24T23:33:01.135Z","updated_at":"2026-10-21T12:38:19.056Z","last_verified_at":"2026-10-21T12:18:05.780Z","deprecated_at":null,"ranking_score":56,"last_ranked_at":"2026-10-14T10:24:07.639Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":"2026-10-12T20:26:43.528Z","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-25T09:35:00.000Z","geographic_scope":"NATIONAL","name_en":"2019 European Elections - Results","description_en":"This API provides the results of the European Parliament elections held on Sunday, 26 May 2019, broken down by polling station for the city of Toulouse. It is published as open data by Toulouse Métropole through its municipal data portal. The dataset allows users to examine voting outcomes at a granular, polling-station level across the city, supporting local electoral analysis and comparison between different areas of Toulouse. Access is free and does not require authentication.”}}}}}} 補注: description_en 應為純文字，以上為錯誤示範。以下為正確回答。 ,","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.toulouse-metropole.fr/explore/dataset/elections-europeennes-2019-resultats|elections européennes 2019 - résultats","upstream_ref":"data.toulouse-metropole.fr:dataset:elections-europeennes-2019-resultats","content_changed_at":"2026-10-08T21:11:23.120Z","institution":null,"title_qualifier":null,"access":{"level":"direct","primary":{"kind":"download","label":"Export CSV","method":"GET","url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/exports/csv","format":"CSV","source":"query_example","runnable":true,"direct":true},"actions":[{"kind":"download","label":"Export CSV","method":"GET","url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/exports/csv","format":"CSV","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"List records","method":"GET","url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/records?limit=20","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Select & filter","method":"GET","url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/records?select=column_1%2Ccolumn_2%2Ccolumn_3&where=column_2+is+not+null&limit=20","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Run verified request","method":"GET","url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats","source":"probe","runnable":true},{"kind":"landing","label":"Read the docs","method":"GET","url":"https://data.toulouse-metropole.fr/explore/dataset/elections-europeennes-2019-resultats/","source":"docs","runnable":false}],"formats":["CSV"]},"maturity":{"entry_id":"810263b5-da5a-4047-ad68-814591915393","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":"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.toulouse-metropole.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-23T05:53:35.560Z"},"api_details":{"id":"da871297-58f7-419e-ac9c-88185514cdbd","entry_id":"810263b5-da5a-4047-ad68-814591915393","base_url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats","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.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats","created_at":"2026-07-24T23:33:01.289Z","updated_at":"2026-07-24T23:33:01.289Z"},"dataset_details":{"id":"e8187631-9ff2-48f9-87c2-cf110da94908","entry_id":"810263b5-da5a-4047-ad68-814591915393","upstream_issued":null,"upstream_modified":"2019-05-28T15:03:04.000Z","themes":[],"update_frequency":"unknown","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.toulouse-metropole.fr","created_at":"2026-07-24T23:42:03.027Z","updated_at":"2026-10-20T10:42:33.657Z","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":"6d55b044-4776-458b-9cf1-d8551170fb26","entry_id":"810263b5-da5a-4047-ad68-814591915393","status":"VERIFIED","last_checked_at":"2026-10-21T12:18:05.505Z","p50_latency_ms":994,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-07-24T23:35:44.617Z","updated_at":"2026-10-21T12:18:05.505Z","consecutive_successes":2,"probe_url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats","probe_method":"GET","probe_http_status":200,"probe_content_type":"application/json; charset=utf-8","probe_succeeded_at":"2026-10-21T12:18:05.505Z"},"data_profile":{"id":"354fe4e0-975b-4941-a5f4-3b485c9c0388","entry_id":"810263b5-da5a-4047-ad68-814591915393","profile_source":"opendatasoft","profile_kind":"dataset","dataset_id":"elections-europeennes-2019-resultats","fields":[{"name":"column_1","type":"int","label":"Sequence","fill_pct":100,"filterable":true,"description":"Numéro de séquence incrémenté par ligne de 1 à n","description_en":"Sequence number incremented by row, from 1 to n."},{"name":"column_2","type":"text","label":"Type","fill_pct":100,"filterable":true,"description":"Type d'élection : \"ER\" pour les Européennes","description_en":"Election type code, \"ER\" for European elections."},{"name":"column_3","type":"text","label":"Année","fill_pct":100,"filterable":true,"description":"Année de l'élection : \"2019\"","description_en":"Election year, \"2019\"."},{"name":"column_4","type":"int","label":"Tour","fill_pct":100,"filterable":true,"description":"Numéro du tour : \"1\" pour le 1er tour, \"2\" pour le 2ème tour","description_en":"Round number: 1 for first round, 2 for second round."},{"name":"column_5","type":"int","label":"Département","fill_pct":100,"filterable":true,"description":"Code du département : \"31\" pour la Haute-Garonne","description_en":"Department code, \"31\" for Haute-Garonne."},{"name":"column_6","type":"int","label":"Commune","fill_pct":100,"filterable":true,"description":"Code INSEE de la commune : \"555\" pour Toulouse","description_en":"INSEE code of the municipality, \"555\" for Toulouse."},{"name":"column_7","type":"text","label":"Numéro du bureau","fill_pct":100,"filterable":true,"description":"\"0001\" à \"0256\", 7 bureaux ont une lettre accolée, exemple : 0069A","description_en":"Polling station number, e.g. \"0001\" to \"0256\", some with a letter suffix."},{"name":"column_8","type":"int","label":"Code canton","fill_pct":100,"filterable":true,"description":"\"15\" pour Toulouse I\n\"16\" pour Toulouse II\n\"17\" pour Toulouse III\n\"18\" pour Toulouse IV\n\"19\" pour Toulouse V\n\"10\" pour Toulouse VI\n\"21\" pour Toulouse VII\n\"22\" pour Toulouse VIII\n\"23\" pour Toulouse IX\n\"24\" pour Toulouse X\n\"25\" pour Toulouse XI","description_en":"Canton code identifying the Toulouse canton."},{"name":"column_9","type":"text","label":"Code circonscription","fill_pct":100,"filterable":true,"description":"\"01\" pour circonscription 1\n\"02\" pour circonscription 2\n\"03\" pour circonscription 3\n\"05\" pour circonscription 5\n\"09\" pour circonscription 9\n","description_en":"Constituency (circonscription) code."},{"name":"column_10","type":"text","label":"Indicatif","fill_pct":100,"filterable":true,"description":"Indicatif","description_en":"Reference or call sign for the polling station."},{"name":"column_11","type":"int","label":"Nombre d'inscrits","fill_pct":100,"filterable":true,"description":"Nombre d'inscrits","description_en":"Number of registered voters."},{"name":"column_12","type":"int","label":"Nombre d'abstentions","fill_pct":100,"filterable":true,"description":"Nombre d'abstentions","description_en":"Number of abstentions."},{"name":"column_13","type":"int","label":"Nombre de votants","fill_pct":100,"filterable":true,"description":"Nombre de votants","description_en":"Number of voters who cast a ballot."},{"name":"column_14","type":"int","label":"Nombre de votants d'après les feuilles d'émargement","fill_pct":100,"filterable":true,"description":"Nombre de votants d'après les feuilles d'émargement","description_en":"Number of voters according to the sign-in sheets."},{"name":"column_15","type":"int","label":"Nombre de bulletins blancs","fill_pct":100,"filterable":true,"description":"Nombre de bulletins blancs","description_en":"Number of blank ballots."},{"name":"column_16","type":"int","label":"Nombre de bulletins nuls","fill_pct":100,"filterable":true,"description":"Nombre de bulletins nuls","description_en":"Number of invalid (null) ballots."},{"name":"column_17","type":"int","label":"Nombre d'exprimés","fill_pct":100,"filterable":true,"description":"Nombre d'exprimés","description_en":"Number of valid votes cast."},{"name":"column_18","type":"int","label":"Nombre de candidats","fill_pct":100,"filterable":true,"description":"Nombre de candidats","description_en":"Number of candidate lists standing."},{"name":"column_19","type":"text","label":"Code dépôt Liste 1","fill_pct":100,"filterable":true,"description":"LA FRANCE INSOUMISE","description_en":"Filing code for List 1, \"La France Insoumise\"."},{"name":"column_20","type":"int","label":"Nombre de voix Liste 1","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 1","description_en":"Number of votes for List 1."},{"name":"column_21","type":"text","label":"Code dépôt Liste 2","fill_pct":100,"filterable":true,"description":"UNE FRANCE ROYALE AU COEUR DE L'EUROPE","description_en":"Filing code for List 2, \"Une France Royale Au Coeur De L'Europe\"."},{"name":"column_22","type":"int","label":"Nombre de voix Liste 2","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 2","description_en":"Number of votes for List 2."},{"name":"column_23","type":"text","label":"Code dépôt Liste 3","fill_pct":100,"filterable":true,"description":"LA LIGNE CLAIRE","description_en":"Filing code for List 3, \"La Ligne Claire\"."},{"name":"column_24","type":"int","label":"Nombre de voix Liste 3","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 3","description_en":"Number of votes for List 3."},{"name":"column_25","type":"text","label":"Code dépôt Liste 4","fill_pct":100,"filterable":true,"description":"PARTI PIRATE","description_en":"Filing code for List 4, \"Parti Pirate\"."},{"name":"column_26","type":"int","label":"Nombre de voix Liste 4","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 4","description_en":"Number of votes for List 4."},{"name":"column_27","type":"text","label":"Code dépôt Liste 5","fill_pct":100,"filterable":true,"description":"RENAISSANCE SOUTENUE PAR LA RÉPUBLIQUE EN MARCHE, LE MODEM ET SES PARTENAIRES","description_en":"Filing code for List 5, \"Renaissance\" list."},{"name":"column_28","type":"int","label":"Nombre de voix Liste 5","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 5","description_en":"Number of votes for List 5."},{"name":"column_29","type":"text","label":"Code dépôt Liste 6","fill_pct":100,"filterable":true,"description":"DÉMOCRATIE REPRÉSENTATIVE","description_en":"Filing code for List 6, \"Démocratie Représentative\"."},{"name":"column_30","type":"int","label":"Nombre de voix Liste 6","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 6","description_en":"Number of votes for List 6."},{"name":"column_31","type":"text","label":"Code dépôt Liste 7","fill_pct":100,"filterable":true,"description":"ENSEMBLE PATRIOTES ET GILETS JAUNES : POUR LA FRANCE, SORTONS DE L'UNION EUROPÉENNE !","description_en":"Filing code for List 7, \"Ensemble Patriotes Et Gilets Jaunes\"."},{"name":"column_32","type":"int","label":"Nombre de voix Liste 7","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 7","description_en":"Number of votes for List 7."},{"name":"column_33","type":"text","label":"Code dépôt Liste 8","fill_pct":100,"filterable":true,"description":"PACE - PARTI DES CITOYENS EUROPÉENS","description_en":"Filing code for List 8, \"PACE - Parti Des Citoyens Européens\"."},{"name":"column_34","type":"int","label":"Nombre de voix Liste 8","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 8","description_en":"Number of votes for List 8."},{"name":"column_35","type":"text","label":"Code dépôt Liste 9","fill_pct":100,"filterable":true,"description":"URGENCE ÉCOLOGIE","description_en":"Filing code for List 9, \"Urgence Écologie\"."},{"name":"column_36","type":"int","label":"Nombre de voix Liste 9","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 9","description_en":"Number of votes for List 9."},{"name":"column_37","type":"text","label":"Code dépôt Liste 10","fill_pct":100,"filterable":true,"description":"LISTE DE LA RECONQUÊTE","description_en":"Filing code for List 10, \"Liste De La Reconquête\"."},{"name":"column_38","type":"int","label":"Nombre de voix Liste 10","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 10","description_en":"Number of votes for List 10."},{"name":"column_39","type":"text","label":"Code dépôt Liste 11","fill_pct":100,"filterable":true,"description":"LES EUROPÉENS","description_en":"Filing code for List 11, \"Les Européens\"."},{"name":"column_40","type":"int","label":"Nombre de voix Liste 11","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 11","description_en":"Number of votes for List 11."},{"name":"column_41","type":"text","label":"Code dépôt Liste 12","fill_pct":100,"filterable":true,"description":"ENVIE D'EUROPE ÉCOLOGIQUE ET SOCIALE","description_en":"Filing code for List 12, \"Envie D'Europe Écologique Et Sociale\"."},{"name":"column_42","type":"int","label":"Nombre de voix Liste 12","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 12","description_en":"Number of votes for List 12."},{"name":"column_43","type":"text","label":"Code dépôt Liste 13","fill_pct":100,"filterable":true,"description":"PARTI FÉDÉRALISTE EUROPÉEN - POUR UNE EUROPE QUI PROTÈGE SES CITOYENS","description_en":"Filing code for List 13, \"Parti Fédéraliste Européen\" list."},{"name":"column_44","type":"int","label":"Nombre de voix Liste 13","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 13","description_en":"Number of votes for List 13."},{"name":"column_45","type":"text","label":"Code dépôt Liste 14","fill_pct":100,"filterable":true,"description":"MOUVEMENT POUR L'INITIATIVE CITOYENNE","description_en":"Filing code for List 14, \"Mouvement Pour L'Initiative Citoyenne\"."},{"name":"column_46","type":"int","label":"Nombre de voix Liste 14","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 14","description_en":"Number of votes for List 14."},{"name":"column_47","type":"text","label":"Code dépôt Liste 15","fill_pct":100,"filterable":true,"description":"LE COURAGE DE DÉFENDRE LES FRANÇAIS AVEC NICOLAS DUPONT-AIGNAN. DEBOUT LA FRANCE ! - CNIP","description_en":"Filing code for List 15, Nicolas Dupont-Aignan's list."},{"name":"column_48","type":"int","label":"Nombre de voix Liste 15","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 15","description_en":"Number of votes for List 15."},{"name":"column_49","type":"text","label":"Code dépôt Liste 16","fill_pct":100,"filterable":true,"description":"ALLONS ENFANTS","description_en":"Filing code for List 16, \"Allons Enfants\"."},{"name":"column_50","type":"int","label":"Nombre de voix Liste 16","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 16","description_en":"Number of votes for List 16."},{"name":"column_51","type":"text","label":"Code dépôt Liste 17","fill_pct":100,"filterable":true,"description":"DÉCROISSANCE 2019","description_en":"Filing code for List 17, \"Décroissance 2019\"."},{"name":"column_52","type":"int","label":"Nombre de voix Liste 17","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 17","description_en":"Number of votes for List 17."},{"name":"column_53","type":"text","label":"Code dépôt Liste 18","fill_pct":100,"filterable":true,"description":"LUTTE OUVRIÈRE - CONTRE LE GRAND CAPITAL, LE CAMP DES TRAVAILLEURS","description_en":"Filing code for List 18, \"Lutte Ouvrière\" list."},{"name":"column_54","type":"int","label":"Nombre de voix Liste 18","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 18","description_en":"Number of votes for List 18."},{"name":"column_55","type":"text","label":"Code dépôt Liste 19","fill_pct":100,"filterable":true,"description":"POUR L'EUROPE DES GENS CONTRE L'EUROPE DE L'ARGENT","description_en":"Filing code for List 19, \"Pour L'Europe Des Gens Contre L'Europe De L'Argent\"."},{"name":"column_56","type":"int","label":"Nombre de voix Liste 19","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 19","description_en":"Number of votes for List 19."},{"name":"column_57","type":"text","label":"Code dépôt Liste 20","fill_pct":100,"filterable":true,"description":"ENSEMBLE POUR LE FREXIT","description_en":"Filing code for List 20, \"Ensemble Pour Le Frexit\"."},{"name":"column_58","type":"int","label":"Nombre de voix Liste 20","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 20","description_en":"Number of votes for List 20."},{"name":"column_59","type":"text","label":"Code dépôt Liste 21","fill_pct":100,"filterable":true,"description":"LISTE CITOYENNE DU PRINTEMPS EUROPÉEN AVEC BENOÎT HAMON SOUTENUE PAR GÉNÉRATION.S ET DÈME-DIEM 25","description_en":"Filing code for List 21, Benoît Hamon's citizen list."},{"name":"column_60","type":"int","label":"Nombre de voix Liste 21","fill_pct":100,"filterable":true,"description":"Nombre de voix Liste 21","description_en":"Number of votes for List 21."},{"name":"column_61","type":"text","label":"Code dépôt Liste 22","filterable":true,"description":"À VOIX ÉGALES","description_en":"Filing code for List 22, \"À Voix Égales\"."},{"name":"column_62","type":"int","label":"Nombre de voix Liste 22","filterable":true,"description":"Nombre de voix Liste 22","description_en":"Number of votes for List 22."},{"name":"column_63","type":"text","label":"Code dépôt Liste 23","filterable":true,"description":"PRENEZ LE POUVOIR, LISTE SOUTENUE PAR MARINE LE PEN","description_en":"Filing code for List 23, list supported by Marine Le Pen."},{"name":"column_64","type":"int","label":"Nombre de voix Liste 23","filterable":true,"description":"Nombre de voix Liste 23","description_en":"Number of votes for List 23."},{"name":"column_65","type":"text","label":"Code dépôt Liste 24","filterable":true,"description":"NEUTRE ET ACTIF","description_en":"Filing code for List 24, \"Neutre Et Actif\"."},{"name":"column_66","type":"int","label":"Nombre de voix Liste 24","filterable":true,"description":"Nombre de voix Liste 24","description_en":"Number of votes for List 24."},{"name":"column_67","type":"text","label":"Code dépôt Liste 25","filterable":true,"description":"PARTI RÉVOLUTIONNAIRE COMMUNISTES","description_en":"Filing code for List 25, \"Parti Révolutionnaire Communistes\"."},{"name":"column_68","type":"int","label":"Nombre de voix Liste 25","filterable":true,"description":"Nombre de voix Liste 25","description_en":"Number of votes for List 25."},{"name":"column_69","type":"text","label":"Code dépôt Liste 26","filterable":true,"description":"ESPÉRANTO - LANGUE COMMUNE ÉQUITABLE POUR L'EUROPE","description_en":"Filing code for List 26, \"Espéranto\" list."},{"name":"column_70","type":"int","label":"Nombre de voix Liste 26","filterable":true,"description":"Nombre de voix Liste 26","description_en":"Number of votes for List 26."},{"name":"column_71","type":"text","label":"Code dépôt Liste 27","filterable":true,"description":"ÉVOLUTION CITOYENNE","description_en":"Filing code for List 27, \"Évolution Citoyenne\"."},{"name":"column_72","type":"int","label":"Nombre de voix Liste 27","filterable":true,"description":"Nombre de voix Liste 27","description_en":"Number of votes for List 27."},{"name":"column_73","type":"text","label":"Code dépôt Liste 28","filterable":true,"description":"ALLIANCE JAUNE, LA RÉVOLTE PAR LE VOTE","description_en":"Filing code for List 28, \"Alliance Jaune\" list."},{"name":"column_74","type":"int","label":"Nombre de voix Liste 28","filterable":true,"description":"Nombre de voix Liste 28","description_en":"Number of votes for List 28."},{"name":"column_75","type":"text","label":"Code dépôt Liste 29","filterable":true,"description":"UNION DE LA DROITE ET DU CENTRE","description_en":"Filing code for List 29, \"Union De La Droite Et Du Centre\"."},{"name":"column_76","type":"int","label":"Nombre de voix Liste 29","filterable":true,"description":"Nombre de voix Liste 29","description_en":"Number of votes for List 29."},{"name":"column_77","type":"text","label":"Code dépôt Liste 30","filterable":true,"description":"EUROPE ÉCOLOGIE","description_en":"Filing code for List 30, \"Europe Écologie\"."},{"name":"column_78","type":"int","label":"Nombre de voix Liste 30","filterable":true,"description":"Nombre de voix Liste 30","description_en":"Number of votes for List 30."},{"name":"column_79","type":"text","label":"Code dépôt Liste 31","filterable":true,"description":"PARTI ANIMALISTE","description_en":"Filing code for List 31, \"Parti Animaliste\"."},{"name":"column_80","type":"int","label":"Nombre de voix Liste 31","filterable":true,"description":"Nombre de voix Liste 31","description_en":"Number of votes for List 31."},{"name":"column_81","type":"text","label":"Code dépôt Liste 32","filterable":true,"description":"LES OUBLIÉS DE L'EUROPE - ARTISANS, COMMERÇANTS, PROFESSIONS LIBÉRALES ET INDÉPENDANTS - ACPLI -","description_en":"Filing code for List 32, \"Les Oubliés De L'Europe\" list."},{"name":"column_82","type":"int","label":"Nombre de voix Liste 32","filterable":true,"description":"Nombre de voix Liste 32","description_en":"Number of votes for List 32."},{"name":"column_83","type":"text","label":"Code dépôt Liste 33","filterable":true,"description":"UDLEF (UNION DÉMOCRATIQUE POUR LA LIBERTÉ ÉGALITÉ FRATERNITÉ)\n","description_en":"Filing code for List 33, \"UDLEF\" list."},{"name":"column_84","type":"int","label":"Nombre de voix Liste 33","filterable":true,"description":"Nombre de voix Liste 33","description_en":"Number of votes for List 33."},{"name":"column_85","type":"text","label":"Code dépôt Liste 34","filterable":true,"description":"UNE EUROPE AU SERVICE DES PEUPLES","description_en":"Filing code for List 34, \"Une Europe Au Service Des Peuples\"."},{"name":"column_86","type":"int","label":"Nombre de voix Liste 34","filterable":true,"description":"Nombre de voix Liste 34","description_en":"Number of votes for List 34."},{"name":"procurations","type":"int","label":null,"filterable":true,"description":"Nombre de procurations","description_en":"Number of votes cast by proxy."}],"field_count":87,"sample_records":[{"column_1":34,"column_2":"ER","column_3":"2019","column_4":1,"column_5":31,"column_6":555,"column_7":"0034","column_8":18,"column_9":"01","column_10":"I","column_11":716,"column_12":325,"column_13":391,"column_14":391,"column_15":3,"column_16":1,"column_17":387,"column_18":34,"column_19":"017","column_20":28,"column_21":"008","column_22":0,"column_23":"033","column_24":0,"column_25":"035","column_26":1,"column_27":"019","column_28":122,"column_29":"028","column_30":0,"column_31":"023","column_32":2,"column_33":"006","column_34":0,"column_35":"007","column_36":7,"column_37":"027","column_38":0,"column_39":"011","column_40":3,"column_41":"022","column_42":30,"column_43":"025","column_44":0,"column_45":"014","column_46":0,"column_47":"024","column_48":7,"column_49":"012","column_50":0,"column_51":"016","column_52":0,"column_53":"004","column_54":0,"column_55":"003","column_56":7,"column_57":"020","column_58":5,"column_59":"018","column_60":11,"column_61":"029","column_62":0,"column_63":"005","column_64":20,"column_65":"032","column_66":0,"column_67":"030","column_68":0,"column_69":"015","column_70":0,"column_71":"031","column_72":0,"column_73":"021","column_74":0,"column_75":"013","column_76":51,"column_77":"010","column_78":89,"column_79":"009","column_80":4,"column_81":"002","column_82":0,"column_83":"026","column_84":0,"column_85":"034","column_86":0,"procurations":12},{"column_1":127,"column_2":"ER","column_3":"2019","column_4":1,"column_5":31,"column_6":555,"column_7":"0123","column_8":15,"column_9":"04","column_10":"I","column_11":1027,"column_12":512,"column_13":515,"column_14":516,"column_15":6,"column_16":5,"column_17":504,"column_18":34,"column_19":"017","column_20":68,"column_21":"008","column_22":0,"column_23":"033","column_24":0,"column_25":"035","column_26":4,"column_27":"019","column_28":107,"column_29":"028","column_30":0,"column_31":"023","column_32":0,"column_33":"006","column_34":0,"column_35":"007","column_36":3,"column_37":"027","column_38":0,"column_39":"011","column_40":7,"column_41":"022","column_42":53,"column_43":"025","column_44":0,"column_45":"014","column_46":0,"column_47":"024","column_48":5,"column_49":"012","column_50":1,"column_51":"016","column_52":0,"column_53":"004","column_54":1,"column_55":"003","column_56":11,"column_57":"020","column_58":9,"column_59":"018","column_60":28,"column_61":"029","column_62":0,"column_63":"005","column_64":78,"column_65":"032","column_66":0,"column_67":"030","column_68":0,"column_69":"015","column_70":0,"column_71":"031","column_72":0,"column_73":"021","column_74":2,"column_75":"013","column_76":30,"column_77":"010","column_78":90,"column_79":"009","column_80":7,"column_81":"002","column_82":0,"column_83":"026","column_84":0,"column_85":"034","column_86":0,"procurations":11},{"column_1":114,"column_2":"ER","column_3":"2019","column_4":1,"column_5":31,"column_6":555,"column_7":"0111","column_8":20,"column_9":"04","column_10":"I","column_11":774,"column_12":370,"column_13":404,"column_14":404,"column_15":5,"column_16":3,"column_17":396,"column_18":34,"column_19":"017","column_20":27,"column_21":"008","column_22":0,"column_23":"033","column_24":0,"column_25":"035","column_26":1,"column_27":"019","column_28":106,"column_29":"028","column_30":0,"column_31":"023","column_32":4,"column_33":"006","column_34":0,"column_35":"007","column_36":0,"column_37":"027","column_38":0,"column_39":"011","column_40":9,"column_41":"022","column_42":54,"column_43":"025","column_44":2,"column_45":"014","column_46":0,"column_47":"024","column_48":11,"column_49":"012","column_50":1,"column_51":"016","column_52":0,"column_53":"004","column_54":2,"column_55":"003","column_56":7,"column_57":"020","column_58":1,"column_59":"018","column_60":14,"column_61":"029","column_62":0,"column_63":"005","column_64":55,"column_65":"032","column_66":0,"column_67":"030","column_68":0,"column_69":"015","column_70":0,"column_71":"031","column_72":0,"column_73":"021","column_74":5,"column_75":"013","column_76":25,"column_77":"010","column_78":60,"column_79":"009","column_80":12,"column_81":"002","column_82":0,"column_83":"026","column_84":0,"column_85":"034","column_86":0,"procurations":11},{"column_1":255,"column_2":"ER","column_3":"2019","column_4":1,"column_5":31,"column_6":555,"column_7":"0248","column_8":25,"column_9":"03","column_10":"I","column_11":898,"column_12":411,"column_13":487,"column_14":487,"column_15":7,"column_16":3,"column_17":477,"column_18":34,"column_19":"017","column_20":43,"column_21":"008","column_22":0,"column_23":"033","column_24":0,"column_25":"035","column_26":4,"column_27":"019","column_28":119,"column_29":"028","column_30":0,"column_31":"023","column_32":0,"column_33":"006","column_34":0,"column_35":"007","column_36":10,"column_37":"027","column_38":0,"column_39":"011","column_40":9,"column_41":"022","column_42":46,"column_43":"025","column_44":0,"column_45":"014","column_46":0,"column_47":"024","column_48":8,"column_49":"012","column_50":0,"column_51":"016","column_52":0,"column_53":"004","column_54":5,"column_55":"003","column_56":8,"column_57":"020","column_58":3,"column_59":"018","column_60":16,"column_61":"029","column_62":1,"column_63":"005","column_64":59,"column_65":"032","column_66":0,"column_67":"030","column_68":0,"column_69":"015","column_70":0,"column_71":"031","column_72":0,"column_73":"021","column_74":1,"column_75":"013","column_76":40,"column_77":"010","column_78":89,"column_79":"009","column_80":13,"column_81":"002","column_82":1,"column_83":"026","column_84":1,"column_85":"034","column_86":1,"procurations":16},{"column_1":185,"column_2":"ER","column_3":"2019","column_4":1,"column_5":31,"column_6":555,"column_7":"0181","column_8":22,"column_9":"01","column_10":"I","column_11":845,"column_12":387,"column_13":458,"column_14":458,"column_15":3,"column_16":5,"column_17":450,"column_18":34,"column_19":"017","column_20":44,"column_21":"008","column_22":0,"column_23":"033","column_24":0,"column_25":"035","column_26":0,"column_27":"019","column_28":89,"column_29":"028","column_30":0,"column_31":"023","column_32":0,"column_33":"006","column_34":0,"column_35":"007","column_36":7,"column_37":"027","column_38":0,"column_39":"011","column_40":8,"column_41":"022","column_42":40,"column_43":"025","column_44":0,"column_45":"014","column_46":0,"column_47":"024","column_48":6,"column_49":"012","column_50":0,"column_51":"016","column_52":0,"column_53":"004","column_54":2,"column_55":"003","column_56":15,"column_57":"020","column_58":9,"column_59":"018","column_60":19,"column_61":"029","column_62":0,"column_63":"005","column_64":66,"column_65":"032","column_66":0,"column_67":"030","column_68":0,"column_69":"015","column_70":0,"column_71":"031","column_72":0,"column_73":"021","column_74":5,"column_75":"013","column_76":19,"column_77":"010","column_78":113,"column_79":"009","column_80":5,"column_81":"002","column_82":3,"column_83":"026","column_84":0,"column_85":"034","column_86":0,"procurations":12}],"record_count":"263","data_size_bytes":null,"dataset_count":null,"query_examples":[{"url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/records?limit=20","curl":"curl -s 'https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/records?limit=20' -H 'Accept: application/json'","label":"List records","method":"GET","description":"First 20 records of the dataset as JSON."},{"url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/records?select=column_1%2Ccolumn_2%2Ccolumn_3&where=column_2+is+not+null&limit=20","curl":"curl -s 'https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/records?select=column_1%2Ccolumn_2%2Ccolumn_3&where=column_2+is+not+null&limit=20' -H 'Accept: application/json'","label":"Select & filter","method":"GET","description":"Project specific fields (column_1, column_2, column_3) and filter with ODSQL where clauses."},{"url":"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/exports/csv","curl":"curl -sL 'https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/elections-europeennes-2019-resultats/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-20T10:42:32.451Z","run_id":"d0ab5028-3772-4023-a298-ef85ba35cd38","created_at":"2026-07-24T23:42:02.363Z","updated_at":"2026-10-20T10:42:32.451Z","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":"2d9dcbcb-3c80-4dfb-a9c3-6b02112e7c99","entry_id":"810263b5-da5a-4047-ad68-814591915393","limit_type":"requests_per_day","value":"20000","unit":"requests","period":"day","scope":"per-ip","source_id":null,"claim_type":"measured","confidence":"0.90","observed_at":"2026-10-20T10:42:33.990Z"}],"source_access":{"status":"accessed_despite_disallow","host":"data.toulouse-metropole.fr","requested_path_prefix":"/api/explore/v2.1/","robots_url":"https://data.toulouse-metropole.fr/robots.txt","user_agent_group":"*","robots_rule":"Disallow: /api/","robots_read_at":"2026-08-25T11:29:17.424Z","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":"ed7a306e3d107fbfc0a35725c686ad5707f985a070110d0de13db034886b058e","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":108,"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[] (87 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-10-23T05:54:32.926Z","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."}}