Den Rechner in eigene Systeme einbinden
Kein Server, kein API-Key, keine Rate-Limits: Der Rechner ist ein reines JavaScript-Snippet, das im Browser der Besucher läuft. Drei clientseitige Varianten — Funktions-API, Mini-Widget, iframe-Widget — dazu eine kleine, serverseitige Read-only-JSON-API gegen die Bundesbank-Datenbank.
embed.js, ca. 4 KB, keine Abhängigkeiten.Variante 1 — Funktions-API
Für volle Kontrolle über das Aussehen: embed.js einbinden und die drei Funktionen direkt aufrufen.
| Funktion | Parameter | Rückgabe |
|---|---|---|
IbanRechner.validate(iban) | IBAN-String, Leerzeichen egal | { valid, country, formatted, reasons[] } |
IbanRechner.buildIban(blz, kontonummer) | 8-stellige BLZ, bis zu 10-stellige Kontonummer (DE) | { iban, formatted, bank } oder { error } |
IbanRechner.lookupBic(blzOderIban) | 8-stellige BLZ oder deutsche IBAN | { name, city, bic } oder { notFound: true } |
Variante 2 — Fertiges Mini-Widget
Ohne eigenes UI: Ein <div> mit data-iban-rechner markieren, embed.js laden — fertig. Der Modus wird per data-mode gesteuert (validate, build oder lookup).
Live-Vorschau (dieses Widget läuft tatsächlich, probier es aus):
Variante 3 — iframe-Widget
Falls kein eigenes JavaScript eingebunden werden soll: widget.html per iframe einbetten. Modus über den Query-Parameter ?mode=.
REST-API (serverseitig)
Neben den drei clientseitigen Varianten betreibt CheckIBAN.de eine kleine, read-only JSON-API, mit der die eigene Bankdatenbank (Bundesbank-Sync) sowie FAQ- und Glossar-Inhalte serverseitig abgefragt werden können. Diese Endpunkte sind unabhängig von embed.js/IbanCore — sie liefern Daten aus der Server-Datenbank statt aus einer im Browser mitgelieferten, festen Bankliste.
Wichtig für den Einsatz: Diese API sendet aktuell keine Access-Control-Allow-Origin-Header. Ein direkter fetch()-Aufruf aus dem Browser einer fremden Domain heraus wird daher vom Browser blockiert (Same-Origin-Policy) — nutzbar ist sie heute serverseitig (z. B. aus einem Backend, per curl, oder aus dem eigenen Origin). Es gibt derzeit keinen API-Key, kein Rate-Limit und keine Versionierung; die Endpunkte sind öffentlich und unauthentifiziert erreichbar.
Wann lokal, wann serverseitig? Für reine IBAN-Prüfung/-Berechnung sowie den kuratierten Kurz-Banklookup genügt embed.js/IbanCore vollständig lokal (Varianten 1–3 oben). Für einen Abgleich gegen die vollständige, laufend aktualisierte Bundesbank-Datenbank — etwa aus einem eigenen Backend heraus — ist GET /api/bank/:blz die passende Quelle.
GET /api/bank/:blz
Liefert die Bankdaten zu einer 8-stelligen Bankleitzahl aus der serverseitigen Datenbank.
| Parameter | Ort | Pflicht | Format |
|---|---|---|---|
blz | Pfad | ja | genau 8 Ziffern (Trennzeichen wie Leerzeichen/Bindestrich werden entfernt) |
Erfolgreiche Antwort (200):
| Status | Bedeutung | Beispiel-Antwort |
|---|---|---|
| 200 | Bank gefunden | { blz, name, city, bic, source } |
| 400 | BLZ ist nicht genau 8 Ziffern lang | { "error": "BLZ muss 8-stellig sein." } |
| 404 | Keine Bank mit dieser BLZ in der Datenbank | { "error": "Keine Bank mit dieser BLZ gefunden." } |
GET /api/faq
Liefert alle FAQ-Einträge als Array, sortiert wie auf der FAQ-Seite. Keine Parameter.
GET /api/glossary
Liefert alle Glossar-Einträge als Array, sortiert wie auf der Glossar-Seite. Keine Parameter.
GET /api/status
Liefert Betriebskennzahlen zur Bankdatenbank: Anzahl gespeicherter Banken sowie Zeitpunkt/Umfang des letzten Bundesbank-Syncs. Keine Parameter.
Datenschutz und Datenverarbeitung
Bei GET /api/bank/:blz wird ausschließlich die übergebene Bankleitzahl verarbeitet, um den passenden Datensatz zu lesen — es werden keine weiteren Anfragedaten in der Anwendungslogik gespeichert. Es existiert keine Request-Logging-Middleware; lediglich unerwartete Fehlerfälle werden serverseitig mit Methode und URL protokolliert. Verfügbarkeits- oder Reaktionszeit-Zusagen (SLA) bestehen für diese Endpunkte nicht.
Welche Variante passen wählen?
| Situation | Empfehlung |
|---|---|
| Eigenes Design, volle Kontrolle | Funktions-API |
| Schnell, ohne eigenes CSS | Mini-Widget per data-iban-rechner |
| Kein JavaScript auf der Zielseite gewünscht (z. B. CMS mit strikter CSP) | iframe-Widget |
| Abgleich gegen die vollständige, servergepflegte Bundesbank-Datenbank aus eigenem Backend | REST-API (GET /api/bank/:blz) |
Zur Erinnerung: Da alles im Browser läuft, sendet die Einbindung keine Kontodaten deiner Besucher an einen Server. Details zur fachlichen Zuverlässigkeit: Datenqualität · Garantie.