TenderNed Procurement Notices - Netherlands avatar

TenderNed Procurement Notices - Netherlands

Pricing

from $33.50 / 1,000 procurement notice records

Go to Apify Store
TenderNed Procurement Notices - Netherlands

TenderNed Procurement Notices - Netherlands

Netherlands TenderNed procurement notices, searchable by text, dates, contract type, notice type, authority, EU or national, and open for bids: id, date, type, tender name, contracting authority, procedure, closing date. Description and contacts dropped. CC0. $0.05 per record.

Pricing

from $33.50 / 1,000 procurement notice records

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

22 days ago

Last modified

Share

Every Dutch public-procurement publication from TenderNed - the Netherlands national procurement platform - as one clean, flat record. Publication id, date, type, tender name, contracting authority, procedure, contract type and the EU-level flag, read from the keyless list endpoint. No free-text description, no contact persons.

What one record represents

The source is TenderNed (www.tenderned.nl/papi/...), the Dutch national tender platform, read from its keyless JSON list endpoint (/papi/tenderned-rs-tns/v2/publicaties). Each record is one publication: its publication id, publication date, publication type (description and code), the tender name, the contracting authority, the procedure, the contract type (works/supplies/services), the publication status and code, the EU-level flag (is_european), and a link back to the publication.

Search TenderNed

Question: which ICT tenders are open for bids right now in the Netherlands, newest first?

{"searchText": "ICT", "noticeTypes": ["contract notice"], "openOnly": true, "maxRecords": 10}

Run on 30 Sep 2026 this returned the 10 newest open ICT contract notices (10 × $0.05 = $0.50 on Apify's Free plan), for example:

PublishedAuthorityTenderCloses
2026-09-27Hoogheemraadschap De Stichtse Rijnlandenict-hardware infra (2027)2026-11-06
2026-09-27Gemeente SchagenDAS geëxploiteerd door Werken in Noord-Holland Noord2030-09-26
2026-09-27Provincie GelderlandBeheersysteem voor Elektrotechnische Installaties2026-11-09
2026-09-27Gemeente PurmerendICT diensten Waterlands Archief2026-11-16
2026-09-27Openbaar Onderwijs Zwolle en RegioICT-Hardware Medewerkers2026-11-09

Search options (all optional; a record must match every option you set, and several values in one option match any of them):

  • Search text (searchText) — TenderNed's own search, as on tenderned.nl (ICT, schoonmaak, Rijkswaterstaat).
  • Published from / to (publishedFrom, publishedTo) — publication date range.
  • Contract types (contractTypes) — services, supplies, works.
  • Notice types (noticeTypes) — contract notice, contract award notice, prior information notice, market consultation, correction, modification notice, early termination.
  • Contracting authority (contains) (authorities) — e.g. gemeente Utrecht.
  • EU or national (scope) — european (above the EU threshold, also on TED) or national (below threshold, TenderNed only).
  • Open for bids only (openOnly) — closing date still in the future; searches the last 12 months unless you set dates.

Search text, dates and contract type are applied by TenderNed itself; notice type, authority, EU/national and open-only are tested on each notice as it is read, newest first, before the record limit. A run reads at most 40,000 notices for those record-level options; the status message says whether the whole selection was read, the run stopped at maxRecords, or the scan limit was reached, so a partial answer is never presented as complete. With no search option the actor lists notices exactly as before. Every record now also carries closing_date (added 30 Sep 2026).

Sample output

Sample output — TenderNed Procurement Notices - Netherlands

Real rows from a live run of this actor (first 5 rows, selected columns).

One full record from the same run, exactly as delivered:

{
"publication_id": "441756",
"publication_date": "2026-09-25",
"publication_type": "Marktconsultatie",
"publication_type_code": "MAC",
"tender_name": "Marktconsultatie Busvervoer",
"contracting_authority": "Stichting Carmelcollege",
"procedure": "Marktconsultatie",
"contract_type": "Diensten",
"publication_code": "Vrijwillige aankondiging van voorafgaande marktconsultatie",
"publication_status": "Gepubliceerd",
"is_european": false,
"is_digital": true,
"is_early_termination": false,
"reference": "614767",
"link": "https://www.tenderned.nl/aankondigingen/overzicht/441756",
"record_id": "441756",
"source": "TenderNed (Netherlands national procurement)",
"source_dataset": "papi/tenderned-rs-tns/v2/publicaties",
"licence": "Published as open data via data.overheid.nl under Creative Commons Zero (CC0 1.0) - a public-domain dedication, free to use for any purpose; attribution to TenderNed appreciated.",
"attribution": "TenderNed (PIANOo, Netherlands Ministry of Economic Affairs)",
"caveat": "One record per TenderNed publication from the national procurement list endpoint: publication id, date, type, tender name, contracting authority, procedure, contract type and the EU-level flag (is_european). The free-text description (opdrachtBeschrijving) is dropped and the per-publication detail endpoint - which carries contact persons - is never fetched. is_european true marks above-threshold notices that also appear on EU TED; below-threshold Dutch notices appear only here.",
"observed_at": "2026-09-25T17:24:07Z"
}

Coverage and volume

The live list holds 145,241 publications - measured at build time from the endpoint's totalElements.

Sol's Wave-4 index put this door at 145,240 EXACT; measured live at build time the endpoint reports 145,241 - the live figure is what this listing quotes.

The Actor pages the endpoint 100 publications at a time and stops as soon as your Maximum records cap is met.

Licence and attribution

TenderNed publications are open data via data.overheid.nl under CC0 1.0 - a public-domain dedication, free to use for any purpose. The full notice travels on every record:

Published as open data via data.overheid.nl under Creative Commons Zero (CC0 1.0) - a public-domain dedication, free to use for any purpose; attribution to TenderNed appreciated.

Person-data policy

This Actor reads only the list endpoint and emits no personal data. The free-text description (opdrachtBeschrijving) is dropped, and the per-publication detail endpoint - which carries contact persons - is never fetched. A per-record assertion rejects any contact/person field or the description (verified with a planted-field test). The contracting authority is an organisation, never a person.

Interpretation caveat

One record per TenderNed publication from the national procurement list endpoint: publication id, date, type, tender name, contracting authority, procedure, contract type and the EU-level flag (is_european). The free-text description is dropped and the detail endpoint - which carries contact persons - is never fetched.

Values are reproduced verbatim from the API; the Actor never rewrites a field. The list endpoint does not carry the tender closing date (that lives on the detail endpoint, which is not fetched for contact-privacy); this cell delivers the publication-level fields the list endpoint exposes.

Relationship to EU TED

is_european marks the above-threshold notices that also appear on EU TED (about 30% of the Dutch total). This cell is the national Dutch register, including the large below-threshold segment that never reaches TED. Filter on is_european to isolate the overlap or the Dutch-only remainder; the two datasets combine without double-counting because the overlap is flagged on the record.

Provenance and compliance

Every run reads the door host's robots.txt at runtime; the gate result (URL, status, byte length, SHA-256 of the policy) is written to the run's RUN_RECEIPT, and the data path is confirmed permitted before any fetch. The endpoint is keyless. The Actor never bypasses a block or fetches through a mirror.

Data quality and freshness

Boolean columns are delivered as real booleans and numeric columns as real numbers. Delivery is keyed on a stable composite id, so the dataset is safe to diff, deduplicate or upsert. Every run re-reads the live door, so the data is as fresh as the source publishes, and each record's observed_at stamp dates the snapshot. The run's RUN_RECEIPT records the source URL and how many records were delivered and charged, and confirms charge_equals_delivered.

Billing and delivery

Pricing is per record: you are billed only for records the Actor actually delivers, at a flat rate, with the charge raised after each record is pushed (push-then-charge), so a failed or empty run costs nothing. There is no subscription and no minimum. The Maximum records cap bounds every run, so you control the spend precisely - set it low to sample the shape of the data cheaply, then raise it once you have confirmed the cell fits your use. Because delivery is incremental and keyed on a stable id, re-running against the same door and upserting on that id keeps a downstream table current without re-paying for rows you already hold; only the new and changed records add cost. Every run's receipt reconciles delivered against charged, so the billing is auditable against the data you received.

Inputs

Default changed on 30 Sep 2026: if you leave maxRecords out, a run now returns up to 10 records (it was 500). Set maxRecords yourself to get more — the maximum is unchanged.

  • Maximum records (maxRecords) - hard cap on publication records delivered and billed.

Output

Records land in the Actor's default dataset and export as JSON, CSV, Excel or via the Apify API. A tabular overview surfaces publication id, date, type, tender name, contracting authority, procedure and the EU flag.

Fields in detail

The record leads with publication_id, publication_date, publication_type (and publication_type_code), tender_name, contracting_authority, procedure, contract_type, publication_code, publication_status, the booleans is_european/is_digital/is_early_termination, the authority reference and the link. The provenance block closes every record.

Typical uses

Dutch bid teams use this cell to keep a live feed of every national tender publication - what was published, by which authority, under which procedure - filterable by type and date, with the EU flag to separate above-threshold notices from the Dutch-only segment. Because the record is flat and keyed on the publication id, it drops into a bid-tracking pipeline as a slowly-changing feed, and a scheduled run keeps it current with no reconciliation. The link field takes a human straight to the full publication when they need the detail.

Scaling and limits

Set Maximum records low to sample or high to pull the full national register. The Actor pages the endpoint and delivers incrementally, so memory stays flat and you are billed only for what is delivered. Because TenderNed publishes continuously, re-running picks up new notices, and each record's observed_at stamp dates the snapshot - schedule a run to keep a downstream tender feed current.

Why the list endpoint only

TenderNed exposes two layers: a list endpoint that returns the publication-level facts, and a per-publication detail endpoint that carries the full notice including named contact persons at the contracting authority. This cell reads only the list layer. That is a deliberate design choice, not a limitation: the list layer gives the entire national register - every publication, keyed and typed - without ever touching personal contact data, so the dataset is clean to redistribute and needs no redaction. If a buyer needs the contact detail for a specific tender, the link field takes a human to the source publication, where the authority publishes it under its own terms; the Actor does not aggregate it.

Reading the fields

publication_type describes what the notice is - a contract notice, an award notice, a prior information notice - and pairs with publication_type_code for exact filtering. procedure names the procurement procedure (open, restricted, negotiated), and contract_type separates works, supplies and services. publication_status tracks whether the notice is current or superseded, and is_early_termination flags the notices that end a procedure early. Together these let a bid team slice the register precisely - for example, open-procedure service contracts published this month by a given authority - without post-processing, because every dimension is a first-class field on the record.

Sibling Actors

It shares its engineering - the runtime robots gate, paging, push-then-charge billing and verbatim-value discipline - with the fleet's other records Actors.