TED EU Tenders - Netherlands & Benelux Public Procurement
Pricing
from $2.00 / 1,000 notices
TED EU Tenders - Netherlands & Benelux Public Procurement
Get EU public procurement notices from TED (Tenders Electronic Daily) for the Netherlands, Belgium, Luxembourg or any EU country. Filter by date, CPV code and keywords. Clean, flat JSON with English field names; contact details removed (GDPR). Pay per notice.
Pricing
from $2.00 / 1,000 notices
Rating
0.0
(0)
Developer
Jishnu Harinandansingh
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
TED EU Tenders – Netherlands & Benelux Public Procurement
Get EU public procurement notices from TED (Tenders Electronic Daily), the official EU journal for public tenders. Defaults to buyers in the Netherlands. Switch to Belgium, Luxembourg or any other European country, and filter by publication date, CPV code and keywords.
Each notice becomes one flat JSON item with stable English field names, ready for spreadsheets, CRMs or a daily tender-alert workflow. Contact persons, e-mail addresses and phone numbers are removed (GDPR).
What it does
- Queries the official TED Search API, not HTML scraping, so results stay stable when the website changes.
- Returns notices newest first. This includes contract notices (open tenders), award notices and prior information notices.
- Each item has the notice ID and link, title (original and English), buyer, buyer country, CPV codes, estimated value and currency, publication date, tender deadline, procedure type, notice type, place of performance (NUTS), description, and links to the tender documents and submission page.
Input
| Field | Type | Default | Description |
|---|---|---|---|
countries | list of ISO codes | ["NL"] | Buyer countries, e.g. NL, BE, LU, DE. A notice matches if any of its buyers is in one of these countries. |
lastDays | integer | 7 | Notices published in the last N days. Ignored when publishedFrom is set. |
publishedFrom | date YYYY-MM-DD | – | Start of the publication date range. |
publishedTo | date YYYY-MM-DD | – | End of the range (inclusive). Empty means up to today. |
cpvCodes | list | [] | CPV codes; sub-codes match too. For example 72000000 (IT services) also matches 72260000. The check digit (-5) is optional. |
keywords | list | [] | Full-text search. A notice matches if it contains any of the keywords (in any language). |
maxItems | integer | 100 | Maximum number of notices returned (1–100,000). |
Example: IT and cleaning tenders in the Benelux from the last 3 days:
{"countries": ["NL", "BE", "LU"],"lastDays": 3,"cpvCodes": ["72000000", "90910000"],"keywords": [],"maxItems": 200}
Output
One item per notice (real example, description shortened):
{"noticeId": "756055-2026","noticeUrl": "https://ted.europa.eu/en/notice/-/detail/756055-2026","pdfUrl": "https://ted.europa.eu/en/notice/756055-2026/pdf","title": "TA- verbindingen","titleEnglish": "Netherlands – Telephone and data transmission services – TA- verbindingen","buyerName": "Hoogheemraadschap van Delfland","buyerCity": "Delft","buyerCountry": "NL","buyerCountries": ["NL"],"cpvCodes": ["64210000", "72315000"],"estimatedValue": 3000000.0,"currency": "EUR","publicationDate": "2026-10-30","deadline": null,"procedureType": "open","noticeType": "can-standard","contractType": "services","placeOfPerformance": ["NLD"],"description": "Het doel van deze aanbesteding is het afsluiten van een nieuwe overeenkomst voor TA-WAN dienstverlening ...","documentsUrl": null,"submissionUrl": null,"source": "TED - Tenders Electronic Daily (https://ted.europa.eu)","attribution": "Source: TED - Tenders Electronic Daily (https://ted.europa.eu), (c) European Union. Reused under Commission Decision 2011/833/EU. Changes: fields selected and reformatted, contact details removed."}
| Field | Notes |
|---|---|
noticeId | TED publication number, which is unique and stable. Use it for de-duplication. |
title | Title in the notice's original language. titleEnglish is TED's English heading (country – CPV description – original title). |
buyerName, buyerCity, buyerCountry | Lead buyer (normally an organisation; free text is e-mail/phone-redacted). buyerCountries lists the countries of all buyers in a joint procurement. |
estimatedValue, currency | Estimated value of the whole procedure, or the sum of the lot values when there is only one currency. null when not published. Placeholder values of 0 or 1 count as not published. |
deadline | Earliest tender submission deadline across all lots (ISO 8601 with offset). null for award and information notices. |
procedureType | For example open, restricted, neg-w-call, comp-dial, innovation. |
noticeType | eForms notice type. cn-* = contract notice (open tender), can-* = contract award notice, pin-* = prior information notice, pmc = pre-market consultation. |
contractType | works, supplies or services. |
placeOfPerformance | NUTS and country codes. |
source, attribution | Credit required by TED's reuse terms. Keep them when you republish the data. |
Pricing
Pay per result: $0.002 per notice (launch price). 1,000 notices cost $2. You only pay for
notices written to the dataset. Set maxItems or a maximum cost per run to cap spend.
Limits and notes
- Personal data: contact persons, e-mail addresses and phone numbers are never requested from TED.
E-mail and phone patterns in free text (title, description) are replaced with
[email redacted]and[phone redacted]. Personal names typed into free text cannot be detected reliably, so they may remain. If you spot personal data in the output, report it in the Issues tab of this Actor and the redaction will be extended. - Rate limits: TED does not publish limits. The Actor sends at most one request every 1.5 s, at most 250 notices per request, and retries with backoff on errors and HTTP 429.
- Most text is in the notice's original language (Dutch, French, ...). Only
titleEnglishis in English. - Keyword search uses TED's full-text index, so results depend on TED's own matching.
- Award notices for older tenders can appear in a recent date range, because the date filter applies to the publication date.
- This is not an official TED or European Union product.
Data source and license
Data from TED – Tenders Electronic Daily, © European Union. Notices can be
reused freely, including commercially, under Commission Decision 2011/833/EU (CC BY 4.0,
TED legal notice). The output credits the source and states
the changes made in the attribution field.
Development
# from the repo rootpip install -r requirements-dev.txtpytest -m "not live" # unit tests on recorded fixturespytest -m live # live smoke test against the real TED APIcd actors/ted-tenders && PYTHONPATH=../.. apify run # local run, input in storage/key_value_stores/default/INPUT.json
The Docker build context is the repo root (dockerContextDir), so the shared helpers in shared/ are
included in the image. To re-record the fixture, run python actors/ted-tenders/tests/record_fixture.py.