An open API service indexing awesome lists of open source software.

https://github.com/svenstaro/fints-institute-db

A library and CLI tool to access FinTS access information for many German banks
https://github.com/svenstaro/fints-institute-db

bank banking banks fintech fints hbci

Last synced: 5 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# fints-institute-db

[![CI](https://github.com/svenstaro/fints-institute-db/workflows/CI/badge.svg)](https://github.com/svenstaro/fints-institute-db/actions)
[![Crates.io](https://img.shields.io/crates/v/fints-institute-db.svg)](https://crates.io/crates/fints-institute-db)
[![docs](https://docs.rs/fints-institute-db/badge.svg)](https://docs.rs/fints-institute-db)
[![license](http://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/svenstaro/fints-institute-db/blob/master/LICENSE)
[![Lines of Code](https://tokei.rs/b1/github/svenstaro/fints-institute-db)](https://github.com/svenstaro/fints-institute-db)

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.

## Usage

Put this into your `Cargo.toml`:

```toml
[dependencies]
fints-institute-db = "1.0"
```

Then to use it:

```rust
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:

```rust
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
```shell
cd fints-institute-db-cli
cargo run
```

```plain
A library and CLI tool to access FinTS access information for many German banks

Usage: fints-institute-db-cli [OPTIONS]

Options:
--iban Look up bank by IBAN (format: DE02120300000000202051)
--bankcode Look up bank by German bank code (format: 12030000)
--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 Generate completion file for a shell [possible values: bash, elvish, fish, powershell,
zsh]
--print-manpage Generate man page
-h, --help Print help information
-V, --version Print version information
```

Example usages:

```sh
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

## Releasing

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.