EU Tenders (TED): Search & New-Tender Alerts avatar

EU Tenders (TED): Search & New-Tender Alerts

Pricing

from $2.00 / 1,000 notice returneds

Go to Apify Store
EU Tenders (TED): Search & New-Tender Alerts

EU Tenders (TED): Search & New-Tender Alerts

Search EU public tenders published on TED, the EU's official journal. Filter by keyword, CPV, country, value and open deadlines, or get only new tenders daily. Clean rows, official links.

Pricing

from $2.00 / 1,000 notice returneds

Rating

0.0

(0)

Developer

Stego

Stego

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

Search EU public tenders published on TED, the EU's official journal. Filter by keyword, CPV, country, value and open deadlines, or get only new tenders daily. Clean rows, official links.

TED (Tenders Electronic Daily) carries the tenders that must be published EU-wide – mostly those above the EU value thresholds – plus notices buyers publish voluntarily, from the 27 EU countries, Norway, Iceland, Switzerland and candidate countries. Smaller national tenders below the thresholds are often only on national portals and are not covered. You get clean, English-first rows: title, buyer, countries, CPV codes, deadline, estimated value, award winners and links to the official notice, PDF and XML.

Run it once for research, or schedule it daily with Only new since last run to get just the tenders you haven't seen yet.

Data comes from the official, free and anonymous TED Search API v3 of the EU Publications Office. No login, no proxy, no scraping of web pages.

What you can filter on

InputExampleNotes
Keywordssoftware, cloud hostingFull-text search over the whole notice (all languages TED holds). any or all matching.
Exclude keywordshardwareNotices containing these are dropped.
Notice stagescompetition (open tenders, default), planning (prior info), result (awards), cont-modif, dir-awa-pre, consultation
CPV codes72 (all IT services), 45233000Hierarchical: 72 matches every 72xxxxxx code. Trailing zeros are treated as a prefix (72200000 = 722*).
Buyer countriesDE, FR, PL (ISO2 or ISO3)
Place of performance (NUTS)DE1, FR10Hierarchical.
Contract typeservices, supplies, works
Date windowlast N days (default 7) or from/to datesMax 90 calendar days per run, today included. Dates are Brussels time.
Valuemin/max + currency (default EUR)Applied to the awarded value if present, else the estimated value. No currency conversion: notices in other currencies or without a value count as "unknown" and are kept unless you untick Keep notices with unknown value.
Only openDrops notices whose submission deadline has passed (notices with no deadline are kept).
Max resultsdefault 100, up to 10,000Newest first.

Output (one row per notice)

noticeId, title (English where TED provides one), titleOriginal, originalLanguage, stage, noticeType, procedureType, contractNature, buyerName, buyerCity, buyerCountry (first buyer), buyerCountries (all buyers – joint procurements can list many; the country filter matches any of them), placeOfPerformanceCountries, placeOfPerformanceNuts, mainCpv, cpvCodes, publicationDate, dispatchDate, deadline (with time zone), deadlineDate, estimatedValue + estimatedValueCurrency, awardedValue + awardedValueCurrency and winners (award notices), frameworkAgreement, description (trimmed to Description max length), documentsUrls, noticeUrl, pdfUrl, xmlUrl, procedureId, noticeVersion.

Example row:

{
"noticeId": "755341-2026",
"publicationDate": "2026-10-30",
"stage": "competition",
"title": "Czechia – IT services: consulting, software development, Internet and support – Dodávka funkčního celku evidence vodohospodářské infrastruktury…",
"buyerName": "Ministerstvo zemědělství",
"buyerCountry": "CZE",
"mainCpv": "72000000",
"deadline": "2026-11-12T13:00:00+01:00",
"estimatedValue": 81618000.0,
"estimatedValueCurrency": "CZK",
"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/755341-2026"
}

A run summary (query used, notices read, whether more matched) is saved as OUTPUT in the run's key-value store.

Alerts: only new tenders

Tick Only new since last run and schedule the Actor (e.g. daily). The Actor remembers the notice IDs it has returned in a named key-value store (ted-tenders-state; set State key to keep several alert profiles apart).

  • First run saves a baseline and returns nothing (untick First run only saves a baseline to get current notices immediately).
  • If more new notices match than Max results, the rest are returned on the next run.
  • Changing the filters under the same state key starts a new baseline; notices already returned stay skipped.

Pricing

Pay per event: a small fee per run start plus a fee per notice returned. You only pay for rows you get. If TED is unavailable the run fails and no notices are charged (the small start fee still applies). Set a maximum charge per run in Apify and the Actor stops at that limit and says so in the status. Delivery is crash-safe: if a run is restarted or migrated by the platform, or dies mid-delivery, notices already delivered are not delivered or charged again. (One rare exception: if an alert run dies mid-delivery and its dataset is deleted or expires before the next run, the next run cannot check what was delivered and re-delivers that one batch, at most 100 notices.)

Good to know

  • Keyword search is broad. TED's full-text search covers every field and translation, so software can match "installation services (except software)". Combine keywords with CPV codes for precision, or use Exclude keywords.
  • TED publishes about 4,000 notices per working day.
  • Corrections are published by TED as new notices (new noticeId, same procedureId).
  • Buyer contact emails are off by default because they can identify individuals. Winner names can also be sole traders. If you use personal data from the results, you are responsible for handling it under the GDPR.

Source and licence

Source: TED – Tenders Electronic Daily, © European Union, https://ted.europa.eu. Procurement notices are reused under the Commission's reuse policy (Commission Decision 2011/833/EU), which allows commercial and non-commercial reuse. Records are reformatted and abridged by this Actor; the official text is at each noticeUrl. This Actor is not affiliated with or endorsed by the Publications Office of the EU or the European Commission.