IBAN Validation: More Than Just a Checksum
Most IBAN validation libraries just run a modulo-97 checksum. That catches typos, but it tells you nothing about whether the bank exists, what its BIC code is, or whether it participates in SEPA. The Veille IBAN Validation API (GET /v1/vat/iban) goes further by returning full bank details alongside the mathematical check.
What the API returns
For any IBAN, you get: valid (boolean), bank_name, bic (SWIFT code), country_code, country_name, the structural breakdown (bank_code, branch_code, account_number, bban), and in_sepa_zone.
Quick integration
Python
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.veille.io/v1"
response = requests.get(
f"{BASE_URL}/vat/iban",
params={"query": "FR7630006000011234567890189"},
headers={"x-api-key": API_KEY},
)
data = response.json()
if data["valid"] and data["in_sepa_zone"]:
print(f"SEPA-ready - {data['bank_name']} (BIC: {data['bic']})")
else:
print("IBAN invalid or outside SEPA zone")
TypeScript
const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.veille.io/v1";
const headers = { "x-api-key": API_KEY };
const response = await fetch(
`${BASE_URL}/vat/iban?query=FR7630006000011234567890189`,
{ headers }
);
const data = await response.json();
if (data.valid && data.in_sepa_zone) {
console.log(`SEPA-ready - ${data.bank_name} (BIC: ${data.bic})`);
} else {
console.log("IBAN invalid or outside SEPA zone");
}
Key response fields
valid- full structural and checksum validationbank_name- the institution behind the IBANbic- BIC/SWIFT code for routingin_sepa_zone- whether the bank supports SEPA transfersbank_code/branch_code/account_number- BBAN breakdown
5 use cases
- Payment form validation - verify the IBAN and display the bank name before the user submits, reducing failed transfers.
- SEPA Direct Debit - confirm SEPA zone membership before setting up a mandate to avoid rejected debits.
- Supplier payments - auto-resolve the BIC from the IBAN to pre-fill wire transfer details.
- KYC onboarding - cross-check the bank country with the customer's declared country of residence.
- Payout systems - validate freelancer or creator IBANs before scheduling payouts to prevent failed transactions.