EU Tender Alerts
Pricing
from $1.50 / 1,000 tender notice returneds
EU Tender Alerts
Get new EU public procurement notices from TED by keyword, CPV code or country, over a minimum value such as 100k EUR, with a true monitoring mode that only returns and bills for notices new since your last run. Export EU tenders to Google Sheets or n8n.
Pricing
from $1.50 / 1,000 tender notice returneds
Rating
0.0
(0)
Developer
Adriana Voss
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Features
Share
EU Tender Alerts: New Public Procurement Notices
Get new EU public tender notices by keyword, CPV code, or country, as soon as they're published. Search TED (Tenders Electronic Daily), the EU's own procurement notice database, by one or more keywords matched against the notice title, by CPV procurement codes, by country, or any combination. Turn on monitoring mode and run it on a schedule to get only the notices that are new since your last run, charged per notice and free on a quiet day.
TED covers EU/EEA public-sector procurement only — contracting authorities across the EU member states plus EEA/EFTA countries publishing above the EU procurement thresholds. It does not cover US federal contracts (SAM.gov) or UK government contracts, which are a different, unbuilt scope.
How to use
- In the Apify Console. Open the actor page and click Start — the
queriesfield is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found. - Via the API. Call it directly with a POST request — no Console needed once you have an API token:
curl "https://api.apify.com/v2/acts/accountable_eel~eu-tender-alerts/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"queries":["renewable energy"]}'
- On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.
Input
{"queries": ["renewable energy"]}
One keyword or phrase per line, matched against the notice title. Combine with CPV codes and/or countries below (optional). Leave empty to search by CPV code or country alone. Accepted formats: renewable energy, road construction, "waste management".
One combined search runs per call: queries are OR'd together and matched against the notice title;
optional cpvCodes and countries are each OR'd internally and AND'd with the keywords and with
each other. At least one of queries, cpvCodes, or countries must be set. minValueEur only
narrows the subset of notices that publish an estimated value at all — most TED notices don't, and
this filter never excludes a notice for a missing value by itself. The search run itself is free;
you're billed per notice actually returned.
Output
One row per item, for example:
| query | found | status | searchSummary | noticeCount | truncated | monitorStatus | notices | publicationNumber | title | buyerName | publicationDate | deadlineDate | estimatedValue | estimatedValueCurrency | country | noticeUrl | isNew | firstSeenAt | scrapedAt |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| renewable energy | true | OK | <all notices (full list)> | <buyer / contracting authority> | <place of performance (country)> | <is this notice new?> | 1970-01-01T00:00:00.000Z |
A miss comes back as a row with "found": false and is never charged.
Pricing
- Tender notice returned: $3 per 1,000 notices
Plus a $0.0015 start fee per run. Each event above is billed independently, only when it actually returns data — misses (found:false) are never charged.
Example runs
Paste any of these into the Input tab and press Start. All three return rows with no key, no token and no account of your own beyond an Apify login.
Renewable energy tenders, last 7 days, EU-wide. The default shape.
{"queries": ["renewable energy"]}
Road construction tenders in Germany, last 30 days.
{"queries": ["road construction"],"countries": ["DE"],"sinceDays": 30}
All tenders under CPV 09300000 (electricity, heating, solar, nuclear energy) over 100,000 EUR.
{"cpvCodes": ["09300000"],"minValueEur": 100000,"sinceDays": 30}
Use it from Clay, n8n, Make, or an AI agent
This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.
curl "https://api.apify.com/v2/acts/accountable_eel~eu-tender-alerts/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"queries":["renewable energy"]}'
n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~eu-tender-alerts/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"queries":["renewable energy"]} (swap in an expression from an earlier node for a real value).
Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~eu-tender-alerts/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"queries":["{{search}}"]}, mapping the row's search into the queries array.
MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "eu tender alerts: new procurement notices by keyword" — the agent will find and run this actor.