Client libraries
Official packages for JavaScript, TypeScript and Python, and how existing openiban.com clients keep working.
Two official clients exist. Both are thin: one method per endpoint, no runtime dependencies, the platform's own HTTP. They are tested in the service's CI against a build of the same commit, so an API change that would break a client fails there rather than in your project.
JavaScript and TypeScript
npm install iban-pizzaimport { IbanPizza } from "iban-pizza";
const api = new IbanPizza({ baseUrl: "https://iban.pizza" });
const r = await api.validate("DE89 3704 0044 0532 0130 00");
r.valid; // true
r.bank?.name; // "Commerzbank"
r.checks.accountNumber.ok; // true, false, or null when no method applies
const many = await api.validateMany(["DE89...", "AT61..."]); // up to 100
const banks = await api.banks({ bic: "COBA", limit: 5 });
const data = await api.data(); // what is loaded, how oldThe response types are generated from the service's openapi.yaml at build
time. Works with Node 18 or newer, browsers, Deno and Bun.
Python
pip install iban-pizzafrom iban_pizza import IbanPizza
api = IbanPizza("https://iban.pizza")
r = api.validate("DE89 3704 0044 0532 0130 00")
r["valid"] # True
r["bank"]["name"] # "Commerzbank"
r["checks"]["accountNumber"]["ok"] # True, False, or None when no method applies
api.validate_many(["DE89...", "AT61..."])
api.banks(bic="COBA", limit=5)
api.data()Python 3.9 or newer, standard library only.
Errors and two things to know
Every non 2xx answer raises IbanPizzaError with the HTTP status and the
service's message. A structurally invalid IBAN is not an error: it returns a
result with valid false and the failing check.
ok can be null (None in Python). A check that could not be performed is
not a failure, and valid does not count it as one.
Scheme membership is per institution, not per account. unknown means the
BIC is absent from the EPC register, which is common for banks reachable
through a central institution; it does not mean "not supported".
Existing openiban.com clients
Anything written against openiban.com keeps working: the v1 routes are served unchanged, so an existing client only changes its base URL.
| Library | Language | Change |
|---|---|---|
| openiban.js | JavaScript | baseURL |
| openiban | Python | baseURL |
Go
The service's own packages are importable: github.com/netzfabrikcom/iban-pizza/iban
for parsing and validation, .../bankdata for the data model.