#bank #banking #fints #hbci #cli-tool

app fints-institute-db-cli

A CLI tool to access FinTS access information for many German banks

1 stable release

1.3.0 Jul 4, 2023

#6 in #banking

MIT license

190 lines


CI codecov Crates.io docs license Lines of Code

This is a simple crate providing a convenient and safe interface to FinTS information of German banks. During the build it will download a CSV file with all the banks which it will then put into the library itself so that no extra files have to be taken care of.


Put this into your Cargo.toml:

fints-institute-db = "1.0"

Then to use it:

use fints_institute_db::get_bank_by_bank_code;

if let Some(bank) = get_bank_by_bank_code("12070000") {
    println!("{:?}", bank.pin_tan_address);

Other use case, find bank by BIC:

use fints_institute_db::get_bank_by_bic;

if let Some(bank) = get_bank_by_bic("GENODEM1MEN") {
    println!("{:?}", bank.pin_tan_address);

Command line utility

Additionally this crate includes a CLI tool for your convenience. Use it with

cargo run --features cli
A library and CLI tool to access FinTS access information for many German banks

Usage: cli [OPTIONS]

      --iban <IBAN>                Look up bank by IBAN (format: DE02120300000000202051)
      --bankcode <BANK_CODE>       Look up bank by German bank code (format: 12030000)
      --bic <BIC>                  Look up bank by Bank Identifier Code (BIC) (format: GENODEM1MEN)
  -j, --json                       Change tool behavior to output all data for the record as JSON
      --print-completions <shell>  Generate completion file for a shell [possible values: bash, elvish, fish, powershell,
      --print-manpage              Generate man page
  -h, --help                       Print help information
  -V, --version                    Print version information

Example usages:

cargo run -- -b 12030000

cargo run -- -i DE02120300000000202051

This crate is inspired by https://github.com/jhermsmeier/fints-institute-db and https://github.com/dr-duplo/python-fints-url


This is mostly a note for me on how to release this thing:

  • cargo release
  • cargo release --execute
  • Releases will automatically be deployed by GitHub Actions.


~241K SLoC