TED EU Tender Monitor
Pricing
from $3.00 / 1,000 new or amended records
TED EU Tender Monitor
Unofficial tool, not affiliated with the EU, Publications Office or TED. Get only new and amended EU public tenders since your last run, filtered by CPV, NUTS or country. Source: TED, © European Union.
Pricing
from $3.00 / 1,000 new or amended records
Rating
0.0
(0)
Developer
Two Five Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Not affiliated with or endorsed by the European Union, the Publications Office of the European Union, or TED (Tenders Electronic Daily). This is an independent tool from Two Five Labs that reads publicly available data. No government seals or logos are used.
What it does
Searches the TED Search API v3 for EU procurement notices published in your look-back window. You can filter by CPV code, NUTS region, country and title keyword, and it returns only what is new or changed since your last run.
Who it's for
Companies that bid on EU public tenders, and bid consultants who track them.
Input
| Field | Description |
|---|---|
lookbackDays | integer, default 3. Days of TED publications to check. On a daily schedule this overlaps earlier runs; already-seen notices are not output again. |
cpv | list. CPV codes; trailing zeros act as a prefix (e.g. 45000000 = all construction). |
nuts | list. NUTS regions, e.g. CZ052 or prefix CZ0. Must be a valid NUTS code; use countries for whole countries. |
countries | list. ISO 3166 alpha-3 codes, e.g. FRA, DEU. |
keywords | list. Matches the English title (case-insensitive). |
limit | integer, default 100 (TED maximum 250). Notices per page. |
maxPages | integer, default 5. |
maxSpendUsd, emitUnchanged, stateStoreName | see "How runs work". |
No API key is needed for this source.
Run it via API
curl -X POST "https://api.apify.com/v2/acts/flamelit_constellation~ted-monitor/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"maxSpendUsd": 1.0}'
Use your own Apify token.
How runs work
- First run: returns every matching record in the look-back window, all marked
changeType: "new". - Later runs: return only records that are new, or whose content changed since they were last seen (
amended). The actor keeps a content hash per record in a key-value store. A second run over the same data outputs nothing. stateStoreName: give each saved search its own name so each one tracks its own history.emitUnchanged: truealso outputs unchanged records (changeType: "same"), which are never charged.- Spend cap:
maxSpendUsd(default 1.0) is a hard cap. When it is reached, the actor stops charging and stops output. Records not yet output are kept for the next run. - Errors and rate limits: network errors, HTTP 429 and 5xx responses are retried up to 3 times with backoff.
Retry-Afteris honoured in both its seconds and date forms; if the source asks for a wait longer than 2 minutes, the run stops instead of waiting.
Output
Tender record : id, source ("ted"), title, buyer, cpv[], naics (null), region, value, currency, posted, deadline, url, changeType, extra{noticeType, attribution, modified}.
Excerpt from a live run (NUTS FR101):
{"id": "689304-2026","source": "ted","title": "France – Road transport services – Prestations de transport de fonds","buyer": "Monnaie de Paris","cpv": ["60100000"],"region": "FR101, FRA, anyw","value": 0,"currency": "EUR","posted": "2026-10-07T00:00:00.000Z","deadline": "2026-11-05T22:00:00.000Z","url": "https://ted.europa.eu/en/notice/-/detail/689304-2026","changeType": "new","extra": {"noticeType": "cn-standard","attribution": "Source: TED, © European Union, https://ted.europa.eu/en/notice/-/detail/689304-2026","modified": "Data transformed: fields normalized, selected and filtered by this actor."}}
value, currency and deadline are sometimes empty in live data.
Personal data: contact persons, and tenderers or winners who are named individuals, are removed. Emails and phone numbers in free text are masked. URLs and reference numbers are not masked.
Pricing
Pay per event: one run-start charge per run and one new-item charge per new or amended record output. Current prices are shown on this actor's Apify Store page.
Limits
- Throttle: at least 1 second between requests, at most 20 requests per run. This is well below TED's fair-usage guidance.
- Up to
limit×maxPagesnotices per run (default 500). The default run used 5 requests for 500 notices.
Data source and terms
- Source: TED, © European Union (
https://ted.europa.eu). - Data has been modified: notices are reformatted, normalized, filtered and compared between runs. Each record carries
extra.attribution("Source: TED, © European Union" plus the notice address) andextra.modifiedas TED's reuse terms require credit and an indication of changes. - No TED logo is used.
- Not affiliated with or endorsed by the European Union, the Publications Office of the European Union, or TED (Tenders Electronic Daily).
FAQ
Does it return every record? The first run returns everything matching. After that it returns only new or changed records.
How often should I run it? Daily is enough.
Can I cap spend? Yes. maxSpendUsd is a hard cap, and records it stops are output on the next run.
Does it need a key? No.
Support
Questions or problems: please use the Issues tab on this actor's Apify page first.
Publisher: Two Five Labs, contact twofivelabs@gmail.com.
Requests to the source identify themselves with a contact address: flamelit-constellation-actors/0.1 (+mailto:twofivelabs@gmail.com).