{"id":"46288642-c0ab-4c4b-a48d-7583b9ade253","type":"API","name":"TED — Contract award notices, EU-wide (Search API v3)","slug":"ted-contract-award-notices-eu","description":"Contract award notices across every EU member state over the TED Search API v3 (JSON POST) — the cross-border view alongside the France-pinned entry. Award values arrive in the buyer's own currency (EUR, PLN, CZK, SEK, …), which is what makes this a multi-CURRENCY extract: pair it with ?convert=total-value:total-value-cur:publication-date to price every row at the ECB daily reference rate that applied on that row's own publication date, with the rate and its date cited per row and rows falling on a non-trading day naming the earlier rate they used. Server-side filters are the same as the French entry (classification-cpv, buyer-country, publication-date, winner); filtering buyer-country narrows this scope rather than overriding a pin. Date-bounded because the unbounded form returns the whole archive oldest-first.","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":"https://ted.europa.eu","docs_url":"https://docs.ted.europa.eu/api/index.html","repo_url":null,"status":"ACTIVE","verification_state":"VERIFIED","tags":["public-money","procurement","europe"],"logo_url":null,"primary_source_url":"https://api.ted.europa.eu/v3/notices/search","extraction_confidence":"0.95","created_at":"2026-07-31T12:00:00.000Z","updated_at":"2026-09-17T19:45:08.892Z","last_verified_at":"2026-09-17T19:45:08.892Z","deprecated_at":null,"ranking_score":61,"last_ranked_at":"2026-09-05T12:08:07.087Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":null,"search_vector":"'a':349B,400B,442B,495B,516B 'access':168B,461B 'across':14B,173B,307B,466B 'all':467B 'alongsid':32B 'alongside':325B 'an':567B 'and':390B,396B,515B,542B,558B 'api':9A,23B,166B,185B,302A,316B,459B,478B 'appli':86B 'applic':241B 'applicable':534B 'applied':379B 'archiv':161B,280B 'archive':454B,573B 'are':415B,502B 'arriv':40B 'arrive':333B 'as':418B 'at':372B,528B 'award':3A,12B,38B,171B,207B,296A,305B,331B,464B,500B 'be':522B,562B 'because':447B 'border':30B,199B,323B,492B 'bound':153B,272B 'bounded':446B,565B 'buyer':43B,133B,141B,213B,261B,336B,426B,434B,506B,554B 'buyer-countri':132B,140B 'buyer-country':425B,433B 'by':578B 'can':521B 'cite':100B,251B 'cited':393B,544B 'classif':130B,260B 'classification':423B,553B 'classification-cpv':129B,422B 'commiss':288B 'commission':581B 'complement':200B,493B 'contract':2A,11B,170B,295A,304B,463B 'convers':226B 'conversion':519B 'convert':64B,357B 'countri':134B,142B,262B 'country':427B,435B,555B 'cpv':131B,259B,424B,552B 'cross':29B,198B,322B,491B 'cross-bord':28B,197B 'cross-border':321B,490B 'cur':71B,364B 'currenc':46B,59B,216B,225B 'currency':339B,352B,509B,518B 'currency-convers':224B 'currency-conversion':517B 'czk':49B,219B,342B,512B 'daili':82B,183B,238B 'daily':375B,476B,531B 'date':74B,93B,99B,137B,152B,245B,250B,264B,271B,367B,386B,392B,430B,445B,538B,543B,557B,564B 'date-bound':151B,270B 'date-bounded':444B,563B 'day':111B,404B 'each':526B 'earlier':114B,407B 'ecb':81B,237B,374B,530B 'electron':182B 'electronic':475B 'entri':37B,128B,206B 'entry':330B,421B,499B 'etc':221B,514B 'eu':6A,16B,175B,195B,299A,309B,468B,488B 'eu-wid':5A,194B 'eu-wide':298A,487B 'eur':47B,217B,340B,510B 'europ':293C 'european':287B,580B 'everi':15B,77B 'every':308B,370B 'extract':60B,353B 'fall':105B 'falling':398B 'filter':121B,139B,257B 'filtering':432B 'filters':414B,550B 'first':164B,283B,457B,576B 'form':157B,450B 'franc':35B,204B 'france':328B,497B 'france-pin':34B 'france-pinned':327B 'france-specif':203B 'france-specific':496B 'french':127B,420B 'full':279B,572B 'given':210B,503B 'in':334B,504B 'includ':258B 'include':551B 'is':345B 'it':355B,484B 'its':391B,536B 'json':25B,188B,318B,481B 'maintain':284B 'maintained':577B 'make':54B 'makes':347B 'member':17B,176B,310B,469B 'money':291C 'multi':58B,351B 'multi-curr':57B 'multi-currency':350B 'name':112B 'naming':405B 'narrow':143B 'narrows':436B 'non':109B,402B 'non-trad':108B 'non-trading':401B 'notic':4A,13B,172B 'notices':297A,306B,465B 'offer':192B 'offers':485B 'oldest':163B,282B,456B,575B 'oldest-first':162B,281B,455B,574B 'on':380B,399B,535B 'over':312B 'overrid':148B 'overriding':441B 'own':338B,384B,508B 'pair':61B,354B 'paramet':227B 'parameter':520B 'per':101B,252B,394B,545B 'pin':36B,150B,443B 'pinned':329B 'pln':48B,218B,341B,511B 'post':26B,189B,319B,482B 'price':76B,232B,369B,525B 'procur':292C 'provid':167B 'provides':460B 'public':73B,92B,136B,244B,263B,290C 'public-money':289C 'publication':366B,385B,429B,537B,556B 'publication-d':72B,135B 'publication-date':365B,428B 'queri':267B 'queries':560B 'rate':84B,96B,115B,240B,248B,377B,389B,408B,533B,541B 'rather':146B,439B 'refer':83B,239B 'reference':376B,532B 'request':190B,276B,569B 'requests':483B 'return':158B,277B 'returns':451B,570B 'row':78B,89B,102B,104B,234B,253B,371B,382B,395B,527B,546B 'rows':397B 's':337B,383B,507B 'same':417B 'scope':145B,438B 'search':8A,22B,184B,301A,315B,477B 'sek':50B,220B,343B,513B 'server':119B,255B,412B,548B 'server-sid':118B,254B 'server-side':411B,547B 'should':561B 'side':120B,256B,413B,549B 'sinc':273B 'since':566B 'specif':205B 'specific':498B 'state':18B,177B,311B 'states':470B 'ted':1A,21B,180B,294A,314B,473B 'tender':181B 'tenders':474B 'than':440B 'that':378B,381B 'the':313B,320B,326B,335B,373B,388B,406B,416B,419B,448B,452B,472B,486B,505B,529B,540B,571B,579B 'they':409B 'this':348B,437B,458B 'to':368B,462B,494B,524B 'total':66B,69B,359B,362B 'total-valu':65B 'total-value':358B 'total-value-cur':68B,361B 'trade':110B 'trading':403B 'unbound':156B,275B 'unbounded':449B,568B 'use':117B,187B,230B 'used':410B,523B 'using':480B 'v3':10A,24B,186B,303A,317B,479B 'valu':39B,67B,70B,208B 'value':360B,363B 'values':332B,501B 'via':178B,471B 'view':31B,324B 'what':346B 'which':344B 'whole':160B,453B 'wide':7A,196B,300A,489B 'winner':138B,266B,431B,559B 'with':356B,387B,539B","popularity_score":"0.0000","maintenance_score":"0.7000","institution_id":"9389c883-d002-49ab-97fd-b0185412535b","institution_type":"GOVERNMENT","country_code":"EU","official_confidence":95,"proof_summary":"Official TED Search API v3; live probe 2026-08-03 of notice-type=can-standard AND publication-date>=20260101 returned 25 notices across 11 member states carrying EUR, PLN and CZK award values","source_seed_url":null,"is_public_sector":true,"published_at":"2026-07-31T12:00:00.000Z","geographic_scope":"EUROPEAN","name_en":null,"description_en":"This API provides access to contract award notices across all EU member states via the TED (Tenders Electronic Daily) Search API v3, using JSON POST requests. It offers the EU-wide cross-border complement to a France-specific entry. Award values are given in the buyer's own currency (EUR, PLN, CZK, SEK, etc.), and a currency-conversion parameter can be used to price each row at the ECB daily reference rate applicable on its publication date, with the rate and date cited per row. Server-side filters include CPV classification, buyer country, publication date, and winner. Queries should be date-bounded, since an unbounded request returns the full archive oldest-first. Maintained by the European Commission.","native_lang":"en","access_level":"direct","formats":[],"capability_tier":"live","trust_score":81.5,"merged_into_entry_id":null,"identity_key":"API|https://api.ted.europa.eu/v3/notices/search|ted — contract award notices, eu-wide (search api v3)","upstream_ref":null,"access":{"level":"direct","primary":{"kind":"query","label":"Search notices (expert query, JSON POST)","method":"GET","url":"https://api.ted.europa.eu/v3/notices/search","source":"query_example","runnable":true,"direct":true},"actions":[{"kind":"query","label":"Search notices (expert query, JSON POST)","method":"GET","url":"https://api.ted.europa.eu/v3/notices/search","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Documentation","method":"GET","url":"https://docs.ted.europa.eu/api/latest/index.html","source":"query_example","runnable":true,"direct":false},{"kind":"landing","label":"Read the docs","method":"GET","url":"https://docs.ted.europa.eu/api/index.html","source":"docs","runnable":false},{"kind":"landing","label":"Visit homepage","method":"GET","url":"https://ted.europa.eu","source":"homepage","runnable":false}],"formats":[]},"maturity":{"entry_id":"46288642-c0ab-4c4b-a48d-7583b9ade253","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":"joinable","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":true,"reached":false,"criterion":"EXISTS (SELECT 1 FROM evidence_manifests em WHERE em.entry_id = entries.id)"},{"level":"guaranteed","level_index":7,"label":"Guaranteed","meaning":"Monitored against an operational reliability target","evidence":"an active reliability target with a named monitor (migration 096)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_reliability_targets rt WHERE rt.entry_id = entries.id AND rt.is_active = true)"}],"officialness":{"basis":"per_item_proven","label":"Proven for this item: its own proof signals scored >= 80 AND it matched a registered public institution, so it would have been APPROVED on its own evidence.","proof_confidence":95,"proven_threshold":80,"institution_id":"9389c883-d002-49ab-97fd-b0185412535b","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":"api.ted.europa.eu","label":"One unit = one source family, approximated by the serving host of the entry's primary source URL (e.g. bdl.stat.gov.pl). A COMPUTED stand-in for the curated families of SCOPE.md §5, which no table holds yet. A family sits at the highest level any of its entries has reached, because a family is integrated to the depth of its deepest working integration. Never compare or combine with the entry reading."},"generated_at":"2026-09-18T00:32:37.615Z"},"api_details":null,"dataset_details":null,"license":{"id":"cc-by-4.0","spdx_id":"CC-BY-4.0","name":"Creative Commons Attribution 4.0","url":"https://creativecommons.org/licenses/by/4.0/","is_open":true,"is_redistributable":true,"requires_attribution":true,"category":"cc","notes":null,"created_at":"2026-06-12T16:29:19.729Z"},"reuse":{"license_id":"cc-by-4.0","license_name":"Creative Commons Attribution 4.0","license_url":"https://creativecommons.org/licenses/by/4.0/","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":"Deed: \"Share - copy and redistribute the material in any medium or format for any purpose, even commercially\" and \"Adapt - remix, transform, and build upon the material for any purpose, even commercially\". Under the following terms: \"Attribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made.\" Notices: \"other rights such as publicity, privacy, or moral rights may limit how you use the material.\" Attribution is the only term listed; no ShareAlike term appears.","source_url":"https://creativecommons.org/licenses/by/4.0/","reviewed_at":null},"license_raw":"CC BY 4.0 (TED — Commission Decision 2011/833/EU)","latest_check":{"id":"07c5bc72-c17a-4a8a-8f49-c354f969ef6b","entry_id":"46288642-c0ab-4c4b-a48d-7583b9ade253","status":"VERIFIED","last_checked_at":"2026-09-17T19:45:08.599Z","p50_latency_ms":5342,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-08-03T17:37:30.947Z","updated_at":"2026-09-17T19:45:08.599Z","consecutive_successes":175,"probe_url":"https://api.ted.europa.eu/v3/notices/search","probe_method":"POST","probe_http_status":200,"probe_content_type":"application/json","probe_succeeded_at":"2026-09-17T19:45:08.599Z"},"data_profile":{"id":"bc8b7708-f704-406d-ab67-4e501f5b3bd8","entry_id":"46288642-c0ab-4c4b-a48d-7583b9ade253","profile_source":"ted","profile_kind":"dataset","dataset_id":null,"fields":[{"name":"classification-cpv","role":"parameter","type":"text","label":null,"param_in":"query","description":"CPV code (Common Procurement Vocabulary) of the contract, e.g. 85310000. Server-side filter with HIERARCHICAL matching, not exact: filtering 72000000 also returns notices whose lot CPVs are descendants like 72267000 (verified live 2026-07-31). Joins the register's CPV code lane. Per-lot values are joined with '; ' in result rows.","description_en":"CPV code(s) classifying the contract's subject matter; multiple lot codes joined with '; '."},{"name":"buyer-country","role":"parameter","type":"text","label":null,"param_in":"query","description":"Buyer country, ISO 3166-1 alpha-3 (e.g. FRA). Pinned by this entry's scope so corpus totals stay honest; filtering it overrides the pin.","description_en":"Buyer's country as an ISO 3166-1 alpha-3 code."},{"name":"notice-type","role":"parameter","type":"text","label":null,"param_in":"query","description":"TED notice type (e.g. can-standard = contract award notice). This entry's scope pins can-standard — the award notices that carry winners and values.","description_en":"TED notice type code, e.g. can-standard for contract award notices."},{"name":"publication-date","role":"parameter","type":"text","label":null,"format":"date","param_in":"query","description":"Publication date in the Official Journal supplement. Filter with =, >= or <= and a YYYYMMDD (or YYYY-MM-DD) value, e.g. publication-date>=20260601.","description_en":"Date the notice was published in the Official Journal supplement."},{"name":"buyer-name","role":"parameter","type":"text","label":null,"param_in":"query","description":"Contracting authority name (multilingual upstream; exact-match filter).","description_en":"Name of the contracting authority."},{"name":"buyer-identifier","role":"parameter","type":"text","label":null,"param_in":"query","description":"Buyer registration identifier as published (SIREN/SIRET on French notices, space-separated). Exact-match filter, space-preserving.","description_en":"Buyer's registration identifier as published, e.g. SIREN/SIRET."},{"name":"winner-name","role":"parameter","type":"text","label":null,"param_in":"query","description":"Awarded supplier name (per-lot upstream; exact-match filter).","description_en":"Name of the supplier(s) awarded the contract."},{"name":"winner-identifier","role":"parameter","type":"text","label":null,"param_in":"query","description":"Winner registration identifier as published (SIREN/SIRET on ~half of French awards; the rest are eSender-internal ids — see winner-id-tier). Exact-match filter, space-preserving: winner-identifier=\"788 264 331\".","description_en":"Winner's registration identifier as published, e.g. SIREN/SIRET or eSender id."},{"name":"publication-number","role":"parameter","type":"text","label":null,"param_in":"query","description":"TED's own notice identifier (e.g. 370731-2026). Exact-match filter.","description_en":"TED's unique identifier for the notice."},{"name":"total-value","role":"field","type":"number","label":null,"param_in":null,"description":"Total contract award value (in total-value-cur).","description_en":"Total awarded contract value, in the currency given by total-value-cur."},{"name":"total-value-cur","role":"field","type":"text","label":null,"param_in":null,"description":"Currency of total-value, ISO 4217 (e.g. EUR).","description_en":"ISO 4217 currency code of the total contract value."},{"name":"winner-id-tier","role":"field","type":"text","label":null,"param_in":null,"description":"Entity-resolution tier, derived: 'verified-id' when a winner identifier normalises to SIREN/SIRET (strip spaces, 9 or 14 digits), 'name-only' when a winner is named without a registry-shaped id, empty when the notice carries no winner. Measured 50/100 verified on FR awards (2026-07-31).","description_en":"Derived tag indicating whether the winner has a verified registry id, name only, or none."},{"name":"notice-url","role":"field","type":"text","label":null,"format":"uri","param_in":null,"description":"Canonical TED notice page (HTML, English route when published).","description_en":"Link to the canonical TED notice page."}],"field_count":13,"sample_records":[{"buyer-name":"Ministarstvo mora, prometa i infrastrukture","notice-url":"https://ted.europa.eu/en/notice/-/detail/1-2026","notice-type":"can-standard","total-value":385133,"winner-name":"SPLENDOR tekstil d.o.o.; RIO BIZ d. o. o.; GALEB d.d.; Armis d.o.o.; ŠEŠIR d.o.o.","buyer-country":"HRV","winner-id-tier":"name-only","total-value-cur":"EUR","buyer-identifier":"22874515170","publication-date":"2026-01-02+01:00","winner-identifier":"89430708886; 74554924553; 05483365699; 45005463104; 21943362099","classification-cpv":"18100000; 18800000","publication-number":"1-2026"},{"buyer-name":"Charité - Universitätsmedizin Berlin","notice-url":"https://ted.europa.eu/en/notice/-/detail/2-2026","notice-type":"can-standard","total-value":0.01,"winner-name":"GO2-markets GmbH","buyer-country":"DEU","winner-id-tier":"name-only","total-value-cur":"EUR","buyer-identifier":"98005_10000000","publication-date":"2026-01-02+01:00","winner-identifier":"98027_10002875","classification-cpv":"09310000","publication-number":"2-2026"},{"buyer-name":"Lohjan kaupunki","notice-url":"https://ted.europa.eu/en/notice/-/detail/3-2026","notice-type":"can-standard","total-value":8082,"winner-name":"Tilausliikenne Lohja Oy; Salon Tilausmatkat Oy; J. Vainion Liikenne Oy; M. Tervo Oy","buyer-country":"FIN","winner-id-tier":"name-only","total-value-cur":"EUR","buyer-identifier":"1068322-0","publication-date":"2026-01-02+01:00","winner-identifier":"0130786-4; 1091022-7; 0139506-7; FI16397022","classification-cpv":"60100000","publication-number":"3-2026"},{"buyer-name":"Vilniaus universitetas (PV)","notice-url":"https://ted.europa.eu/en/notice/-/detail/5-2026","notice-type":"can-standard","total-value":83490,"winner-name":"UAB “Miobius”","buyer-country":"LTU","winner-id-tier":"verified-id","total-value-cur":"EUR","buyer-identifier":"211950810","publication-date":"2026-01-02+01:00","winner-identifier":"305284792","classification-cpv":"30213100; 30213300; 30213200; 30237100; 32250000","publication-number":"5-2026"},{"buyer-name":"COMMUNAUTE d'AGGLOMERATION DU PAYS DE L'OR","notice-url":"https://ted.europa.eu/en/notice/-/detail/6-2026","notice-type":"can-standard","total-value":2892184,"winner-name":"SYSCO FRANCE SAS; POMONA EPISAVEURS; DISTRISUD; ETABLISSEMENTS PLO PRIMEURS; LANGUEDOC LOZERE VIANDE; LE FRIBOUL; POMONA; Biocoop Restauration; JULIEN NOUGARET; VERT'VEINE; EARL Tommy Maire; Pain et Partage Montpellier","buyer-country":"FRA","winner-id-tier":"name-only","total-value-cur":"EUR","buyer-identifier":"1185","publication-date":"2026-01-02+01:00","winner-identifier":"22003-1-1-1; 22003-1-2-1; 22003-1-3-1; 22003-1-4-1; 22003-1-5-1; 22003-1-6-1; 22003-1-7-1; 22003-1-8-1; 22003-1-9-1; 22003-1-10-1; 22003-1-11-1; 22003-1-12-1; 22003-1-13-1; 22003-1-14-1","classification-cpv":"38343000; 15800000; 15896000; 15500000; 15331100; 15110000; 03142500; 15131120; 15810000; 15540000; 15300000; 15100000","publication-number":"6-2026"},{"buyer-name":"10 Wojskowy Szpital Kliniczny z Polikliniką Samodzielny Publiczny Zakład Opieki Zdrowotnej","notice-url":"https://ted.europa.eu/en/notice/-/detail/7-2026","notice-type":"can-standard","total-value":363622,"winner-name":"KAMSOFT S.A.","buyer-country":"POL","winner-id-tier":"name-only","total-value-cur":"PLN","buyer-identifier":"090538318","publication-date":"2026-01-02+01:00","winner-identifier":"9542685559","classification-cpv":"72000000","publication-number":"7-2026"},{"buyer-name":"Uniwersytet Medyczny w Lublinie","notice-url":"https://ted.europa.eu/en/notice/-/detail/11-2026","notice-type":"can-standard","total-value":5649437.85,"winner-name":"CSM Spółka z ograniczoną odpowiedzialnością","buyer-country":"POL","winner-id-tier":"name-only","total-value-cur":"PLN","buyer-identifier":"712-010-69-11","publication-date":"2026-01-02+01:00","winner-identifier":"813-384-41-03","classification-cpv":"48000000","publication-number":"11-2026"},{"buyer-name":"Nemocnice Pardubického kraje, a.s.","notice-url":"https://ted.europa.eu/en/notice/-/detail/12-2026","notice-type":"can-standard","total-value":9070992,"winner-name":"DATRON, a.s.","buyer-country":"CZE","winner-id-tier":"name-only","total-value-cur":"CZK","buyer-identifier":"27520536","publication-date":"2026-01-02+01:00","winner-identifier":"43227520","classification-cpv":"48300000; 48600000; 72268000","publication-number":"12-2026"}],"record_count":"259138","data_size_bytes":null,"dataset_count":null,"query_examples":[{"url":"https://api.ted.europa.eu/v3/notices/search","body":"{\"query\":\"notice-type=can-standard AND publication-date>=20260101\",\"fields\":[\"publication-number\",\"publication-date\",\"notice-type\",\"buyer-name\",\"buyer-country\",\"buyer-identifier\",\"classification-cpv\",\"winner-name\",\"winner-identifier\",\"total-value\",\"total-value-cur\"],\"page\":1,\"limit\":25,\"paginationMode\":\"PAGE_NUMBER\"}","curl":"curl -s -X POST -H 'Content-Type: application/json' -d '{\"query\":\"notice-type=can-standard AND publication-date>=20260101\",\"fields\":[\"publication-number\",\"publication-date\",\"notice-type\",\"buyer-name\",\"buyer-country\",\"buyer-identifier\",\"classification-cpv\",\"winner-name\",\"winner-identifier\",\"total-value\",\"total-value-cur\"],\"page\":1,\"limit\":25,\"paginationMode\":\"PAGE_NUMBER\"}' 'https://api.ted.europa.eu/v3/notices/search'","label":"Search notices (expert query, JSON POST)","method":"POST","description":"Keyless expert-query search over TED notices (field=value AND …). Combine the verified filters (classification-cpv, buyer-country, notice-type, publication-date ranges, winner/buyer names and identifiers); limit ≤ 250 per page, result window ≤ 15,000."},{"url":"https://docs.ted.europa.eu/api/latest/index.html","curl":"curl -s 'https://docs.ted.europa.eu/api/latest/index.html'","label":"Documentation","method":"GET","description":"TED API reference (Search API — no key required; expert query grammar)."}],"status":"ok","error_message":null,"profiled_at":"2026-09-17T15:46:11.695Z","run_id":"4065304c-5fe8-4018-a9d1-7f9b2c450faa","created_at":"2026-08-03T17:23:10.926Z","updated_at":"2026-09-17T15:46:11.695Z","license_raw":"CC BY 4.0 (TED — Commission Decision 2011/833/EU)","license_id":"cc-by-4.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":["total-value","total-value-cur"],"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":[],"manifest":{"answer_sha256":"724fe467b52ca70776acb82959ded34b055056ebf9a346b6e71932b9b39d7de5","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":34,"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[] (13 rows).","live":false,"live_basis":"This body was replayed from the worker edge cache (x-edge-cache: hit); the bytes, and therefore answer_sha256, are those of the execution that filled the cache.","created_at":"2026-09-18T00:32:45.205Z","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."}}