Getting started
Base URL
https://bankvalidation.cleariflow.com/v1/iban/
Validation endpoint
The iban endpoint requires your API key and an IBAN parameter to perform comprehensive validation of International Bank Account Numbers.
https://bankvalidation.cleariflow.com/v1/iban/
? api_key = YOUR_UNIQUE_API_KEY
& iban = DE89370400440532013000
This successful request validates a German IBAN and returns detailed information:
{
"iban": "DE89370400440532013000",
"is_valid": true,
"country_code": "DE",
"country_name": "Germany",
"bank_code": "37040044",
"account_number": "0532013000",
"length": 22,
"expected_length": 22,
"checksum_valid": true,
"format_valid": true,
"details": {
"structure": "BBBB BBBB BBBB BBBB BB",
"example": "DE89 3704 0044 0532 0130 00",
"bank_name": "Bank information not available",
"bank_bic": "BIC not available",
"account_type": "Bank Account",
"currency": "EUR"
}
}
Request parameters
Your unique API key. Note that each user has unique API keys for each of
Cleariflow APIs, so your Bank Validation API key will not work for your Exchange
Rates API, for example.
The International Bank Account Number to validate. Spaces are allowed and will be automatically removed during processing. The IBAN should follow the ISO 13616 standard format.
Response parameters
The API response is returned in a universal and lightweight JSON format.
The normalized IBAN without spaces, returned in uppercase format.
Overall validation result indicating whether the IBAN is valid according to all validation rules.
The two-letter ISO country code (e.g., DE for Germany, FR for France).
The full name of the country associated with the IBAN.
The bank identifier code extracted from the IBAN according to the country’s specific format.
The account number portion of the IBAN, excluding country code, checksum, and bank code.
The actual length of the provided IBAN.
The expected length for IBANs from the specific country according to ISO 13616 standard.
Whether the IBAN checksum validation passed using the MOD-97 algorithm.
Whether the IBAN format matches the expected structure for the country.
Additional detailed information about the IBAN structure and formatting.
A visual representation of the IBAN structure using B (Bank), S (Sort), C (Customer), and K (Key) placeholders.
A properly formatted example of the IBAN with spaces for readability.
The name of the bank (currently shows “Bank information not available”).
The BIC code for the bank (currently shows “BIC not available”).
The type of account (typically “Bank Account”).
The currency code for the country (e.g., EUR for Eurozone countries, GBP for UK).
Examples
Valid German IBAN
Request:
GET https://bankvalidation.cleariflow.com/v1/iban/?api_key=YOUR_API_KEY&iban=DE89370400440532013000
Response:
{
"iban": "DE89370400440532013000",
"is_valid": true,
"country_code": "DE",
"country_name": "Germany",
"bank_code": "37040044",
"account_number": "0532013000",
"length": 22,
"expected_length": 22,
"checksum_valid": true,
"format_valid": true,
"details": {
"structure": "BBBB BBBB BBBB BBBB BB",
"example": "DE89 3704 0044 0532 0130 00",
"bank_name": "Bank information not available",
"bank_bic": "BIC not available",
"account_type": "Bank Account",
"currency": "EUR"
}
}
Valid French IBAN
Request:
GET https://bankvalidation.cleariflow.com/v1/iban/?api_key=YOUR_API_KEY&iban=FR1420041010050500013M02606
Response:
{
"iban": "FR1420041010050500013M02606",
"is_valid": true,
"country_code": "FR",
"country_name": "France",
"bank_code": "2004101005",
"account_number": "0500013M02606",
"length": 27,
"expected_length": 27,
"checksum_valid": true,
"format_valid": true,
"details": {
"structure": "BBBB BSSS SSCC CCCC CCCC CCC KK",
"example": "FR14 2004 1010 0505 0001 3M02 606",
"bank_name": "Bank information not available",
"bank_bic": "BIC not available",
"account_type": "Bank Account",
"currency": "EUR"
}
}
Invalid IBAN
Request:
GET https://bankvalidation.cleariflow.com/v1/iban/?api_key=YOUR_API_KEY&iban=INVALID
Response:
{
"iban": "",
"is_valid": false,
"country_code": "",
"country_name": "",
"bank_code": "",
"account_number": "",
"length": 7,
"expected_length": 0,
"checksum_valid": false,
"format_valid": false,
"details": {
"structure": "",
"example": ""
}
}
Error handling
Missing IBAN parameter
Request:
GET https://bankvalidation.cleariflow.com/v1/iban/?api_key=YOUR_API_KEY
Response:
{
"error": {
"message": "Missing iban",
"code": "missing_iban"
}
}
Missing API key
Request:
GET https://bankvalidation.cleariflow.com/v1/iban/?iban=DE89370400440532013000
Response:
{
"error": {
"message": "API key is required",
"code": "missing_api_key"
}
}
IBAN Structure
The IBAN consists of several components:
- Country Code (2 characters): ISO 3166-1 alpha-2 country code
- Check Digits (2 characters): MOD-97 algorithm validation
- Bank Identifier: Country-specific bank code
- Account Number: Customer account identifier
Different countries have varying IBAN structures:
- Germany (DE): 22 characters -
BBBB BBBB BBBB BBBB BB
- France (FR): 27 characters -
BBBB BSSS SSCC CCCC CCCC CCC KK
- Italy (IT): 27 characters -
CAAA AABB BBSS CCCC CCCC CCX
- United Kingdom (GB): 22 characters -
BBBB SSSS SSCC CCCC CC
- Spain (ES): 24 characters -
BBBB SSSS DDCC CCCC CCCC CC
Where:
- B = Bank code
- S = Sort code
- C = Customer account number
- K = Key/Check digit
- A = Account type
- D = Control digit
Validation Rules
The API performs comprehensive validation including:
- Format Validation: Checks if the IBAN follows the expected structure for the country
- Length Validation: Verifies the IBAN length matches the country standard
- Checksum Validation: Performs MOD-97 algorithm validation
- Country Code Validation: Ensures the country code is supported
- Character Validation: Checks for valid alphanumeric characters
Supported Countries
The API supports IBAN validation for 50+ countries including:
- Europe: Germany, France, Italy, Spain, Netherlands, Belgium, Austria, Switzerland, UK, Poland
- Asia: UAE, Bahrain, Israel, Jordan, Kazakhstan, Kuwait
- Americas: Brazil, Costa Rica, Dominican Republic, Guatemala
- Africa: Mauritania, Mauritius, Tunisia
For a complete list of supported countries, see the Supported Countries page.