Skip to main content

Automate Dutch Public Procurement Data Collection with TenderNed

Workflow preview

Workflow preview
100%
Automate Dutch Public Procurement Data Collection with TenderNed preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

TenderNed Public Procurement What This Workflow Does This workflow automates the collection of public procurement data from TenderNed (the official Dutch tender platform). It: 1. Fetches the latest...

Best for

  • Market Research automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.httprequest, n8n-nodes-base.manualtrigger, n8n-nodes-base.splitout, n8n-nodes-base.splitinbatches, n8n-nodes-base.xml, n8n-nodes-base.merge, n8n-nodes-base.aggregate, n8n-nodes-base.code

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Wessel Bulte.

Original n8n.io source

1.1 Workflow description

Title
Automate Dutch Public Procurement Data Collection with TenderNed
Workflow name
Automate Dutch Public Procurement Data Collection with TenderNed

TenderNed Public Procurement

What This Workflow Does

This workflow automates the collection of public procurement data from TenderNed (the official Dutch tender platform). It:

  1. Fetches the latest tender publications from the TenderNed API
  2. Retrieves detailed information in both XML and JSON formats for each tender
  3. Parses and extracts key information like organization names, titles, descriptions, and reference numbers
  4. Filters results based on your custom criteria
  5. Stores the data in a database for easy querying and analysis

Setup Instructions

This template comes with sticky notes providing step-by-step instructions in Dutch and various query options you can customize.

Prerequisites

  1. TenderNed API Access - Register at TenderNed for API credentials

Configuration Steps

  1. Set up TenderNed credentials:

    • Add HTTP Basic Auth credentials with your TenderNed API username and password
    • Apply these credentials to the three HTTP Request nodes:
      • "Tenderned Publicaties"
      • "Haal XML Details"
      • "Haal JSON Details"
  2. Customize filters:

    • Modify the "Filter op ..." node to match your specific requirements
    • Examples: specific organizations, contract values, regions, etc.

How It Works

Step 1: Trigger

The workflow can be triggered either manually for testing or automatically on a daily schedule.

Step 2: Fetch Publications

Makes an API call to TenderNed to retrieve a list of recent publications (up to 100 per request).

Step 3: Process & Split

Extracts the tender array from the response and splits it into individual items for processing.

Step 4: Fetch Details

For each tender, the workflow makes two parallel API calls:

  • XML endpoint - Retrieves the complete tender documentation in XML format
  • JSON endpoint - Fetches metadata including reference numbers and keywords

Step 5: Parse & Merge

Parses the XML data and merges it with the JSON metadata and batch information into a single data structure.

Step 6: Extract Fields

Maps the raw API data to clean, structured fields including:

  • Publication ID and date
  • Organization name
  • Tender title and description
  • Reference numbers (kenmerk, TED number)

Step 7: Filter

Applies your custom filter criteria to focus on relevant tenders only.

Step 8: Store

Inserts the processed data into your database for storage and future analysis.

Customization Tips

Modify API Parameters

In the "Tenderned Publicaties" node, you can adjust:

  • offset: Starting position for pagination
  • size: Number of results per request (max 100)
  • Add query parameters for date ranges, status filters, etc.

Add More Fields

Extend the "Splits Alle Velden" node to extract additional fields from the XML/JSON data, such as:

  • Contract value estimates
  • Deadline dates
  • CPV codes (procurement classification)
  • Contact information

Integrate Notifications

Add a Slack, Email, or Discord node after the filter to get notified about new matching tenders.

Incremental Updates

Modify the workflow to only fetch new tenders by:

  1. Storing the last execution timestamp
  2. Adding date filters to the API query
  3. Only processing publications newer than the last run

Troubleshooting

No data returned?

  • Verify your TenderNed API credentials are correct
  • Check that you have setup youre filter proper

Need help setting this up or interested in a complete tender analysis solution?

Get in touch

🔗 LinkedIn – Wessel Bulte

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Haal XML Details

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 2 - When clicking ‘Execute workflow’

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 3 - Split Out

Type / Role
n8n-nodes-base.splitOut - splitOut
Config choices
Version 1

Block 4 - Loop Over Items

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 5 - XML

Type / Role
n8n-nodes-base.xml - xml
Config choices
Version 1

Block 6 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 7 - Haal JSON Details

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 8 - Aggregate

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 9 - Splits Alle Velden

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Verwerk Response

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 11 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Filter op ...

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 13 - Insert row

Type / Role
n8n-nodes-base.dataTable - dataTable
Config choices
Version 1

Block 14 - Tenderned Publicaties

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 15 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 16 - Schedule Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - API Fetch Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Process Response Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Split Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Loop Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - JSON Details Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - XML Details Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - XML Parser Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 24 - Merge Info

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 28 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Automate Dutch Public Procurement Data Collection with TenderNed
Complexity advanced
Nodes 28
Categories Market Research
Author Wessel Bulte
Published 23 Oct 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/10076/10076.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automate Dutch Public Procurement Data Collection with TenderNed do?

TenderNed Public Procurement What This Workflow Does This workflow automates the collection of public procurement data from TenderNed (the official Dutch tender platform). It: 1. Fetches the latest...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Market Research use case.