TenderNed Public Procurement Data Extraction and Filtering - n8n Workflow

Comprehensive n8n workflow for fetching, parsing, cleaning, and filtering Dutch TenderNed procurement data using sophisticated n8n nodes, custom code, XML handling, and the n8n Data Table.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Businesses tracking Dutch public sector opportunities (tenders, contracts, awards).

  • Data analysts requiring structured procurement data for business intelligence.

  • Companies needing real-time alerts based on specific CPV codes or keywords.

  • Users looking for advanced examples of manipulating complex XML data within an n8n environment.

Overview

Processing official procurement data, such as that provided by TenderNed, often involves dealing with complicated UBL XML structures and managing API rate limits. This robust n8n workflow is designed to streamline this complex data pipeline. By employing a scheduled n8n trigger, the automation reliably checks for new publications daily. The core of this n8n workflow lies in its ability to sequentially fetch both summary JSON and the detailed, raw XML for every single tender. A custom Code n8n node then expertly flattens this hierarchical XML data, extracting crucial fields like estimated contract value, detailed awarding criteria weights, contact information, and specific CPV codes, transforming disparate data into a unified, usable JSON object. Users can define strict filtering criteria using the Filter n8n node before the clean data is finally archived using the n8n Data Table. This n8n automation provides essential business intelligence for market analysis and lead generation.

How it Works

This powerful n8n workflow begins with either the Schedule Trigger n8n trigger (for daily automated runs) or the Manual Trigger (for testing). The Tenderned Publicaties HTTP Request n8n node initiates the process by querying the TenderNed API for recent publication summaries, requiring HTTP Basic Authentication setup. The Verwerk Response Code n8n node prepares the resulting array, which the Split Out n8n node then breaks into individual items. The Loop Over Items n8n node is crucial for implementing sequential processing, ensuring the workflow avoids API rate limits while fetching granular data for each tender. Inside the loop, two parallel HTTP Request n8n nodes (Haal JSON Details and Haal XML Details) retrieve the rich JSON metadata and the full raw XML document, respectively. The XML n8n node immediately parses the raw XML into a consumable JSON format. The Merge n8n node combines these three data streams (original item, JSON details, and parsed XML) into a single unified item. After the loop completes, the Aggregate n8n node collects all processed records. The highly complex Splits Alle Velden Code n8n node executes the main transformation: flattening the nested XML, extracting key metrics (like estimated value and detailed awarding criteria), performing platform detection, and structuring the final output. The Filter op ... n8n node checks the resulting data against user-defined criteria, such as specific CPV codes. Finally, the successful items are saved to a Data Table using the Insert row n8n node, completing this comprehensive n8n workflow.

Installation Guide

To use this n8n workflow template, follow these steps:


  1. Import the n8n workflow: Copy the provided JSON data and paste it into your n8n instance using the 'New' -> 'Import from JSON' function.

  2. Setup TenderNed Credentials: Locate the Tenderned Publicaties n8n node, Haal JSON Details n8n node, and Haal XML Details n8n node. All three require a 'Generic Credential' of type 'HTTP Basic Auth'. You must create a credential with your TenderNed API username and password.

  3. Configure API Filters: In the Tenderned Publicaties n8n node, review the query parameters. Adjust publicatieDatumVanaf or add other filters (like cpvCodes) to control which tenders are initially fetched.

  4. Customize Filtering Logic: Open the Filter op ... n8n node. This is where you define which tenders are considered relevant. The current logic filters based on a large list of specific CPV codes. Modify the JavaScript expression within the 'Condition' field to match your required criteria.

  5. Setup Data Table: Create a new Data Table in your n8n instance (if you don't have one). Go to the Insert row n8n node, select your newly created Data Table, and ensure the input fields map correctly to the Data Table columns.

  6. Activate the n8n Trigger: Ensure the 'Schedule Trigger' n8n node is enabled and set to your desired execution frequency (e.g., daily). You can test the entire n8n workflow immediately using the 'When clicking ‘Execute workflow’' n8n trigger.

Node Details

Schedule Trigger / Manual Trigger: Defines when the n8n workflow runs. The Schedule Trigger runs the n8n workflow automatically at set intervals (e.g., daily at 9:00 AM).
Tenderned Publicaties (HTTP Request n8n node): The initial data source. Fetches basic metadata for recent tender publications from the TenderNed API. Key Configuration: Requires HTTP Basic Auth and uses query parameters like size and publicatieType.
Verwerk Response (Code n8n node): Extracts the list of tenders from the paginated API response body, preparing the data array for the Split n8n node.
Loop Over Items (Split In Batches n8n node): Manages the execution flow by processing tenders individually (batch size 1), crucial for mitigating potential TenderNed API rate limits during subsequent detailed fetching.
Haal JSON Details / Haal XML Details (HTTP Request n8n node): Retrieves the comprehensive JSON and the raw XML document for each specific publicatieId. Key Configuration: Haal XML Details sets the response format to 'text' for proper XML parsing.
XML (n8n node): Transforms the raw XML tender document (UBL format) into a usable JSON object structure.
Merge (n8n node): Combines the multiple data sources (JSON detail, XML detail, and original publication data) into one item for holistic processing.
Splits Alle Velden (Code n8n node): The custom logic n8n node. It flattens deep XML structures, extracts and formats key data points (e.g., estimated value, deadlines, contact details, platform detection, and detailed awarding criteria percentages), creating the final, clean set of fields used by the Filter n8n node.
Filter op ... (Filter n8n node): Selects which processed tenders pass the business requirements based on data extracted by the previous Code n8n node, such as specific CPV code matches.
Insert row (Data Table n8n node): The final action. Saves the filtered, structured data into an n8n Data Table, creating a persistent, searchable database of relevant procurement opportunities. This step utilizes the powerful data mapping capabilities of the n8n Data Table node.

Related n8n Workflows

Free

Nodes: 12 Nodes
Updated: December 26 2025
View all
Created by

Cybersecurity and automation consultant specializing in n8n workflows for GDPR compliance, process optimization, and business integration. Helping teams streamline operations with secure, scalable automation solutions.

Featured*