EU Public Tenders Feed (TED): New Tenders, Awards & Deadlines avatar

EU Public Tenders Feed (TED): New Tenders, Awards & Deadlines

Pricing

$2.00 / 1,000 tender notices

Go to Apify Store
EU Public Tenders Feed (TED): New Tenders, Awards & Deadlines

EU Public Tenders Feed (TED): New Tenders, Awards & Deadlines

New EU public tenders from TED's official API: open calls, awards and planning notices filtered by keyword, CPV code and buyer country, with deadline, estimated value, buyer and links. Remembers past runs, so a schedule returns only new notices. For bid teams, sales and AI agents.

Pricing

$2.00 / 1,000 tender notices

Rating

0.0

(0)

Developer

FtryTech

FtryTech

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Get new public tenders from TED (Tenders Electronic Daily), the EU's official journal of public procurement, as clean JSON. Each notice comes with its title in your language, the buyer, the country, CPV codes, the submission deadline and the days left, the estimated or awarded value, a description, and links to the notice, its PDF and the submission portal. You can filter by keyword, CPV code, buyer country and notice kind.

It remembers. By default each run returns only notices it has not returned before for the same filters. Put it on a daily schedule and you get a clean feed of what TED published since the last run, with no duplicates and no deduplication on your side.

By FtryTech.

What it reads

TED publishes about 3,000 notices each working day from the 27 EU countries, Norway, Switzerland, Iceland, the UK's legacy notices, EU institutions and candidate countries such as Albania, Serbia and Ukraine.

Notice kindWhat you get
open_tenders (default)Calls for competition you can still bid on: deadline, estimated value, submission link
awardsContract award results: awarded value and currency, winner countries
planningPrior information and market-consultation notices, months before the tender
allEvery kind, including corrections and contract modifications

Only the official, documented API. The Actor calls TED's public Search API (api.ted.europa.eu/v3/notices/search), which the EU Publications Office runs for reuse and which needs no key or login. TED's copyright notice says the notices "can be freely reused, for commercial or non-commercial purposes". The Actor uses no browser, no proxy and no scraping of web pages, so runs are fast and cheap. It does not return contact persons, e-mail addresses or winner names.

Who it is for

  • Bid and proposal teams: a morning list of new tenders in your CPV codes and countries, with the days left to the deadline.
  • Sales teams selling to the public sector: see which ministries, cities and hospitals are buying what, and for how much.
  • Market researchers and consultants: award values by sector and country, and planning notices that show demand months early.
  • Tender newsletters and platforms: a deduplicated EU feed in one language.
  • AI agents: one call answers "which new EU tenders match X?". Every input has a default, and an empty answer is an explicit row with a reason, never a silent empty dataset.

Input

Every field is optional. With no input you get the newest open tenders of the last 3 days.

{
"noticeKind": "open_tenders",
"keywords": ["cybersecurity", "penetration test"],
"cpvCodes": ["72000000"],
"countries": ["DE", "AT", "NL"],
"publishedWithinDays": 7,
"onlyNewNotices": true,
"stateKey": "my-it-feed",
"maxNotices": 200,
"language": "en",
"includeDescription": true
}
FieldDefaultMeaning
noticeKindopen_tendersopen_tenders, awards, planning or all.
keywordsnoneKeep notices that contain any of these words or phrases (TED full-text search, all languages).
cpvCodesnoneKeep notices under these CPV codes or anything below them. 72000000, 72000000-5 and the prefix 72 all work.
countriesnoneBuyer countries as ISO codes: DE, FRA, NOR, ...
publishedWithinDays3Read notices published in the last N days, today included.
onlyNewNoticestrueSkip notices an earlier run already returned for the same filters.
stateKeydefaultThe memory name. Give each schedule or client its own.
maxNotices50The most notice rows per run (up to 10,000), newest first.
languageenThe language for titles, buyer names and descriptions where TED has it (24 EU languages).
includeDescriptiontrueAdd the procedure description (up to 10,000 characters).

Output

Each row has a type.

notice

{
"type": "notice",
"noticeId": "736964-2026",
"publishedAt": "2026-10-23",
"noticeKind": "open_tenders",
"noticeType": "cn-standard",
"title": "Albania – Miscellaneous computer equipment – “Purchase of Electronic Equipment, for the National Authority for Cybersecurity”.",
"titleLanguage": "eng",
"buyerName": "Central Purchasing Operator (OBP)",
"buyerCountry": "ALB",
"cpvCodes": ["30236000"],
"mainCpv": "30236000",
"contractNature": "supplies",
"procedureType": "open",
"deadline": "2026-11-20",
"deadlineType": "tenders",
"daysToDeadline": 27,
"estimatedValue": 459035.66,
"estimatedValueCurrency": "EUR",
"awardedValue": null,
"awardedValueCurrency": null,
"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/736964-2026",
"pdfUrl": "https://ted.europa.eu/en/notice/736964-2026/pdf",
"xmlUrl": "https://ted.europa.eu/en/notice/736964-2026/xml"
}

Rows also carry lotTitles, buyerCity, buyerWebsite, frameworkAgreement, placeOfPerformance (NUTS regions), winnerCountries (awards), description, submissionUrl, documentsUrl and officialLanguage.

no_results (free): one row when the run returns no notice. Its reason is one of no_matching_notices, all_seen_before, invalid_filter, query_rejected or fetch_failed. message says what to change, and query shows the TED query that ran. You are never charged for these rows.

Pricing (pay per event)

EventPrice
Tender notice (one notice row)$0.002 ($2 per 1,000 notices)
no_results rowsfree

Apify also charges its standard tiny run-start fee. Notices skipped because an earlier run returned them are not charged. The run stops cleanly at your spending limit, and notices it did not return stay new for the next run.

Tips

  • Daily tender alert: set your cpvCodes and countries, keep onlyNewNotices on, schedule the Actor daily, and connect the dataset to Slack, e-mail, Sheets or a webhook.
  • Award research: noticeKind: "awards", onlyNewNotices: false, publishedWithinDays: 365 and a CPV code give a year of award values for a sector.
  • Early warning: noticeKind: "planning" shows buyers who plan to tender soon.
  • To find CPV codes, search the CPV list on the EU's SIMAP site, or give keywords instead.

For AI agents (MCP)

  • Call it with no input, or with only keywords or cpvCodes. Every other input has a default.
  • Read type first. A no_results row explains an empty answer in reason and message.
  • Set onlyNewNotices: false for a one-off question, so an earlier run's memory does not hide notices.
  • daysToDeadline answers "can we still bid?" without date arithmetic.

Limits

  • Only TED. National notices below the EU thresholds, which countries publish only on their own portals, are not in TED.
  • Descriptions are usually only in the notice's original language. Titles are in every EU language.
  • Estimated values appear only when the buyer publishes them. Lots in mixed currencies are not summed.
  • Winner names are left out on purpose, because a winner can be a private person. Use xmlUrl for the full notice.

Questions, or a portal you need? Open an issue on the Actor's Issues tab.