Monitor EU Public Tenders by Country
Build a repeatable country-level monitoring workflow for new European procurement opportunities and deadlines.

A useful monitor remembers what it saw. The EU TED Tenders Scraper supplies structured snapshots from the European Union's official TED Search API v3; your workflow decides what counts as a change.
Define the state
Use publication number as the stable key; flag new notices and changes to deadline, value, buyer, or notice type. Save the input beside each snapshot so a query change is not mistaken for a source change. Schedule the saved Apify Task at the source's actual update cadence. Hourly polling is wasteful for a feed that changes daily.
On each successful run:
- Load the previous successful dataset.
- Join on
publication_number. - Separate new records, changed records, and records that disappeared.
- Alert only after applying the business filters.
- Retain the raw snapshot and run ID for investigation.
Do not replace the previous snapshot after a failed or empty run. An upstream outage otherwise looks like mass deletion.
Keep alerts useful
Use publication_number as the idempotency key. Store raw notices first, derive a lead table second, and route only open opportunities to CRM owners. A daily Task is normally enough because TED is a publication feed, not a live auction.
Alert payloads should include the source identifier, the fields that changed, the old and new values, and a direct source URL. That is enough for an owner to verify the event without opening the raw dataset.
TED text is multilingual. The Actor prefers English where the notice supplies it, but some titles remain in another source language. Buyers and CPV codes are arrays because one notice can contain several of each.
Measure alert precision for the first few weeks. If reviewers repeatedly dismiss the same pattern, tighten the source query or the routing rule. Hiding noise after it enters the alert channel is harder than excluding it at collection time.
Frequently asked questions
Does this Actor use an official data source?
Yes. It queries the publisher's official public API and returns normalized records with traceable identifiers and source links.
Can I schedule this workflow?
Yes. Save the validated input as an Apify Task, attach a schedule, and compare each successful dataset with the previous snapshot.