TED — Contract award notices, EU-wide (Search API v3)
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.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.
Trust score
How is this computed?Weighted across five axes. Tap a ring for what it measures.
Data schema (13 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| classification-cpv | text | CPV code(s) classifying the contract's subject matter; multiple lot codes joined with '; '.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. |
| buyer-country | text | Buyer's country as an ISO 3166-1 alpha-3 code.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. |
| notice-type | text | TED notice type code, e.g. can-standard for contract award notices.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. |
| publication-date | text | Date the notice was published in the Official Journal supplement.Publication date in the Official Journal supplement. Filter with =, >= or <= and a YYYYMMDD (or YYYY-MM-DD) value, e.g. publication-date>=20260601. |
| buyer-name | text | Name of the contracting authority.Contracting authority name (multilingual upstream; exact-match filter). |
| buyer-identifier | text | Buyer's registration identifier as published, e.g. SIREN/SIRET.Buyer registration identifier as published (SIREN/SIRET on French notices, space-separated). Exact-match filter, space-preserving. |
| winner-name | text | Name of the supplier(s) awarded the contract.Awarded supplier name (per-lot upstream; exact-match filter). |
| winner-identifier | text | Winner's registration identifier as published, e.g. SIREN/SIRET or eSender id.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". |
| publication-number | text | TED's unique identifier for the notice.TED's own notice identifier (e.g. 370731-2026). Exact-match filter. |
| total-value | number | Total awarded contract value, in the currency given by total-value-cur.Total contract award value (in total-value-cur). |
| total-value-cur | text | ISO 4217 currency code of the total contract value.Currency of total-value, ISO 4217 (e.g. EUR). |
| winner-id-tier | text | Derived tag indicating whether the winner has a verified registry id, name only, or none.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). |
| notice-url | text | Link to the canonical TED notice page.Canonical TED notice page (HTML, English route when published). |
Schema captured from ted 8 hours ago.
Query the data
Pick columns and a sort, then fetch a live preview straight from the source. Choose an API-filterable column (marked ▾) under “Where” to pick from its list of values.
Sample data (8 records)
Record 1buyer-name: Ministarstvo mora, prometa i infrastrukt · notice-url: https://ted.europa.eu/en/notice/-/detail
{
"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"
}Record 2buyer-name: Charité - Universitätsmedizin Berlin · notice-url: https://ted.europa.eu/en/notice/-/detail
{
"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"
}Record 3buyer-name: Lohjan kaupunki · notice-url: https://ted.europa.eu/en/notice/-/detail
{
"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"
}Record 4buyer-name: Vilniaus universitetas (PV) · notice-url: https://ted.europa.eu/en/notice/-/detail
{
"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"
}Record 5buyer-name: COMMUNAUTE d'AGGLOMERATION DU PAYS DE L' · notice-url: https://ted.europa.eu/en/notice/-/detail
{
"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"
}Record 6buyer-name: 10 Wojskowy Szpital Kliniczny z Poliklin · notice-url: https://ted.europa.eu/en/notice/-/detail
{
"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"
}Record 7buyer-name: Uniwersytet Medyczny w Lublinie · notice-url: https://ted.europa.eu/en/notice/-/detail
{
"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"
}Record 8buyer-name: Nemocnice Pardubického kraje, a.s. · notice-url: https://ted.europa.eu/en/notice/-/detail
{
"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"
}Live sample captured at profiling time — values may have changed upstream.
Verification Status
Using the API
Query examples
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'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.
Dataset
Volume & freshness
Machine-readable & source
Embed this badge in a README or wiki — it always shows the latest verification state and quality tier.