303.525 datasets geïndexeerd1.419 uitgevers
Open Data IndexDe index van open data over Nederland
Bronnen›Bestuur
Publicatiebureau van de Europese Unie
Internationaal, relevant voor Nederland

TED, Europese aanbestedingen

TED (Tenders Electronic Daily) is het aanbestedingsblad van de EU. Elke overheid die boven de Europese drempels inkoopt, moet het hier melden: vooraankondiging, aankondiging, gunning en wijziging, met CPV-code, aanbestedende dienst en vaak de winnaar en het bedrag. De zoek-API werkt zonder sleutel. In 2025 verschenen er 22.755 aankondigingen van Nederlandse aanbesteders, sinds oktober 2016 ruim 183.000.

BestuurFinancieelEconomieOpenAPIDownloadZoekdienstEuropa · aankondiging (per aanbesteding en perceel)
Actueel · bijgewerkt 15 uur geleden · gecontroleerd 17:23
ted.europa.eu
Schermafbeelding van ted.europa.eu

Aankondigingen op TED van Nederlandse aanbesteders: 22.755 aankondigingen in 2025, 68% meer dan in 2017

Aankondigingen op TED van Nederlandse aanbesteders, 2017 – 2025, in aankondigingen. Dat is het hoogste punt in de reeks.

Bron: Publicatiebureau van de EU, TED (Tenders Electronic Daily), API v3 · opgehaald 25 oktober 2026 · selectie: buyer-country=NLD (aanbestedende dienst in Nederland); alle soorten aankondigingen: vooraankondiging, aankondiging, gunning, wijzigingOpen de tabel Los blok

Wat je ermee kunt bouwen1

Wat kun je ermee?4 ideeën

Om te beginnen

Wat koopt jouw gemeente in?

Zoek op de naam van de aanbestedende dienst. Op 16 oktober 2026 stond er bijvoorbeeld een gunning van de gemeente Hengelo voor kantoormeubilair.

Om te beginnen

Meer aanbestedingen per jaar

Tel per jaar met buyer-country=NLD en een datumbereik. Van 13.531 in 2017 naar 22.755 in 2025. Let wel op de overstap naar eForms in 2023.

Voor gevorderden

Wie wint het vaakst?

Haal de gunningen (form-type=result) van één jaar op en tel per winnaar. Koppel de namen aan GLEIF of KvK om concerns samen te nemen.

Voor gevorderden

Diensten, leveringen of werken

In 2025 ging het bij 14.214 Nederlandse aankondigingen om diensten, 6.836 om leveringen en 2.510 om werken. Een aankondiging met meer percelen kan in meer groepen vallen.

Zo verwerk je het4 stappen

  1. Zoeken met een expert-query

    POST naar /v3/notices/search met query, fields en limit. Zonder sleutel. Maximaal 250 per pagina en 15.000 per zoekvraag (pagina × limit).

    curl -X POST -H "Content-Type: application/json" -d '{"query":"buyer-country=NLD SORT BY publication-date DESC","fields":["publication-number","publication-date","notice-title","buyer-name","notice-type"],"limit":10,"paginationMode":"PAGE_NUMBER"}' https://api.ted.europa.eu/v3/notices/search
  2. Tellen zonder alles op te halen

    Met limit 1 staat het aantal in totalNoticeCount. Zo tel je per jaar, per soort bericht (form-type) of per soort opdracht (contract-nature).

    curl -X POST -H "Content-Type: application/json" -d '{"query":"buyer-country=NLD AND publication-date>=20250101 AND publication-date<=20251231 AND form-type=result","fields":["publication-number"],"limit":1,"paginationMode":"PAGE_NUMBER"}' https://api.ted.europa.eu/v3/notices/search
  3. Meer dan 15.000 resultaten

    Gebruik paginationMode ITERATION. Elk antwoord geeft een iterationNextToken voor de volgende reeks.

    curl -X POST -H "Content-Type: application/json" -d '{"query":"buyer-country=NLD AND publication-date>=20261001","fields":["publication-number"],"limit":250,"paginationMode":"ITERATION"}' https://api.ted.europa.eu/v3/notices/search
  4. De volledige aankondiging

    Elk resultaat heeft links naar de aankondiging als XML (eForms) en als PDF in alle EU-talen.

    https://ted.europa.eu/en/notice/599786-2026/xml

Interessante koppelingen

Vergelijkbare bronnen

  • TenderNed aanbestedingen

    TenderNed is het Nederlandse aanbestedingsplatform, ook voor opdrachten onder de Europese drempels. TED heeft alleen de Europese aanbestedingen, maar wel van alle EU-landen.

  • data.europa.eu

    Het Europese dataportaal heeft TED als dataset (ted-1) en een CSV-deel (ted-csv), handig voor bulk, maar geen zoekvraag op losse aankondigingen.

Waar je op moet letten

  • Alleen boven de Europese drempels

    Kleinere opdrachten staan niet in TED. Voor een volledig beeld van Nederlandse inkoop kijk je ook in TenderNed.

  • Een aankondiging is geen aanbesteding

    Eén aanbesteding levert vaak meer berichten op (vooraankondiging, aankondiging, gunning, wijziging). Tel per soort bericht als je aanbestedingen wilt tellen.

  • Zoekindex begint in oktober 2016

    Zoekvragen op eerdere publicatiedatums gaven op 16 oktober 2026 nul resultaten. Zoek oudere aankondigingen in de TED-datasets op data.europa.eu.

  • Overstap naar eForms

    Sinds eind 2023 gebruiken aanbesteders eForms, met andere formulieren en velden. Vergelijk jaren voor en na de overstap voorzichtig.

  • Velden zijn soms lijsten of meertalig

    contract-nature en buyer-name komen terug als lijst of als object per taal (bv. buyer-name.nld). Een aankondiging met percelen kan dus dubbel tellen.

APIREST (POST, JSON), OpenAPI 3 · gelezen 16 okt 2026

StandaardREST (POST, JSON), OpenAPI 3documentatie
Toegang zonder sleutel

Geen sleutel voor zoeken. De andere v3-endpoints (submit, validate, render) zijn voor aanbesteders en eSenders en vragen een API-sleutel. getest

Omvang183.548

aankondigingen met een Nederlandse aanbesteder (buyer-country=NLD, scope ALL, 16 okt 2026); 17.776 actief getest

Formaten

jsonxmlpdfhtml

Basisadres

https://api.ted.europa.eu/v3

Endpoints 3

  • POST/notices/searchZoeken met een expert-query; body JSON met query (verplicht), fields (verplicht), limit, page, scope, paginationMode. Antwoord: notices, totalNoticeCount, iterationNextToken.
  • GEThttps://ted.europa.eu/{taal}/notice/{publicatienummer}/xmlDe volledige aankondiging als XML (eForms of het oude TED-schema). Elk zoekresultaat geeft deze links.
  • GEThttps://ted.europa.eu/{taal}/notice/{publicatienummer}/pdfDe aankondiging als PDF in elke EU-taal (ook /html).

Filteren getest

TED expert-query: veld operator waarde, gecombineerd met AND/OR/NOT en haakjes, lijsten met IN (A B), tekst bevat met ~ "woord", FT~ voor de volledige tekst, sorteren met SORT BY veld ASC|DESC aan het eind.

=!=>>=<<=IN ( )~FT~ANDORNOTSORT BY

Parameters 9

queryExpert-query, bv. buyer-country=NLD AND publication-date>=20250101 SORT BY publication-date DESC. Datums als JJJJMMDD.getest
fieldsWelke velden terugkomen (verplicht), bv. publication-number, publication-date, notice-title, buyer-name, notice-type, form-type, classification-cpv, winner-name.uit de beschrijving
limitAantal per pagina, standaard 10, hoogstens 250 (251 geeft SEARCH_EXCEEDS_MAX_LIMIT). Daarnaast hoogstens 10.000 velden per pagina (limit × aantal fields).getest
pagePaginanummer, begint bij 1 (alleen PAGE_NUMBER).uit de beschrijving
paginationModePAGE_NUMBER (standaard, hoogstens 15.000 resultaten) of ITERATION (onbeperkt, met iterationNextToken; geldig tot 24 uur na de volgende OJ S-uitgave).uit de beschrijving
iterationNextTokenToken uit het vorige antwoord, voor de volgende pagina in ITERATION.uit de beschrijving
scopeALL (standaard), ACTIVE (alleen lopende aankondigingen) of LATEST (alleen de laatste OJ S-uitgave).getest
onlyLatestVersionsAlleen de nieuwste versie van een aankondiging.uit de beschrijving
checkQuerySyntaxAlleen de syntaxis controleren, niet zoeken.uit de beschrijving

Velden die je in fields kunt vragen (selectie van 1.830) 14

NaamTypeBetekenis
publication-numberstringPublicatienummer (715510-2026)
publication-datedatePublicatiedatum met tijdzone (2026-10-16+02:00)
notice-titleobjectTitel per taal (nld, eng …)
buyer-nameobjectAanbesteder per taal, waarde is een lijst
buyer-countrystringLand van de aanbesteder (ISO-3: NLD)
notice-typestringSoort bericht (cn-standard, can-standard …)
form-typestringcompetition, result, planning, dir-awa-pre, cont-modif, change
contract-naturelijstworks, supplies, services; per perceel, dus kan dubbel
classification-cpvlijstCPV-codes (8 cijfers), per perceel herhaald
procedure-typestringopen, restricted, neg-w-call …
place-of-performancelijstNUTS-codes en land
winner-nameobjectWinnaar per taal (bij gunningen; kan een persoon zijn)
Toon alle 14
NaamTypeBetekenis
deadline-receipt-tender-date-lotlijstSluitingsdatum per perceel
linksobjectLinks naar xml, pdf en html per taal

Limieten en valkuilen

  • PAGE_NUMBER: hoogstens 250 per pagina en 15.000 per zoekvraag (page × limit; daarboven SEARCH_WINDOW_TOO_WIDE). ITERATION: geen maximum aan resultaten. uit de beschrijving
  • Geen rate-limit-koppen gezien. Eén zoekvraag met SORT BY duurde ongeveer 7 s; een telling met limit 1 is sneller. getest
  • Fouten komen als JSON met error.type: QUERY_UNKNOWN_FIELD (met fieldName en positie), QUERY_SYNTAX_ERROR, SEARCH_EXCEEDS_MAX_LIMIT … getest
  • Tellen: limit 1 en totalNoticeCount lezen. NL 2025: 22.755 aankondigingen; met buyer-country IN (NLD BEL) 349.226 sinds 2016. getest
  • De zoekindex begint in oktober 2016; eerdere publicatiedatums geven 0. buyer-country=NLD is voor de eerste jaren onvolledig (2016: 2.912, 2018: 15.491). ervaring
  • Velden die er niet zijn komen niet terug (total-value ontbrak bij gunningen). buyer-name en notice-title zijn objecten per taal; contract-nature en classification-cpv lijsten per perceel, dus tel aankondigingen, geen lijstwaarden. getest
  • Op api.ted.europa.eu is geen robots.txt (404). Op ted.europa.eu zijn alleen portaal- en zoekpagina's verboden; /…/notice/<nr>/xml mag. ervaring

Probeer het HTTP 200 · 519 ms · 16 okt

curl -X POST "https://api.ted.europa.eu/v3/notices/search" \
  -d '{"query":"buyer-country=NLD SORT BY publication-date DESC","fields":["publication-number","publication-date","buyer-name","notice-type","form-type"],"limit":3,"paginationMode":"PAGE_NUMBER"}'
{
  "notices": [
    {
      "notice-type": "cn-standard",
      "publication-number": "715510-2026",
      "publication-date": "2026-10-16+02:00",
      "buyer-name": {
        "nld": [
          "SSC IUC DJI"
        ]
      },
      "links": {
        "xml": {
          "MUL": "https://ted.europa.eu/en/notice/715510-2026/xml"
        },
        "pdf": {
          "BUL": "https://ted.europa.eu/bg/notice/715510-2026/pdf",
          "SPA": "https://ted.europa.eu/es/notice/715510-2026/pdf",
          "CES": "https://ted.europa.eu/cs/notice/715510-2026/pdf",
          "DAN": "https://ted.europa.eu/da/notice/715510-2026/pdf",
          "DEU": "https://ted.europa.eu/de/notice/715510-2026/pdf",
          "EST": "https://ted.europa.eu/et/notice/715510-2026/pdf",
          "ELL": "https://ted.europa.eu/el/notice/715510-2026/pdf",
          "ENG": "https://ted.europa.eu/en/notice/715510-2026/pdf",
          "FRA": "https://ted.europa.eu/fr/notice/715510-2026/pdf",
          "GLE": "https://ted.europa.eu/ga/notice/715510-2026/pdf",
          "HRV": "https://ted.europa.eu/hr/notice/715510-2026/pdf",
          "ITA": "https://ted.europa.eu/it/notice/715510-2026/pdf",
          "LAV": "https://ted.europa.eu/lv/notice/715510-2026/pdf",
          "LIT": "https://ted.europa.eu/lt/notice/715510-2026/pdf"
        },
        "pdfs": {
          "NLD": "https://ted.europa.eu/nl/notice/715510-2026/pdfs"
        },
        "html": {
          "BUL": "https://ted.europa.eu/bg/notice/-/detail/715510-2026",
          "SPA": "https://ted.europa.eu/es/notice/-/detail/715510-2026",
          "CES": "https://ted.europa.eu/cs/notice/-/detail/715510-2026",
          "DAN": "https://ted.europa.eu/da/notice/-/detail/715510-2026",
          "DEU": "https://ted.europa.eu/de/notice/-/detail/715510-2026",

Ingekort antwoord, opgeslagen bij het oogsten. Klik op het adres voor het echte, actuele antwoord.

Gelezen uit OpenAPI van de TED API v3 (450 kB): zoekparameters, limieten, foutsoorten en 1.830 op te vragen velden (NoticeResponse) · Swagger UI om aanroepen te proberen · Expert Search: query opstellen, syntaxis controleren en alle velden opzoeken. Labels: uit de beschrijving staat in wat de api zelf publiceert. getest uit onze eigen kleine aanroep. platform geldt voor elk api van dit platform, volgens de documentatie. ervaring zelf ondervonden bij het bouwen van open data index.

Zo haal je het op

curl -X POST -H "Content-Type: application/json" -d '{"query":"buyer-country=NLD SORT BY publication-date DESC","fields":["publication-number","publication-date","buyer-name","notice-type"],"limit":5,"paginationMode":"PAGE_NUMBER"}' https://api.ted.europa.eu/v3/notices/search

Meer in dit thema

Bekijk hoe deze pagina is opgebouwd
bron: ted-aanbestedingen
blokken: []
secties:
  - ideeen
  - verwerken
  - koppelingen
  - vergelijkbaar
  - beperkingen
  - code
cache:
  tag: bron:ted-aanbestedingen
  ververs: na statuscheck, als de bron nieuwer is
statuscheck:
  methode: publicatiedatum van de nieuwste Nederlandse aankondiging (SORT BY
    publication-date DESC)
  verwacht: dagelijks

Bron: content/bronnen/ted-aanbestedingen.yaml · Markdown