EU Public Tenders Feed (TED): New Tenders, Awards & Deadlines
Pricing
$2.00 / 1,000 tender notices
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
Maintained by CommunityActor 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 kind | What you get |
|---|---|
open_tenders (default) | Calls for competition you can still bid on: deadline, estimated value, submission link |
awards | Contract award results: awarded value and currency, winner countries |
planning | Prior information and market-consultation notices, months before the tender |
all | Every 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}
| Field | Default | Meaning |
|---|---|---|
noticeKind | open_tenders | open_tenders, awards, planning or all. |
keywords | none | Keep notices that contain any of these words or phrases (TED full-text search, all languages). |
cpvCodes | none | Keep notices under these CPV codes or anything below them. 72000000, 72000000-5 and the prefix 72 all work. |
countries | none | Buyer countries as ISO codes: DE, FRA, NOR, ... |
publishedWithinDays | 3 | Read notices published in the last N days, today included. |
onlyNewNotices | true | Skip notices an earlier run already returned for the same filters. |
stateKey | default | The memory name. Give each schedule or client its own. |
maxNotices | 50 | The most notice rows per run (up to 10,000), newest first. |
language | en | The language for titles, buyer names and descriptions where TED has it (24 EU languages). |
includeDescription | true | Add 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)
| Event | Price |
|---|---|
Tender notice (one notice row) | $0.002 ($2 per 1,000 notices) |
no_results rows | free |
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
cpvCodesandcountries, keeponlyNewNoticeson, schedule the Actor daily, and connect the dataset to Slack, e-mail, Sheets or a webhook. - Award research:
noticeKind: "awards",onlyNewNotices: false,publishedWithinDays: 365and 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
keywordsorcpvCodes. Every other input has a default. - Read
typefirst. Ano_resultsrow explains an empty answer inreasonandmessage. - Set
onlyNewNotices: falsefor a one-off question, so an earlier run's memory does not hide notices. daysToDeadlineanswers "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
xmlUrlfor the full notice.
Questions, or a portal you need? Open an issue on the Actor's Issues tab.