Skip to content
IBANforge

BIC Lookup

Look up detailed institution information by BIC/SWIFT code. The database contains 121k+ 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}`);
}

Put these checks to work

Choose a first step for your software or your supplier file.

Integrate IBAN checks into your software

Try a validation, inspect the response, then connect your application through the API or an existing integration.

Explore the API workflow

Check a supplier file

Upload a CSV or Excel file and preview the findings for free. Purchase the annotated workbook if you need the full report. No account or subscription required.

Explore the file audit

Available bank information varies by country and source. These checks do not confirm the account holder or guarantee that a payment will succeed.