iban.pizza

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-pizza
import { 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 old

The 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-pizza
from 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.

LibraryLanguageChange
openiban.jsJavaScriptbaseURL
openibanPythonbaseURL

Go

The service's own packages are importable: github.com/netzfabrikcom/iban-pizza/iban for parsing and validation, .../bankdata for the data model.

On this page