IBANforge

BIC Lookup

Look up detailed institution information by BIC/SWIFT code. The database contains 121,000+ BIC entries from public sources (GLEIF, SWIFT directory, Bundesbank, SIX BankMaster, NBP, EBA Step2 SCT), with LEI enrichment for ~38K rows sourced from GLEIF.

Endpoint

GET https://api.ibanforge.com/v1/bic/:code

Cost: $0.003 USDC per request

Parameters

ParameterLocationTypeDescription
codeURL pathstringBIC/SWIFT code — 8 or 11 characters. Case-insensitive.

A BIC code follows the ISO 9362 format:

AAAA BB CC DDD
│    │  │  └── Branch code (optional, 3 chars — XXX = head office)
│    │  └──── Location code (2 chars)
│    └─────── Country code (ISO 3166-1 alpha-2)
└──────────── Institution code (4 chars)

Response

Success (200)

{
  "bic": "UBSWCHZH80A",
  "institution": "UBS SWITZERLAND AG",
  "country": "Switzerland",
  "countryCode": "CH",
  "city": "ZURICH",
  "branch": "WEALTH MANAGEMENT",
  "lei": "BFM8T61CT2L1QCEMIK50"
}

Response fields

FieldTypeDescription
bicstringNormalized BIC code (uppercase, 8 or 11 chars)
institutionstringOfficial institution name
countrystringFull country name
countryCodestringISO 3166-1 alpha-2 country code
citystringCity where the branch is located
branchstring | nullBranch name, if applicable
leistring | nullLegal Entity Identifier (20 chars), if available in GLEIF data

Not Found (404)

{
  "error": {
    "code": "bic_not_found",
    "message": "No institution found for BIC code XXXXCHZZXXX"
  }
}

Errors

StatusCodeDescription
400invalid_bic_formatBIC code is not 8 or 11 characters, or contains invalid characters
404bic_not_foundNo matching institution in the database

Code examples

cURL

curl https://api.ibanforge.com/v1/bic/UBSWCHZH80A

8-character BIC (head office)

curl https://api.ibanforge.com/v1/bic/COBADEFF

When you pass an 8-character BIC, the API looks up the head office entry (equivalent to appending XXX).

Python

import requests
 
response = requests.get(
    "https://api.ibanforge.com/v1/bic/UBSWCHZH80A"
)
 
data = response.json()
print(f"Institution: {data['institution']}")
print(f"Location: {data['city']}, {data['country']}")
if data.get("lei"):
    print(f"LEI: {data['lei']}")

TypeScript

const code = "UBSWCHZH80A";
const response = await fetch(
  `https://api.ibanforge.com/v1/bic/${code}`
);
 
if (!response.ok) {
  const error = await response.json();
  console.error(error.error.message);
} else {
  const data = await response.json();
  console.log(`Institution: ${data.institution}`);
  console.log(`Location: ${data.city}, ${data.country}`);
}