{"id":"91a08b62-0011-449e-b529-ae89e023c449","type":"DATASET","name":"Consolidated essential public procurement data (tabular format)","slug":"consolidated-essential-public-procurement-data-tabular-format-1","description":"Consolidated, reprocessed and published essential public procurement data (DDECPP) in Parquet and CSV formats. The DDECPPs are the data published under the Order of 22 December 2022, and describe the data at the time of the award of the public contract. This data is too large to be opened in spreadsheet software. On the other hand, you can explore, filter and download DDECPPs in Excel format on ddecpp.info (see overview below). These data are updated approximately every day by downloading and reprocessing the data made available by the data sources listed on this page. This dataset is for example more comprehensive than the data published by the Ministry of Finance here and here because it exploits more data sources. Source code for data processing and publication: <https://github.com/ColinMaudry/ddecpp-processing> More information on the project at ddecpp.info/a-propos ## Counting Public Procurement each public contract is identified globally via the ‘uid’ column. This field is the concatenation of the buyer's SIRET ('Buyer _id') and the internal market identifier ('id'). the same public contract can be described on several lines because it may have more than one holder (_holder fields) it may have undergone modifications such as amendments (_id modification field). If _id modification is equal to 0, this shall be the data for the initial award of the contract, without modification. a contract amendment may affect only the following fields: ‘_* holder’, ‘amount’ and ‘dureeMonth’. The fields \"dateNotification `\" and \"datePublicationDonnees\" also apply to changes (\"change.","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":null,"docs_url":null,"repo_url":"https://www.data.gouv.fr/api/1/datasets/r/9a4144c0-ee44-4dec-bee5-bbef38191d9a","status":"ACTIVE","verification_state":"STALE","tags":["procurement","legislation"],"logo_url":"https://www.google.com/s2/favicons?sz=64&domain=data.gouv.fr","primary_source_url":"https://www.data.gouv.fr/api/1/datasets/r/9a4144c0-ee44-4dec-bee5-bbef38191d9a","extraction_confidence":"0.16","created_at":"2026-06-24T18:58:11.153Z","updated_at":"2026-08-15T16:51:34.881Z","last_verified_at":"2026-08-12T12:44:23.653Z","deprecated_at":null,"ranking_score":56,"last_ranked_at":"2026-08-09T07:40:55.339Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":null,"search_vector":"'/a-propos':145B,505B '/colinmaudry/ddecpp-processing':136B,496B '0':214B,574B '2022':34B,280B,394B,640B '22':32B,278B,392B,638B 'a':589B,677B 'affect':233B,343B,593B 'affecting':703B 'also':247B,607B 'amend':204B,231B,342B 'amendment':591B 'amendments':564B,702B 'amount':239B,348B,599B,708B 'and':370B,379B,395B,428B,448B,479B,492B,531B,600B,605B,624B,653B,685B,713B 'appli':248B 'apply':608B 'approxim':83B 'approximately':443B 'are':384B,441B,697B,716B 'as':563B,706B 'at':399B,502B,643B 'avail':93B,357B 'available':453B,717B 'award':44B,223B,287B,404B,583B,647B 'be':415B,542B,577B 'because':481B,547B 'below':438B 'buyer':166B,169B,322B,526B,529B,682B 'by':446B,454B,473B,651B,667B,676B 'can':425B,541B 'chang':250B,251B 'change':611B 'changes':610B 'code':128B,352B,488B,712B 'column':158B,518B 'combin':320B 'combining':680B 'comprehens':108B,302B 'comprehensive':468B,662B 'concaten':163B 'concatenation':523B 'consolid':1A,8B,255B 'consolidated':361A,368B,615B 'contract':48B,151B,180B,226B,230B,282B,313B,334B,408B,511B,540B,586B,590B,673B,694B 'contracts':642B 'count':146B 'counting':506B 'csv':20B,265B,380B,625B 'daili':290B 'daily':650B 'data':5A,15B,26B,38B,50B,80B,91B,96B,111B,125B,130B,219B,259B,271B,297B,305B,365A,375B,386B,398B,410B,440B,451B,456B,471B,485B,490B,579B,619B,631B,657B,665B 'dataset':103B,253B,463B,613B 'datenotif':244B 'datenotification':604B 'datepublicationdonne':246B 'datepublicationdonnees':606B 'day':85B,445B 'ddecpp':16B,23B,70B,272B,376B,632B 'ddecpp.info':75B,144B,435B,504B 'ddecpp.info/a-propos':143B,503B 'ddecpps':383B,430B 'decemb':33B,279B 'december':393B,639B 'describ':36B,183B,281B,332B 'describe':396B,692B 'described':543B 'describing':641B 'document':355B 'documentation':715B 'download':69B,87B,292B,429B 'downloading':447B,652B 'drawn':267B,627B 'durat':350B 'duration':710B 'dureemonth':241B,601B 'each':509B,672B 'equal':212B,572B 'equival':304B 'equivalent':664B 'essenti':2A,12B,270B 'essential':362A,372B,630B 'everi':84B 'every':444B 'exampl':106B 'example':466B 'excel':72B,432B 'exploit':123B 'exploits':483B 'explor':66B 'explore':426B 'field':160B,196B,207B,237B,243B,344B,520B,567B 'fields':556B,597B,603B,704B 'filter':67B,427B 'financ':117B,311B 'finance':477B,671B 'follow':236B 'following':596B 'for':465B,489B,580B,620B 'format':7A,21B,73B,266B,367A,433B 'formats':381B,626B 'franc':261B 'france':621B 'from':628B 'further':714B 'github.com':135B,495B 'github.com/colinmaudry/ddecpp-processing':134B,494B 'global':154B 'globally':514B 'hand':63B,423B 'have':550B,559B 'here':478B,480B 'holder':194B,195B,238B,339B,347B,554B,555B,598B,707B 'holders':699B 'id':170B,176B,205B,209B,530B,536B,565B,569B 'identifi':153B,175B,315B,328B 'identified':513B,675B 'identifier':535B,688B 'if':568B 'in':377B,417B,431B,622B 'inform':138B 'information':498B 'initi':222B 'initial':582B 'intern':173B,326B 'internal':533B,686B 'is':411B,464B,512B,521B,571B,660B,674B 'it':482B,548B,557B,659B 'larg':53B 'large':413B 'legisl':360C 'line':186B 'lines':546B 'list':98B 'listed':458B 'made':92B,452B 'market':174B,327B,534B,687B 'may':189B,198B,232B,331B,549B,558B,592B,691B 'ministri':115B,309B 'ministry':475B,669B 'modif':201B,206B,210B,228B 'modification':566B,570B,588B 'modifications':561B 'more':467B,484B,497B,551B,661B 'multipl':295B,329B 'multiple':655B,689B 'of':391B,402B,405B,476B,524B,584B,637B,646B,670B 'offici':296B 'official':656B 'on':420B,434B,459B,499B,544B 'one':193B,333B,553B,693B 'onlin':358B 'online':718B 'only':594B 'open':56B 'opened':416B 'or':700B,709B 'order':30B,276B,390B,636B 'other':422B 'overview':77B,437B 'page':101B,461B 'parquet':18B,263B,378B,623B 'process':131B 'processing':491B 'procur':4A,14B,148B,258B,359C 'procurement':364A,374B,508B,618B 'project':141B,501B 'provid':254B 'provides':614B 'public':3A,13B,47B,133B,147B,150B,179B,257B,363A,373B,407B,507B,510B,539B,617B 'publication':493B 'publish':11B,27B,112B,273B,306B 'published':371B,387B,472B,633B,666B 'reprocess':9B,89B,256B,294B 'reprocessed':369B,616B 'reprocessing':449B,654B 'rough':289B 'roughly':649B 'row':330B 'rows':690B 's':527B,683B 'same':538B 'see':76B,436B 'sever':185B,338B 'several':545B,698B 'shall':216B,576B 'siret':168B,324B,528B,684B 'softwar':59B 'software':419B 'sourc':97B,126B,127B,298B,351B 'source':487B,711B 'sources':457B,486B,658B 'spreadsheet':58B,418B 'subsequ':341B 'subsequent':701B 'such':562B,705B 'tabular':6A,366A 'than':469B,552B,663B 'the':382B,385B,389B,397B,400B,403B,406B,421B,450B,455B,470B,474B,500B,516B,522B,525B,532B,537B,578B,581B,585B,595B,602B,629B,635B,644B,668B,681B 'there':696B 'these':439B 'this':409B,460B,462B,519B,575B,612B 'time':41B,285B,401B,645B 'to':414B,573B,609B 'too':412B 'uid':157B,319B,517B,679B 'under':388B,634B 'undergon':200B 'undergone':560B 'uniqu':318B 'unique':678B 'updat':82B,288B 'updated':442B,648B 'via':155B,515B 'where':695B 'without':227B,587B 'you':424B","popularity_score":"0.0000","maintenance_score":"0.7000","institution_id":"7abf1844-58f2-4b35-a86e-1e4a6b7652f7","institution_type":"AGENCY","country_code":"FR","official_confidence":null,"proof_summary":null,"source_seed_url":null,"is_public_sector":true,"published_at":"2026-06-24T18:58:11.153Z","geographic_scope":"NATIONAL","name_en":null,"description_en":"This dataset provides consolidated, reprocessed public procurement data for France in Parquet and CSV formats, drawn from the essential data (DDECPP) published under the Order of 22 December 2022, describing contracts at the time of award. Updated roughly daily by downloading and reprocessing multiple official data sources, it is more comprehensive than equivalent data published by the Ministry of Finance. Each contract is identified by a unique \"uid\" combining the buyer's SIRET and internal market identifier; multiple rows may describe one contract where there are several holders or subsequent amendments affecting fields such as holder, amount, or duration. Source code and further documentation are available online.","native_lang":"en","access_level":"direct","formats":[],"capability_tier":"reference","trust_score":35.83333333333333,"access":{"level":"direct","primary":{"kind":"query","label":"Run verified request","method":"GET","url":"https://www.data.gouv.fr/api/1/datasets/r/9a4144c0-ee44-4dec-bee5-bbef38191d9a","source":"probe","runnable":true},"actions":[{"kind":"query","label":"Run verified request","method":"GET","url":"https://www.data.gouv.fr/api/1/datasets/r/9a4144c0-ee44-4dec-bee5-bbef38191d9a","source":"probe","runnable":true}],"formats":[]},"maturity":{"entry_id":"91a08b62-0011-449e-b529-ae89e023c449","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":"discovered","level_index":1,"level_label":"Discovered","meaning":"Source and metadata recorded","counts_as_coverage":false,"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":false,"reached":false,"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":false,"reached":false,"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":false,"reached":false,"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":null,"proven_threshold":80,"institution_id":"7abf1844-58f2-4b35-a86e-1e4a6b7652f7","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":"www.data.gouv.fr","label":"One unit = one source family, approximated by the serving host of the entry's primary source URL (e.g. bdl.stat.gov.pl). A COMPUTED stand-in for the curated families of SCOPE.md §5, which no table holds yet. A family sits at the highest level any of its entries has reached, because a family is integrated to the depth of its deepest working integration. Never compare or combine with the entry reading."},"generated_at":"2026-08-16T14:00:08.139Z"},"api_details":null,"dataset_details":null,"license":null,"reuse":{"license_id":null,"license_name":null,"license_url":null,"commercial_use":{"status":"unknown","value":null},"redistribution":{"status":"unknown","value":null},"attribution_required":{"status":"unknown","value":null},"share_alike":{"status":"unknown","value":null},"personal_data_warning":{"status":"unknown","value":null},"cache_and_mirror":{"status":"unknown","value":null},"undetermined":["commercial_use","redistribution","attribution_required","share_alike","personal_data_warning","cache_and_mirror"],"basis":"unverified","confidence":0.1,"confidence_tier":"low","source_text":null,"source_url":null,"reviewed_at":null},"license_raw":null,"latest_check":{"id":"e25206c1-1b19-4388-918f-497eb77564d6","entry_id":"91a08b62-0011-449e-b529-ae89e023c449","status":"VERIFIED","last_checked_at":"2026-08-12T12:44:23.321Z","p50_latency_ms":4600,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-06-24T18:58:52.470Z","updated_at":"2026-08-12T12:44:23.321Z","consecutive_successes":35,"probe_url":"https://www.data.gouv.fr/api/1/datasets/r/9a4144c0-ee44-4dec-bee5-bbef38191d9a","probe_method":"GET","probe_http_status":200,"probe_content_type":"application/json","probe_succeeded_at":"2026-08-12T12:44:23.321Z"},"data_profile":{"id":"0c806ccf-e6d5-409f-8e80-073412d84e4a","entry_id":"91a08b62-0011-449e-b529-ae89e023c449","profile_source":"none","profile_kind":"dataset","dataset_id":null,"fields":null,"field_count":null,"sample_records":null,"record_count":null,"data_size_bytes":null,"dataset_count":null,"query_examples":null,"status":"unsupported","error_message":"No introspectable source detected (primary URL sniffed: not machine-readable data)","profiled_at":"2026-07-20T16:50:54.304Z","run_id":"77cfec2d-a96f-4143-9888-dc4c33cd3569","created_at":"2026-07-20T16:50:54.304Z","updated_at":"2026-07-20T16:50:54.304Z","license_raw":null,"license_id":null,"consecutive_failure_count":0,"last_error_at":null,"last_error_message":null,"previewable":false},"datasets":[],"limits":[]}