TED API guide: search, eForms fields, awards and winners
The TED Search API v3 needs no key; we have read 2,558,806 TED notices through it since 2023-10-25, and 18% of the 1,068,756 award notices name no winner. Source: Arcadium Data, data as of .
The request
One endpoint, POST https://api.ted.europa.eu/v3/notices/search, with a JSON body: an expert query, the fields you want back, limit (up to 250 per page) and page. No account or API key. Reuse is free, commercial use included, with attribution (Commission Decision 2011/833/EU).
curl -s https://api.ted.europa.eu/v3/notices/search \
-H 'Content-Type: application/json' \
-d '{"query":"publication-date=20261023","fields":["publication-number","notice-type","buyer-name","buyer-country","classification-cpv","winner-name"],"limit":250,"page":1,"paginationMode":"PAGE_NUMBER"}'
import requests
body = {
"query": "publication-date=20261023 AND winner-internet-address=*",
"fields": ["publication-number", "official-language", "buyer-name", "winner-name", "winner-internet-address"],
"limit": 250, "page": 1, "paginationMode": "PAGE_NUMBER",
}
r = requests.post("https://api.ted.europa.eu/v3/notices/search", json=body, timeout=60)
r.raise_for_status()
data = r.json()
print(data["totalNoticeCount"], len(data["notices"]))
const res = await fetch('https://api.ted.europa.eu/v3/notices/search', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ query: 'publication-date=20261023', fields: ['publication-number', 'notice-type'], limit: 250, page: 1, paginationMode: 'PAGE_NUMBER' }),
});
const { notices, totalNoticeCount } = await res.json();
Limits that shape a crawler
- 15,000 notices per query in page-number mode (60 pages of 250). A publication day holds about 3,000 to 4,000 notices, so one query per day stays under the cap.
- Fair use: the documented limit is 700 requests a minute per IP; one request at a time with a short pause is plenty for a daily sync.
- eForms only since 2023-10-25. Every field name above is an eForms business term; older notices use the earlier TED schemas and other field names.
eForms fields that matter
| Field | What it holds | Gotcha |
|---|---|---|
notice-type | cn-standard, can-standard, pin-only ... | Map it to call / award / planning yourself; corrections and modifications are separate notices |
buyer-country | Buyer country | ISO 3166-1 alpha-3 (DEU, FRA), not alpha-2 |
notice-title, buyer-name, winner-name | Text | Multilingual objects keyed by 3-letter language ({"deu": [...]}); pick official-language |
classification-cpv | CPV codes | Several per notice; the main one is main-classification-proc |
result-value-notice, total-value, tender-value | Award values | Per notice, per lot or per tender, each with its own currency field; frameworks state a ceiling |
winner-internet-address | Winner website | Not in name order; pair it with the winner yourself |
deadline-receipt-tender-date-lot | Deadline | Per lot; take the earliest |
Contact fields (*-email, *-tel, contact persons) exist too. We never request them.
Why many awards name no winner
In our copy, 195,589 of 1,068,756 TED award notices (18%) carry no winner name: a lot can close without an award, and buyers may defer publishing some fields. We also withhold winner names on 205,913 awards because the winner could be a private person (sole trader).
Duplicates and national portals
Many countries publish the same notice on a national portal (BOAMP in France, for example) and on TED. Deduplicate by procedure and buyer before you count; we keep one row and mark the copy.
Skip the plumbing
Our tenders API serves TED, UK Find a Tender and national notices deduplicated, with winners matched to company websites, contract end dates and supplier profiles. No key needed to try it.
Official documentation: TED API docs, ted.europa.eu. This guide is ours and independent of the Publications Office.
Questions
Does the TED API need an API key?
No. The Search API v3 (POST https://api.ted.europa.eu/v3/notices/search) answers anonymous requests; reuse is free with attribution under Commission Decision 2011/833/EU.
How many notices can one TED API query return?
Up to 15,000 in page-number mode, 250 per page. Split by publication day (a day has about 3,000 to 4,000 notices) to stay under the cap.
Why do TED award notices miss the winner?
In our copy 18% of TED award notices name no winner (as of 2026-10-23): lots closed without an award and fields the buyer deferred.
Cite as: Arcadium Data, "TED API guide: search, eForms fields, awards and winners", https://arcadiumdata.io/guides/ted-api/, data as of 2026-10-23.