{"id":16622,"library":"fints-institute-db","title":"FinTS German Bank Institute Database","description":"fints-institute-db is a JavaScript package providing a structured database of German banking institutes, primarily for use with FinTS/HBCI client applications. It contains crucial connection details such as Bankleitzahl (BLZ), Business Identifier Code (BIC), bank name, location, FinTS endpoint URLs (e.g., `pinTanURL`), and supported FinTS protocol versions. The current stable version is 0.16.0. The package typically receives updates as the German banking landscape changes (e.g., mergers, updated FinTS endpoints) or new data becomes available, making its release cadence data-driven. It serves as a static registry, differentiating itself by offering a readily consumable, open-source dataset specifically tailored for integrating with the German FinTS standard.","status":"active","version":"0.16.0","language":"javascript","source_language":"en","source_url":"https://github.com/jhermsmeier/fints-institute-db","tags":["javascript","bank","hbci","fints","fintech","institute","banklist","germany","german"],"install":[{"cmd":"npm install fints-institute-db","lang":"bash","label":"npm"},{"cmd":"yarn add fints-institute-db","lang":"bash","label":"yarn"},{"cmd":"pnpm add fints-institute-db","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"The package exports the entire bank list as its default export, which is an array. There are no named exports.","wrong":"import { banks } from 'fints-institute-db';","symbol":"banks","correct":"import banks from 'fints-institute-db';"},{"note":"CommonJS default import for Node.js environments. The exported value is an array.","symbol":"banks","correct":"const banks = require('fints-institute-db');"},{"note":"If using TypeScript, explicit type imports for the structure of a single bank entry are available from a subpath. The package might not always ship with comprehensive type definitions, so community-provided types (`@types/fints-institute-db`) might be needed for older versions or more specific fields.","wrong":"import { BankInstitute } from 'fints-institute-db';","symbol":"BankInstitute","correct":"import type { BankInstitute } from 'fints-institute-db/types';"}],"quickstart":{"code":"import banks from 'fints-institute-db';\n\n// Find a bank by its Bankleitzahl (BLZ)\nconst blzToFind = '10030600'; // Example BLZ for 'Bankhaus Kruber'\nconst bankByBlz = banks.find(bank => bank.blz === blzToFind);\n\nif (bankByBlz) {\n  console.log(`Found bank '${bankByBlz.name}' in '${bankByBlz.location}' with HBCI URL: ${bankByBlz.pinTanURL}`);\n} else {\n  console.log(`Bank with BLZ ${blzToFind} not found.`);\n}\n\n// Filter banks by organization (e.g., 'DSGV' for Sparkassen)\nconst dsgvBanks = banks.filter(bank => bank.organisation === 'DSGV');\nconsole.log(`\nFound ${dsgvBanks.length} banks belonging to DSGV (Sparkassen-Finanzgruppe). Example:`);\nif (dsgvBanks.length > 0) {\n  console.log(`  - ${dsgvBanks[0].name}, BIC: ${dsgvBanks[0].bic}`);\n}\n\n// Get a count of all registered banks\nconsole.log(`\\nTotal number of banks in the database: ${banks.length}`);","lang":"javascript","description":"Demonstrates how to import the bank database, find a specific bank by BLZ, filter banks by organization, and access their properties."},"warnings":[{"fix":"Always review the release notes for new versions for schema changes. Consider adding runtime data validation or using TypeScript with up-to-date type definitions if available.","message":"Major version updates (e.g., v0.x.x to v1.x.x) may introduce changes to the data schema (e.g., renaming fields like `blz`, `bic`, `pinTanURL`, or adding/removing flags like `rdh7`). This could break applications relying on specific field names or data types.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"For mission-critical applications, consider implementing a fallback mechanism, an external endpoint validation service, or a configuration overlay to override potentially outdated URLs.","message":"The `pinTanURL` and `hbciDomain` fields, which are critical for FinTS connections, can change without immediate package updates. Relying solely on this static database for real-time endpoint validity in production environments might lead to connection failures.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Assume the overall package version reflects the data freshness. Monitor the package's release frequency and changelog on npm or GitHub for updates to the underlying data.","message":"The `updated` field for individual bank entries is often `null` in the provided data format. This makes it difficult to ascertain the freshness of specific bank data points directly from the entry itself.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"If a specific bank is missing or has incorrect data, verify against official bank sources or contribute to the project to improve data accuracy.","message":"While the package aims for comprehensive coverage, it might not always include every niche banking institute or reflect the very latest changes from all German financial institutions immediately. Data is community-driven and updated periodically.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-22T00:00:00.000Z","next_check":"2026-07-21T00:00:00.000Z","problems":[{"fix":"Run `npm install fints-institute-db` in your project directory. Ensure your module bundler or Node.js environment is configured to find `node_modules`.","cause":"The package has not been installed or is not correctly resolved in the module path.","error":"Error: Cannot find module 'fints-institute-db'"},{"fix":"Ensure you are using the correct import statement for the default export: `import banks from 'fints-institute-db';` (ESM) or `const banks = require('fints-institute-db');` (CommonJS).","cause":"The imported `banks` variable is not an array as expected. This could happen if the package's export structure changed or if the import statement is incorrect (e.g., trying to destructure a default export).","error":"TypeError: banks.filter is not a function"},{"fix":"Check for `@types/fints-institute-db` or ensure the package's built-in types (if any) are correctly referenced. If the types are genuinely missing or incorrect for a specific field, consider using type assertions (`(bank as any).blz`) or extending the type definitions in your project.","cause":"When using TypeScript, the type definitions might be outdated, incorrect, or missing for the 'blz' field (or any other field you are trying to access).","error":"Property 'blz' does not exist on type 'BankInstitute'."}],"ecosystem":"npm"}