303.525 datasets geïndexeerd1.419 uitgevers
Open Data IndexDe index van open data over Nederland
Open Data Index›Bouwen›Aanbestedingsradar: wie krijgt de overheidsopdrachten?
DashboardGevorderdFinancieelEconomie

Aanbestedingsradar: wie krijgt de overheidsopdrachten?

Zie per kwartaal welke bedrijven Nederlandse overheidsopdrachten winnen, in welke sector en voor welk bedrag, met hun KvK-nummer, LEI en moedermaatschappij.

Je AI-assistentOpen Data Index MCP aan
De MCP-server van Open Data Index staat aan in je chat. Zo leest de assistent dit project en de bronnen zelf.
Jij plakt de prompt van dit project
De assistent haalt op bij Open Data Index
  • geef_project("aanbestedingsradar")
  • geef_bron("ted-aanbestedingen")
  • geef_bron("tenderned")
  • geef_bron("gleif-lei")
De assistent

Ik heb het project, de geteste aanroepen en de valkuilen. Ik bouw een dashboard met TED, Europese aanbestedingen, TenderNed aanbestedingen en GLEIF, wereldwijd register van LEI-codes. Zo kan het eruitzien:

Dit bouw je zelf. Kopieer de prompt naar Claude, ChatGPT of Cursor, met de MCP-server aan, of volg de stappen hieronder.

Volg de stappen
gunningsradar.nl/kwartaal/2026-q3
GunningsradarJD
Q3 2026 ▾Aanbesteder: NLSoort: gunning+ filter
2.243gunningen in TED2.000 met winnaar
€ 15,9 mldopgegeven waarderaamovereenk. op max.
6.790publicaties TenderNedook onder de drempel

Per sector CPV · aantal · waarde

  • 79Zakelijke diensten431€ 4,9 mld
  • 77Groen en tuinbouw174€ 160 mln
  • 45Bouwwerkzaamheden168€ 4,7 mld
  • 72IT-diensten145€ 1,4 mld
  • 71Architecten en ingenieurs134€ 312 mln
  • 90Afval, riool en milieu124€ 441 mln

Vaakst gekozen # = aankondigingen

KvKLeverancier#Waarde*LEI
06073970Cloudwisevooral onderwijsinkoop24€ 2,1 mln—
05086034Poelsema Landschapsonderhoud en HandelStaatsbosbeheer, symbolisch € 123€ 0—
56515154Haskoning Nederland B.V.LEI 724500JGY5BCHI34ZY08↳ moeder: Koninklijke Haskoning Groep B.V.15€ 11,5 mln✓
06042440Heutink B.V.14€ 6,2 mln—
29021830Antea Nederland B.V.11€ 1,6 mln—
34045532Canon Nederland N.V.10€ 15,2 mln✓
* als enige winnaar; 496 zonder bruikbaar bedragTED · TenderNed · GLEIF
Mockup

Dit is een mockup, geen werkende versie, met de cijfers uit onze proefdraai van 16 oktober 2026 (TED en TenderNed voor juli tot en met september 2026, GLEIF van die dag). De MCP-server zet je aan met het adres op Voor AI.

Voor wie

Onderzoeksjournalisten die geldstromen volgen, ondernemers die de concurrentie willen kennen, inkopers die marktonderzoek doen, en onderzoekers naar overheidsinkoop.

Wat je krijgt

Een dashboard met per kwartaal de gunningen van Nederlandse aanbesteders: aantal en bedrag per sector (CPV-hoofdgroep), de leveranciers die het vaakst winnen, en per leverancier het KvK-nummer, de LEI en de moedermaatschappij. Daarnaast het totaal aantal publicaties in TenderNed, ook onder de Europese drempels.

Proefdraai op 16 oktober 2026 voor juli tot en met september 2026: 2.243 gunningsaankondigingen in TED van Nederlandse aanbesteders, 2.000 met een winnaar, samen 15.941 miljoen euro aan opgegeven waarde (raamovereenkomsten tellen met hun maximum). Zakelijke diensten (CPV 79) had de meeste aankondigingen (431, 4.928 miljoen), gevolgd door groen en tuinbouw (174) en bouw (168, 4.728 miljoen). Vaakst gekozen: Cloudwise (24 keer, vooral via onderwijsinkoop), Poelsema Landschapsonderhoud (23, allemaal voor Staatsbosbeheer, met een symbolisch bedrag van 1 euro) en Haskoning Nederland (15). Haskoning en Canon Nederland hebben een LEI (moeders: Koninklijke Haskoning Groep en キヤノン株式会社, Canon Inc.), de andere vier niet. TenderNed telde in hetzelfde kwartaal 6.790 publicaties.

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

Zo zou je kunnen starten6 stappen

  1. 1

    Haal de gunningen op uit TED

    TED (Tenders Electronic Daily) is de Europese aanbestedingskrant: alles boven de Europese drempels. De zoek-API is POST, zonder sleutel. form-type=result zijn de gunningen; buyer-country=NLD de Nederlandse aanbesteders. In fields kies je de velden: winner-identifier (meestal het KvK-nummer), organisation-name-tenderer (de namen, per taal), total-value en main-classification-proc (CPV-code). Niet elke gunning heeft een winnaar: de eerste hieronder niet.

    curl -X POST "https://api.ted.europa.eu/v3/notices/search" \
      -H 'Content-Type: application/json' -d '{"query":"buyer-country=NLD AND form-type=result AND publication-date>=20260701 AND publication-date<=20260930","fields":["publication-number","publication-date","buyer-name","winner-identifier","organisation-name-tenderer","total-value","total-value-cur","main-classification-proc"],"limit":2,"page":1,"paginationMode":"PAGE_NUMBER"}'
    {"notices":[
      {"publication-number":"449383-2026","publication-date":"2026-07-01+02:00","buyer-name":{"nld":["LOGOS, Stichting voor Protestants Christelijk Onderwijs"]},"main-classification-proc":["39100000"], "links":{…}},
      {"winner-identifier":["17239940"],"publication-number":"449418-2026","publication-date":"2026-07-01+02:00","buyer-name":{"nld":["Stichting Fioretti Teylingen"]},
       "total-value-cur":["EUR"],"main-classification-proc":["30200000"],"organisation-name-tenderer":{"nld":["Bechtle B.V."]},"total-value":3300000, "links":{…}}],
     "totalNoticeCount":2243,"iterationNextToken":null,"timedOut":false}
  2. 2

    Pagineer, en lees nummers en namen in dezelfde volgorde

    limit hoogstens 250, page × limit hoogstens 15.000; 2.243 gunningen zijn 9 pagina's. Bij een raamovereenkomst met meer winnaars is winner-identifier een lijst en staan de namen in organisation-name-tenderer in dezelfde volgorde (in ons kwartaal klopte dat bij 1.998 van de 2.000). winner-name geeft dan maar één naam: gebruik dat veld niet. Bijna altijd is het nummer een KvK-nummer van 8 cijfers (2.731 keer), soms een btw-nummer of buitenlands nummer (268 keer).

    curl -X POST "https://api.ted.europa.eu/v3/notices/search" \
      -H 'Content-Type: application/json' -d '{"query":"buyer-country=NLD AND form-type=result AND publication-date>=20261001","fields":["publication-number","total-value","total-value-cur","winner-identifier","winner-name","organisation-identifier-tenderer","organisation-name-tenderer"],"limit":2,"paginationMode":"PAGE_NUMBER"}'
    {"notices":[{"winner-identifier":["39050726","88307085","34346504"],
       "organisation-identifier-tenderer":["39050726","88307085","34346504"],
       "publication-number":"674647-2026","total-value-cur":["EUR"],
       "organisation-name-tenderer":{"nld":["International Security Partners B.V.","Otentica B.V.","Validata Group B.V."]},
       "links":{…},"winner-name":{"nld":["International Security Partners B.V."]},"total-value":3900000},
      {"publication-number":"674737-2026","total-value-cur":["EUR"],"links":{…},"total-value":512000}],
     "totalNoticeCount":350,"iterationNextToken":null,"timedOut":false}
  3. 3

    Kijk naar alle aanbestedingen in TenderNed

    TenderNed heeft ook de nationale aanbestedingen. De publicatie-webservice geeft met size=1 het totaal in totalElements; typeOpdracht kiest leveringen (L), diensten (D) of werken (W). In juli tot en met september 2026: 6.790 publicaties, waarvan 866 werken. Andere filters (typePublicatie, europees) worden stil genegeerd, en vóór 2022 is de webservice onvolledig.

    https://www.tenderned.nl/papi/tenderned-rs-tns/v2/publicaties?page=0&size=1&publicatieDatumVanaf=2026-07-01&publicatieDatumTot=2026-09-30&typeOpdracht=W
    {"content":[{"publicatieId":"442341","publicatieDatum":"2026-09-30","typePublicatie":{"code":"MAC","omschrijving":"Marktconsultatie"},
      "aanbestedingNaam":"Nieuwe energiecentrale in Den Helder","opdrachtgeverNaam":"Rijksvastgoedbedrijf", …
      "typeOpdracht":{"code":"W","omschrijving":"Werken"},"digitaal":true,"europees":false, …}],
     "first":true,"last":false,"totalElements":866,"totalPages":866,"size":1,"numberOfElements":1,"number":0}
  4. 4

    TenderNed noemt de winnaar niet

    Ook een gunningspublicatie (AGO, formType result) heeft in de webservice alleen isGegund, de CPV-codes en de opdrachtgever, geen opdrachtnemer of bedrag. Voor winnaars gebruik je TED (boven de drempels) of de jaarbestanden van TenderNed (OCDS-JSON, 58 tot 116 MB per jaar, met awards en suppliers; let op de persoonsgegevens van contactpersonen).

    https://www.tenderned.nl/papi/tenderned-rs-tns/v2/publicaties/444576
    {"publicatieId":444576,"kenmerk":618608,"aanbestedingNaam":"Point of Sale, Banqueting en App eten & drinken HvA-UvA",
     "opdrachtgeverNaam":"Universiteit van Amsterdam", … "typePublicatie":"Aankondiging gegunde opdracht - algemene richtlijn, standaardregeling",
     "publicatieCode":"EF29", … "cpvCodes":[…,{"isHoofdOpdracht":true,"code":"48110000-2","omschrijving":"Software voor verkooppunten"}],
     … "isGegund":true, … "aankondigingCode":{"code":"AGO","omschrijving":"Aankondiging gegunde opdracht"}, … "formType":"result", …}
  5. 5

    Van KvK-nummer naar LEI

    GLEIF (CC0, geen sleutel) zoekt op entity.registeredAs, het KvK-nummer; registratie-autoriteit RA000463 is de Kamer van Koophandel. Voorloopnullen horen erbij ('05086034'). Veel mkb-bedrijven hebben geen LEI; vaak heeft alleen de holding er een. Zet curl op -g vanwege de blokhaken.

    https://api.gleif.org/api/v1/lei-records?filter[entity.registeredAs]=56515154&filter[entity.legalAddress.country]=NL
    {"meta":{"goldenCopy":{"publishDate":"2026-10-16T08:00:00Z"},"pagination":{"currentPage":1,"perPage":15,"from":1,"to":1,"total":1,"lastPage":1}},
     "links":{…},"data":[{"type":"lei-records","id":"724500JGY5BCHI34ZY08","attributes":{"lei":"724500JGY5BCHI34ZY08",
       "entity":{"legalName":{"name":"Haskoning Nederland B.V.","language":"nl"},
         "otherNames":[{"name":"HaskoningDHV Nederland B.V.","language":"nl","type":"PREVIOUS_LEGAL_NAME"}], …
         "registeredAt":{"id":"RA000463","other":null},"registeredAs":"56515154","jurisdiction":"NL", …},
       "registration":{… "status":"ISSUED", …}}, …}]}
  6. 6

    Volg het concern naar boven

    ultimate-parent geeft de top van het concern, als die zelf een LEI heeft en de relatie gemeld is. Zo zie je dat Canon Nederland onder Canon Inc. in Japan valt (naam in het Japans) en Haskoning Nederland onder Koninklijke Haskoning Groep.

    https://api.gleif.org/api/v1/lei-records/724500JGY5BCHI34ZY08/ultimate-parent
    {"meta":{"goldenCopy":{"publishDate":"2026-10-16T08:00:00Z"}},"data":{"type":"lei-records","id":"724500HYZARZBIG4VP03",
      "attributes":{"lei":"724500HYZARZBIG4VP03","entity":{"legalName":{"name":"Koninklijke Haskoning Groep B.V.","language":"nl"},
        "otherNames":[{"name":"Koninklijke HaskoningDHV Groep B.V.","language":"nl","type":"PREVIOUS_LEGAL_NAME"}], …
        "legalAddress":{… "city":"Amersfoort", … "country":"NL","postalCode":"3818EX"}, …

Hoe de bronnen samenkomen

  • TED, Europese aanbestedingenGLEIF, wereldwijd register van LEI-codesvia winner-identifier (KvK-nummer, 8 cijfers) = entity.registeredAs

    TED geeft bij Nederlandse winnaars bijna altijd het KvK-nummer. Dat is in GLEIF het veld registeredAs (registratie-autoriteit RA000463). Zo krijg je de officiële naam, de status van de LEI en de moedermaatschappij. Btw-nummers (NL…B01) en buitenlandse nummers koppel je zo niet.

  • TED, Europese aanbestedingenTenderNed aanbestedingenvia geen gedeelde sleutel; opdrachtgever, titel en datum

    Europese aanbestedingen staan in beide (TenderNed stuurt ze door naar TED). TenderNed heeft ook de nationale, maar zonder winnaar in de webservice. Gebruik TED voor de winnaars en TenderNed voor het totale volume per soort opdracht.

Laat AI het bouwen

Plak deze prompt in Claude, ChatGPT, Cursor of Lovable. Hij noemt de echte endpoints, de koppelsleutels en de valkuilen, zodat de assistent meteen werkende code schrijft. Controleer de uitkomst altijd met de bron zelf.

Bouw een dashboard (Python met pandas en Streamlit, of Next.js) dat per kwartaal laat zien welke bedrijven Nederlandse overheidsopdrachten winnen, in welke sector en voor hoeveel.

Bron 1, TED (geen sleutel): POST https://api.ted.europa.eu/v3/notices/search met JSON
{"query":"buyer-country=NLD AND form-type=result AND publication-date>=20260701 AND publication-date<=20260930","fields":["publication-number","publication-date","buyer-name","winner-identifier","organisation-name-tenderer","total-value","total-value-cur","main-classification-proc"],"limit":250,"page":1,"paginationMode":"PAGE_NUMBER"}
- limit hoogstens 250, page × limit hoogstens 15.000. Meer nodig: paginationMode ITERATION met iterationNextToken. Het totaal staat in totalNoticeCount.
- Datums als JJJJMMDD in de query. De zoekindex begint in oktober 2016; sinds eind 2023 zijn het eForms (andere velden dan daarvoor).
- winner-identifier is een lijst (raamovereenkomst = meer winnaars), meestal KvK-nummers van 8 cijfers. organisation-name-tenderer is een object per taal ({"nld":[…]}) met de namen in dezelfde volgorde. Gebruik winner-name niet: dat geeft één naam, ook bij drie winnaars.
- total-value is het bedrag van de hele aankondiging, bij raamovereenkomsten vaak het maximum. Verdeel het niet over winnaars; toon "bedrag als enige winnaar" apart.
- Veel aanbesteders vullen 1 euro in als het bedrag vertrouwelijk is (Staatsbosbeheer, Gasunie, Defensie): tel bedragen onder 1.000 euro als onbekend. Alleen EUR optellen.
- Gunningen zonder winner-identifier zijn niet gegund of de winnaar is niet gepubliceerd.
- Sector: de eerste twee cijfers van main-classification-proc (CPV-hoofdgroep), bijvoorbeeld 45 bouw, 72 IT-diensten, 79 zakelijke diensten.

Bron 2, GLEIF (CC0, geen sleutel): https://api.gleif.org/api/v1/lei-records?filter[entity.registeredAs]=<KvK>&filter[entity.legalAddress.country]=NL en /lei-records/<LEI>/ultimate-parent
- Voorloopnullen horen bij het KvK-nummer. Veel bedrijven hebben geen LEI (vaak alleen de holding): toon dan "geen LEI", niet een fout.
- Rustig aan: één verzoek tegelijk, cache de antwoorden.

Bron 3, TenderNed (geen sleutel): https://www.tenderned.nl/papi/tenderned-rs-tns/v2/publicaties?page=0&size=1&publicatieDatumVanaf=2026-07-01&publicatieDatumTot=2026-09-30&typeOpdracht=W
- totalElements is het aantal. typeOpdracht L, D of W. Onbekende filters worden genegeerd. Geen winnaars in deze webservice.

Uitkomst: kies een kwartaal; kaarten met aantal gunningen, aantal met winnaar en opgegeven waarde; een staafgrafiek per CPV-hoofdgroep; een tabel van leveranciers (KvK, naam, aantal gewonnen, bedrag als enige winnaar, LEI, moeder) met een zoekveld; en naast TED het TenderNed-totaal per soort opdracht. Zet bij elk bedrag "opgegeven waarde, raamovereenkomsten met hun maximum".

Probeer het zelf

De kern van het project in een klein script. Nodig: Node 20 of nieuwer (ingebouwde fetch); draai met: node aanbestedingsradar.mjs (ruim een halve minuut). Getest op 2026-10-16; hieronder de echte uitvoer van die proefdraai.

// Aanbestedingsradar: wie wint Nederlandse overheidsopdrachten, in welke sector, voor hoeveel?
// Bronnen: TED (EU-aanbestedingen, POST-zoek-API), TenderNed (publicatie-webservice) en GLEIF (LEI-register). Geen sleutels. Node 20+.
const UA = { "User-Agent": "mijn-project/1.0 (+jij@voorbeeld.nl)" };
const VAN = "2026-07-01", TOT = "2026-09-30";
const CPV = { "03": "Landbouwproducten", "09": "Brandstof en energie", 15: "Voeding", 22: "Drukwerk", 30: "Kantoor- en computeruitrusting",
  31: "Elektrische apparatuur", 32: "Telecomapparatuur", 33: "Medische apparatuur en medicijnen", 34: "Vervoermiddelen", 35: "Veiligheid en defensie",
  38: "Laboratoriumapparatuur", 39: "Meubilair en schoonmaak", 42: "Industriële machines", 44: "Bouwmaterialen", 45: "Bouwwerkzaamheden",
  48: "Software", 50: "Reparatie en onderhoud", 51: "Installatie", 55: "Horeca", 60: "Vervoer", 63: "Ondersteunend vervoer", 64: "Post en telecom",
  65: "Nutsvoorzieningen", 66: "Financiële diensten", 70: "Vastgoed", 71: "Architecten en ingenieurs", 72: "IT-diensten", 73: "Onderzoek",
  75: "Overheidsdiensten", 77: "Groen en tuinbouw", 79: "Zakelijke diensten", 80: "Onderwijs", 85: "Zorg en welzijn", 90: "Afval, riool en milieu",
  92: "Recreatie en cultuur", 98: "Overige diensten" };

// 1. TED: alle gunningen (form-type=result) van Nederlandse aanbesteders. Max 250 per pagina, page x limit max 15.000.
const ted = [];
for (let page = 1; ; page++) {
  const r = await fetch("https://api.ted.europa.eu/v3/notices/search", { method: "POST", headers: { ...UA, "Content-Type": "application/json" },
    body: JSON.stringify({ query: `buyer-country=NLD AND form-type=result AND publication-date>=${VAN.replaceAll("-", "")} AND publication-date<=${TOT.replaceAll("-", "")}`,
      fields: ["publication-number", "total-value", "total-value-cur", "winner-identifier", "organisation-name-tenderer", "main-classification-proc"],
      limit: 250, page, paginationMode: "PAGE_NUMBER" }) });
  const j = await r.json();
  ted.push(...j.notices);
  if (j.notices.length < 250) break;
}
// winner-identifier is meestal het KvK-nummer (8 cijfers), soms een btw-nummer. Namen staan per taal in organisation-name-tenderer,
// in dezelfde volgorde als de nummers. Bij meer winnaars (raamovereenkomst) is total-value het bedrag van de hele aankondiging.
const winnaar = {}, sector = {};
let metWinnaar = 0, waarde = 0, zonderBedrag = 0;
for (const n of ted) {
  const ids = n["winner-identifier"] ?? [];
  // Bedrag: alleen EUR. Veel aanbesteders vullen 1 euro in als het bedrag vertrouwelijk is (Staatsbosbeheer 106 keer):
  // tel alles onder 1.000 euro als 'geen bedrag'.
  const eur = n["total-value-cur"]?.[0] === "EUR" && n["total-value"] >= 1000 ? n["total-value"] : 0;
  if (!eur) zonderBedrag++;
  const cpv = (n["main-classification-proc"]?.[0] ?? "??").slice(0, 2);
  (sector[cpv] ??= { n: 0, eur: 0 }).n++; sector[cpv].eur += eur;
  if (!ids.length) continue;                                                       // geen winnaar: niet gegund of geheim
  metWinnaar++; waarde += eur;
  const namen = Object.values(n["organisation-name-tenderer"] ?? {})[0] ?? [];
  ids.forEach((id, i) => { const w = (winnaar[id] ??= { naam: namen[i] ?? "?", n: 0, eur: 0, alleen: 0 }); w.n++; w.eur += eur; if (ids.length === 1) w.alleen += eur; });
}
const mln = (x) => (x / 1e6).toLocaleString("nl-NL", { maximumFractionDigits: 1 });
console.log(`TED, ${VAN} t/m ${TOT}: ${ted.length} gunningsaankondigingen van Nederlandse aanbesteders, ${metWinnaar} met winnaar, samen ${mln(waarde)} mln euro`);
console.log(`  (${zonderBedrag} aankondigingen zonder bruikbaar bedrag: leeg, andere munt of symbolisch 1 euro)`);
console.log("\nSectoren (CPV-hoofdgroep), meeste aankondigingen:");
for (const [c, s] of Object.entries(sector).sort((a, b) => b[1].n - a[1].n).slice(0, 6))
  console.log(`  ${c} ${(CPV[c] ?? "?").padEnd(28)} ${String(s.n).padStart(4)}   ${mln(s.eur).padStart(7)} mln`);
const top = Object.entries(winnaar).sort((a, b) => b[1].n - a[1].n).slice(0, 6);
console.log("\nVaakst gekozen leveranciers (aantal aankondigingen; bedrag als enige winnaar):");
for (const [id, w] of top) console.log(`  ${id.padEnd(9)} ${w.naam.slice(0, 38).padEnd(38)} ${String(w.n).padStart(3)}   ${mln(w.alleen).padStart(6)} mln`);

// 2. GLEIF: KvK-nummer -> LEI, officiële naam en moedermaatschappij (alleen als het bedrijf een LEI heeft).
console.log("\nIn het LEI-register (GLEIF):");
for (const [id] of top.filter(([id]) => /^\d{8}$/.test(id))) {
  const q = new URLSearchParams({ "filter[entity.registeredAs]": id, "filter[entity.legalAddress.country]": "NL" });
  const g = await (await fetch(`https://api.gleif.org/api/v1/lei-records?${q}`, { headers: UA })).json();
  const rec = g.data[0];
  if (!rec) { console.log(`  ${id}  geen LEI`); continue; }
  const p = await fetch(`https://api.gleif.org/api/v1/lei-records/${rec.id}/ultimate-parent`, { headers: UA });
  const moeder = p.ok ? (await p.json()).data?.attributes.entity.legalName.name : null;
  console.log(`  ${id}  ${rec.id}  ${rec.attributes.entity.legalName.name} (${rec.attributes.registration.status})${moeder ? `, moeder: ${moeder}` : ""}`);
}

// 3. TenderNed: alle publicaties in dezelfde periode, ook onder de Europese drempels. size=1: alleen het totaal.
const tn = async (extra) => (await (await fetch("https://www.tenderned.nl/papi/tenderned-rs-tns/v2/publicaties?" + new URLSearchParams({
  page: 0, size: 1, publicatieDatumVanaf: VAN, publicatieDatumTot: TOT, ...extra }), { headers: UA })).json()).totalElements;
const [alles, L, D, W] = await Promise.all([tn({}), tn({ typeOpdracht: "L" }), tn({ typeOpdracht: "D" }), tn({ typeOpdracht: "W" })]);
console.log(`\nTenderNed, zelfde periode: ${alles} publicaties (leveringen ${L}, diensten ${D}, werken ${W}), van vooraankondiging tot gunning`);
Uitvoer
TED, 2026-07-01 t/m 2026-09-30: 2243 gunningsaankondigingen van Nederlandse aanbesteders, 2000 met winnaar, samen 15.941,2 mln euro
  (496 aankondigingen zonder bruikbaar bedrag: leeg, andere munt of symbolisch 1 euro)

Sectoren (CPV-hoofdgroep), meeste aankondigingen:
  79 Zakelijke diensten            431   4.928,3 mln
  77 Groen en tuinbouw             174     160,1 mln
  45 Bouwwerkzaamheden             168   4.727,5 mln
  72 IT-diensten                   145   1.396,6 mln
  71 Architecten en ingenieurs     134     311,6 mln
  90 Afval, riool en milieu        124     441,1 mln

Vaakst gekozen leveranciers (aantal aankondigingen; bedrag als enige winnaar):
  06073970  Cloudwise                               24      2,1 mln
  05086034  Poelsema Landschapsonderhoud en Handel  23        0 mln
  56515154  Haskoning Nederland B.V.                15     11,5 mln
  06042440  Heutink B.V.                            14      6,2 mln
  29021830  Antea Nederland B.V.                    11      1,6 mln
  34045532  Canon Nederland N.V.                    10     15,2 mln

In het LEI-register (GLEIF):
  06073970  geen LEI
  05086034  geen LEI
  56515154  724500JGY5BCHI34ZY08  Haskoning Nederland B.V. (ISSUED), moeder: Koninklijke Haskoning Groep B.V.
  06042440  geen LEI
  29021830  geen LEI
  34045532  89450091HV57JX3WQE27  Canon Nederland N.V. (ISSUED), moeder: キヤノン株式会社

TenderNed, zelfde periode: 6790 publicaties (leveringen 1828, diensten 4127, werken 866), van vooraankondiging tot gunning

Waar het misgaat

  • Een symbolisch bedrag is geen bedrag: 321 van de 2.243 gunningen in het derde kwartaal van 2026 hadden een total-value van 1 euro of minder (Staatsbosbeheer 106 keer, Gemeente Rotterdam 17, Gasunie 14). Tel bedragen onder 1.000 euro als onbekend, anders lijkt een leverancier met 23 opdrachten niets te verdienen.
  • total-value hoort bij de hele aankondiging. Bij een raamovereenkomst met drie winnaars weet je niet wie wat krijgt, en vaak is het een maximum dat nooit wordt gehaald. Tel het bedrag niet bij elke winnaar op; laat 'als enige winnaar' en 'samen met anderen' apart zien.
  • winner-name geeft één naam, ook als winner-identifier drie nummers heeft. Gebruik organisation-name-tenderer: die namen staan in dezelfde volgorde als de nummers. En het is een object per taal ({"nld": […]} of {"eng": […]}).
  • TED heeft alleen opdrachten boven de Europese drempels. De webservice van TenderNed heeft ook de kleinere, maar geen winnaars: voor wie de nationale opdrachten wint, heb je de jaarbestanden van TenderNed nodig (OCDS, tot 116 MB per jaar, met persoonsgegevens van contactpersonen).
  • Geen LEI betekent niet dat het bedrijf niet bestaat. Van de zes vaakst gekozen leveranciers hadden er vier geen LEI; bij Heutink en Poelsema heeft alleen een holding er een (onder een ander KvK-nummer). Zoek op naam alleen als controle, nooit als automatische koppeling.
  • Eén aanbesteding levert meer berichten op (vooraankondiging, aankondiging, gunning, wijziging). Wie gunningen telt, filtert op form-type=result; wie aanbestedingen telt, moet berichten van dezelfde procedure samenvoegen.

Verder bouwen

  • Volg één aanbesteder: zet buyer-name of de aanbesteder in de query en laat zien bij welke leveranciers een gemeente of ministerie het meeste inkoopt, per jaar sinds 2024.
  • Maak een concernoverzicht: groepeer winnaars op hun ultimate-parent uit GLEIF en zie welke internationale groepen via Nederlandse dochters opdrachten winnen.
  • Lees een jaarbestand van TenderNed in (streaming, OCDS) en tel ook de nationale gunningen per leverancier. Vergelijk met TED om te zien hoeveel inkoop onder de drempels blijft.
  • Stuur een melding bij nieuwe gunningen in jouw sector: draai elke dag de TED-zoekvraag met main-classification-proc en publication-date van gisteren.

Meer met deze data

Publicaties op TenderNed per soort opdracht: het meest diensten (15.390 publicaties), dan leveringen en werken

Publicaties op TenderNed per soort opdracht, 2025, in publicaties. Totaal: 25.797; de grootste 3 van 3 categorieën staan in de grafiek. Diensten is 60% van het totaal. Een publicatie kan bij meer soorten horen: samen 25.935, tegen 25.797 publicaties.

Bron: TenderNed, publicatie-webservice (TNS) · opgehaald 25 oktober 2026 · selectie: publicatiedatum in 2025; typeOpdracht L, D, WOpen de tabel Los blok

De bronnen3

TED, Europese aanbestedingen

Publicatiebureau van de Europese Unie (TED, Supplement op het Publicatieblad)Europa, aankondiging (per aanbesteding en perceel)

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.

OpenAPIDownloadZoekdienstBestuurFinancieelEconomie
Actueel
bijgewerkt 15 uur geleden

TenderNed aanbestedingen

TenderNed (Rijksdienst voor Ondernemend Nederland, ministerie van Economische Zaken)Nederland, publicatie (aanbesteding, perceel)

TenderNed is het aanbestedingsplatform van de overheid. Elke publicatie (aankondiging, gunning, rectificatie, marktconsultatie …) staat erin met aanbesteder, soort opdracht, procedure en CPV-code. Open zijn de jaarbestanden (JSON in de Open Contracting-standaard, CC0) en een publicatie-webservice; in die webservice stonden op 16 oktober 2026 146.513 publicaties, waarvan 25.797 uit 2025.

OpenAPIDownloadEconomieFinancieel
Actueel
bijgewerkt 15 uur geleden

GLEIF, wereldwijd register van LEI-codes

Global Legal Entity Identifier Foundation (GLEIF), BazelWereld, rechtspersoon

Een LEI (Legal Entity Identifier) is een code van twintig tekens die elke rechtspersoon nodig heeft die handelt op de financiële markten. De Global LEI Foundation (GLEIF) publiceert het hele register open: naam, adres, rechtsvorm, KvK-nummer, status en wie de directe en uiteindelijke moedermaatschappij is. Op 16 oktober 2026 hadden 198.915 LEI's een juridisch adres in Nederland, van de ruim 3,4 miljoen wereldwijd.

OpenAPIDownloadEconomieFinancieel
Actueel
bijgewerkt 15 uur geleden

Meer om te bouwen