Command-line tool and TypeScript library

ddb

Search Germany’s digitised cultural heritage from your terminal. ddb is a command-line tool over the v2 Deutsche Digitale Bibliothek API: tens of millions of objects from German archives, libraries, museums and research institutions — searchable, faceted, and returned as clean JSON you can pipe straight into jq.

Version 0.0.5 npm GitHub API reference

Install

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

npm i -g @maschinenlesbar.org/deutsche-digitale-bibliothek-cli

Access

No account, no API key, no configuration — install and query.

Quick start

# Search objects matching a keyword (10 results by default)
ddb search Goethe

# How many objects match in total?
ddb search Goethe | jq '.response.numFound'

# Narrow to images in Berlin, and count the type distribution
ddb search Goethe --filter 'place_fct:"Berlin"' --filter type_fct:mediatype_002 --facet objecttype_fct

# Grab an object id from a result, then fetch its detail
ddb search Goethe --fields id | jq -r '.response.docs[0].id'
ddb item TNPFDKO2VDGBZ72RWC6RKDNZYZQZP3XK

Commands

All commands, arguments and options →

Claude Code skills

The ddb plugin teaches Claude to use ddb. Install it from the maschinenlesbar.org marketplace:

/plugin marketplace add maschinenlesbar-org/plugins
/plugin install ddb@maschinenlesbar

TypeScript library

@maschinenlesbar.org/deutsche-digitale-bibliothek-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.