EU Public Procurement (TED) Scraper avatar

EU Public Procurement (TED) Scraper

Pricing

Pay per usage

Go to Apify Store
EU Public Procurement (TED) Scraper

EU Public Procurement (TED) Scraper

Normalized JSON for EU public tender notices from TED. Resolves buyer names and award winners that most tools leave as internal IDs, and keeps every language variant of titles and descriptions. Bulk daily packages or filtered search by country, CPV code and date.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Yaroslav Grebens

Yaroslav Grebens

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Turns EU tender notices into clean, normalized JSON.

Every EU public contract above certain thresholds is published to TED (Tenders Electronic Daily) as eForms XML. The data is public, but the raw format is difficult: multilingual fields repeated per language, buyers and award winners referenced only by internal IDs, and several different document families sharing the same namespace.

This Actor resolves all of that.

What makes it different

Buyer names are resolved. A notice references its buyer as ORG-0001. This Actor follows the reference into the organization index and returns the actual name, country, NUTS region and national registration number.

Award winners are resolved. This needs a two-step join: the award points at a tendering-party ID, which points at an organization ID, which points at the name. Most tools return the raw ID.

All languages are kept. A notice title exists once per language. title_by_language gives you all of them; title gives you the best single one.

Output

{
"notice_id": "503229-2026",
"notice_type": "can-standard",
"title": "Air conditioning renovation works",
"title_by_language": {
"FRA": "Travaux de rénovation de la climatisation",
"ENG": "Air conditioning renovation works"
},
"published_date": "2026-07-03",
"deadline": null,
"buyer": {
"name": "DSNA-DTI",
"country": "FRA",
"nuts": "FRJ23",
"city": "Toulouse",
"national_id": "12006401900074"
},
"cpv_main": "45331000",
"cpv_codes": ["45331000"],
"lots": [ ... ],
"awards": [
{
"lot_id": "LOT-0001",
"supplier_name": "SAS Bobion et Joanin",
"supplier_country": "FRA",
"value": 3278000.0,
"currency": "EUR"
}
],
"source_url": "https://ted.europa.eu/en/notice/-/detail/503229-2026",
"_completeness": 1.0
}

Modes

Bulk — download whole daily packages by OJ S issue number. Fast and complete; one package is roughly 3,400 notices. Use this for daily sync.

Search — filtered query by country, CPV code, keyword or date range.

Notes on the data

deadline, estimated_value and currency are present on roughly 40% of notices. That is not a gap in the parser: prior information notices, buyer profiles and already-awarded notices legitimately do not carry them.

awards appears on award notices only, which is about half of a typical day.

Records with "format": "unsupported" are non-procurement eForms documents that TED includes in daily packages (business registration notices and similar). They are skipped automatically.