Documentation

TenderNed CLI

tenderned-pp-cli

Install

npx -y @mvanhorn/printing-press-library install tenderned

Installs the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.

Documentation

Every Dutch public tender, with the sub-threshold long tail that EU TED never sees, in a local-first CLI you can pipe.

TenderNed is the Dutch national public procurement platform run by PIANOo / Ministerie van EZK. Every Dutch contracting authority must publish above- and below-threshold tender notices here. Above-threshold notices are forwarded to EU TED; the sub-threshold long tail (€40k–€220k) is TenderNed-only.

This CLI covers the unauthenticated TNS publication webservice (search/list/filter publications, document download, contracting-authority directory, RSS feed) and the Basic-auth eForms XML endpoint. Data is CC-0 public domain.

Created by @markvandeven (markvandeven).

Quick Start

1. Install

See Install above.

2. Verify Setup

tenderned-pp-cli doctor

This checks your configuration.

3. Try Your First Command

tenderned-pp-cli buyers list

Usage

Run tenderned-pp-cli --help for the full command reference and flag list.

Commands

buyers

Browse contracting authorities (aanbestedende diensten) — Dutch public buyers

  • tenderned-pp-cli buyers get - Fetch one contracting authority by ID
  • tenderned-pp-cli buyers list - List Dutch contracting authorities (paginated)

docs

List and download tender documents (bestek, PvE, evaluation criteria, Q&A)

  • tenderned-pp-cli docs download - Download all documents for one publication as a zip archive
  • tenderned-pp-cli docs get - Download a single document's binary content (PDF/Word/etc.)
  • tenderned-pp-cli docs list - List attached documents for one publication

notices

Search, list and fetch tender notices (aankondigingen) from TenderNed — mirrors 'eu-tenders notices' for the Dutch market

  • tenderned-pp-cli notices get - Fetch full structured metadata for one publication
  • tenderned-pp-cli notices list - Search and list tender publications with rich filters (CPV, dates, buyer, procedure, scope)

Output Formats

# Human-readable table (default in terminal, JSON when piped)
tenderned-pp-cli buyers list

# JSON for scripting and agents
tenderned-pp-cli buyers list --json

# Filter to specific fields
tenderned-pp-cli buyers list --json --select id,name,status

# Dry run — show the request without sending
tenderned-pp-cli buyers list --dry-run

# Agent mode — JSON + compact + no prompts in one flag
tenderned-pp-cli buyers list --agent

Agent Usage

This CLI is designed for AI agent consumption:

  • Non-interactive - never prompts, every input is a flag
  • Pipeable - --json output to stdout, errors to stderr
  • Filterable - --select id,name returns only fields you need
  • Previewable - --dry-run shows the request without sending
  • Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
  • Offline-friendly - sync/search commands can use the local SQLite store when available
  • Agent-safe by default - no colors or formatting unless --human-friendly is set

Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.

Health Check

tenderned-pp-cli doctor

Verifies configuration and connectivity to the API.

Configuration

Config file: ~/.config/tenderned-pp-cli/config.toml

Static request headers can be configured under headers; per-command header overrides take precedence.

Troubleshooting

Not found errors (exit code 3)

  • Check the resource ID is correct
  • Run the list command to see available items

Generated by CLI Printing Press

For agents: pass /documentation/tenderned/agents.md to install this CLI from a prompt.