TenderNed Procurement Notices - Netherlands, Per Publication
Pricing
from $33.50 / 1,000 procurement notice records
TenderNed Procurement Notices - Netherlands, Per Publication
Netherlands TenderNed national procurement publications as clean per-record data - id, date, type, tender name, contracting authority, procedure and EU-level flag. List endpoint only; 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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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.
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).
The fleet's EU TED monitor covers the EU-level corpus across all member states; 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
- 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 sits beside the fleet-2 EU TED tender monitor (EU-level corpus vs the Dutch national register) and the fleet's other national procurement cells. It shares its engineering - the runtime robots gate, paging, push-then-charge billing and verbatim-value discipline - with the fleet's other records Actors.