Command-line tool and TypeScript library

dip

Browse Germany’s Bundestag parliamentary record from your terminal. dip is a command-line tool over the Bundestag DIP API (search.dip.bundestag.de/api/v1): search procedures, printed papers, plenary protocols, activities and people — as clean JSON you can pipe straight into jq.

Version 0.0.9 npm GitHub API reference

Install

Needs Node.js 20 or newer. Installs the dip command:

npm i -g @maschinenlesbar.org/dip-bundestag-cli

Access

Needs the free, publicly documented API key: pass --api-key or set DIP_API_KEY. No key is bundled; the README explains where to get it.

Quick start

export DIP_API_KEY=your-personal-key

# Procedures matching a title keyword
dip vorgang list --filter f.titel=Klimaschutz

# How many matched?
dip vorgang list --filter f.titel=Klimaschutz | jq '.numFound'

# Fetch one procedure by id
dip vorgang get 282486

# Full text of a printed paper
dip drucksache-text list --filter f.titel=Haushaltsgesetz --filter f.wahlperiode=20 \
  | jq -r '.documents[0].text'

Commands

All commands, arguments and options →

Claude Code skills

The dip-bundestag plugin teaches Claude to use dip. Install it from the maschinenlesbar.org marketplace:

/plugin marketplace add maschinenlesbar-org/plugins
/plugin install dip-bundestag@maschinenlesbar

TypeScript library

@maschinenlesbar.org/dip-bundestag-cli is also a typed API client you can import in your own code, with no runtime HTTP dependencies.

The tool, not the data

The data comes from the provider behind the API, under its own terms — see DATA_LICENSE.md. The code is dual-licensed AGPL-3.0-or-later or commercial — see LICENSING.md.