EU TED Tenders Monitor & API — Public Procurement Alerts
Pricing
from $3.00 / 1,000 results
EU TED Tenders Monitor & API — Public Procurement Alerts
Monitor new EU public tenders from TED (Tenders Electronic Daily) through the official TED API v3. Filter by CPV code, buyer country, notice type, keywords and value. Scheduled runs return only new notices. No API key needed.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Cranewell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Built by Cranewell. Maintained on a best-effort basis by automated checks; no custom support, consulting, or SLA is offered. Report issues via the Store's Issues tab.
What does EU TED Tenders Monitor do?
EU TED Tenders Monitor searches TED (Tenders Electronic Daily), the EU's official public-procurement journal, through the official TED API v3 anonymous search endpoint. It outputs clean, normalized tender records. Run it on a schedule with Only new since last run on, and each run returns only notices you haven't seen yet. That gives you an EU tender alert feed you can send to email, Slack, Google Sheets or your own endpoint with Apify integrations and webhooks.
- No TED API key, no login, no website scraping. It uses the official API only.
- Filters: publication date range or "last N days", CPV codes (hierarchical), buyer country (ISO alpha-3), eForms notice type, full-text keywords, exclude keywords, minimum value, and deadline on/after.
- Large result sets via TED's iteration (scroll) pagination.
- Webhook-ready run summary (counts + up to 50 new items) saved as
SUMMARYin the run's key-value store.
Who uses TED tender alerts?
Bid and proposal teams watching their CPV codes, consultants tracking public-sector demand in specific countries, and analysts building datasets of EU public procurement.
How to monitor EU tenders with the TED API
- Pick your CPV codes (e.g.
72000000for IT services) and buyer countries (DEU,FRA,IRL...). - Run once to check results.
- Save the input as a Task and add a Schedule (e.g. daily at 07:00).
- Leave Only new since last run on. Each scheduled run returns only new tenders.
- Optional: connect an integration (email, Slack, Sheets, Zapier, Make) or a webhook that reads the
SUMMARYrecord.
Get only new tenders since the last run
"Only new" state is stored in a named key-value store (tenders-monitor-ted) keyed by a hash of your filters, so different Tasks keep separate state. Use Reset seen-ID state to start over.
Input example
{ "keywords": ["software"], "codes": ["72000000"], "countries": ["DEU", "FRA"], "noticeTypes": ["cn-standard"], "daysBack": 7, "maxItems": 50 }
Filter by CPV code, country, notice type and value
| Field | What it does |
|---|---|
publishedFrom / publishedTo or daysBack | Publication window (default: last 7 days) |
codes | CPV codes; hierarchical, so 72000000 covers its sub-codes |
countries | Buyer country, ISO 3166 alpha-3 (e.g. DEU) |
noticeTypes | eForms notice type (pre-filled with cn-standard; leave empty for all types) |
keywords / excludeKeywords | keywords: TED full-text search (any word matches). excludeKeywords: drop notices whose title/buyer contains these words |
minValue | Minimum estimated value. Notices without a value are dropped when this is set |
deadlineAfter | Only tenders whose deadline is on or after this date |
onlyNew, resetState, maxItems | Monitoring state and per-run cap (default 1,000) |
webhookSummary | Write the SUMMARY record (default on) |
Output example (real TED record, fetched 2026-10-28)
{"id": "TED-737689-2026","source": "ted","title": "Germany – IT services: consulting, software development, Internet and support – Rahmenvereinbarungen Programmier- und Beratungsleistungen zur Anwendungsentwicklung im Ressort des StMELF","buyer": "Freistaat Bayern, vertreten durch das Bayer. StM f. Ernährung, Landwirtschaft, Forsten und Tourismus","country": "DEU","codes": ["72000000", "72211000", "72200000", "72243000", "72262000", "72263000"],"codeType": "CPV","noticeType": "cn-standard","setAside": null,"publishedDate": "2026-10-26","deadline": "2026-11-23","value": 46875000,"currency": "EUR","url": "https://ted.europa.eu/en/notice/-/detail/737689-2026","isNew": true,"fetchedAt": "2026-10-29T00:38:37.174Z"}
Fields:
id, source, title, buyer, country, codes, codeType, noticeType, setAside, publishedDate, deadline, value, currency, url, isNew, fetchedAt.value/currencyare the buyer's estimated value at publication. It is often missing: about 30% of contract notices in our test had one.deadlineis the earliest lot deadline.- The title is TED's English title, which usually quotes the original-language name.
- The output does not include full notice text, lots breakdown, or contact details. Open
urlfor the full notice.
How to use the TED tenders API in Python or JavaScript
Call this Actor with the Apify API or the official apify-client packages, pass the JSON input above, and read the dataset items. Monitoring state lives on Apify, so your code doesn't need to track seen notices.
How much does it cost to monitor TED tenders?
| Event | Price |
|---|---|
| Actor start | $0.005 per run |
| Result | $0.003 per notice written to the dataset ($3 per 1,000) |
Example: a daily run returning 20 new notices costs $0.005 + $0.06 = $0.065, about $2 a month. With Only new on, you pay only for new notices. Set a maximum total charge on the run to cap spend; the Actor is designed to stop cleanly when it's reached (covered by our automated tests). Platform compute is billed by Apify as usual.
Limits
- Notices beyond Max results aren't marked as seen, so later runs deliver them.
- TED's fair-usage policy allows 700 HTTP requests per minute. This Actor self-limits to 60 per minute, with retry/backoff on 429 and 5xx errors.
- Covers notices published on TED, which are mainly above-EU-threshold tenders. It doesn't cover national-only portals. Fields vary by notice type and country.
FAQ
Do I need a TED API key?
No. TED's search API allows anonymous access to published notices.
Is it legal to reuse TED data?
TED states that its API allows anonymous access for searching and retrieving published notices, and reuse is governed by the EU Publications Office legal notice (linked below). This Actor isn't affiliated with or endorsed by the EU Publications Office.
Can I get alerts in Slack or email?
Yes. Schedule a Task and attach an Apify integration, or a webhook that reads the SUMMARY record.
Can I also monitor US federal contracts?
Yes. Use our twin Actor SAM.gov Contracts Monitor & API — Federal Bid Alerts. It outputs the same core fields (plus SAM-specific ones such as agencyPath and solicitationNumber), so EU and US tenders fit one workflow.
Data source & terms
- TED API docs: https://docs.ted.europa.eu/api/latest/index.html
- Fair-usage policy: https://ted.europa.eu/en/news/fair-usage-policy-on-ted
- Legal notice (reuse): https://ted.europa.eu/en/legal-notice