TED EU Tenders - Netherlands & Benelux Public Procurement avatar

TED EU Tenders - Netherlands & Benelux Public Procurement

Pricing

from $2.00 / 1,000 notices

Go to Apify Store
TED EU Tenders - Netherlands & Benelux Public Procurement

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

Jishnu Harinandansingh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Security

Limited permissions

Share

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

FieldTypeDefaultDescription
countrieslist 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.
lastDaysinteger7Notices published in the last N days. Ignored when publishedFrom is set.
publishedFromdate YYYY-MM-DD–Start of the publication date range.
publishedTodate YYYY-MM-DD–End of the range (inclusive). Empty means up to today.
cpvCodeslist[]CPV codes; sub-codes match too. For example 72000000 (IT services) also matches 72260000. The check digit (-5) is optional.
keywordslist[]Full-text search. A notice matches if it contains any of the keywords (in any language).
maxItemsinteger100Maximum 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."
}
FieldNotes
noticeIdTED publication number, which is unique and stable. Use it for de-duplication.
titleTitle in the notice's original language. titleEnglish is TED's English heading (country – CPV description – original title).
buyerName, buyerCity, buyerCountryLead buyer (normally an organisation; free text is e-mail/phone-redacted). buyerCountries lists the countries of all buyers in a joint procurement.
estimatedValue, currencyEstimated 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.
deadlineEarliest tender submission deadline across all lots (ISO 8601 with offset). null for award and information notices.
procedureTypeFor example open, restricted, neg-w-call, comp-dial, innovation.
noticeTypeeForms notice type. cn-* = contract notice (open tender), can-* = contract award notice, pin-* = prior information notice, pmc = pre-market consultation.
contractTypeworks, supplies or services.
placeOfPerformanceNUTS and country codes.
source, attributionCredit 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 titleEnglish is 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 root
pip install -r requirements-dev.txt
pytest -m "not live" # unit tests on recorded fixtures
pytest -m live # live smoke test against the real TED API
cd 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.