Access comprehensive European bank data with SWIFT/BIC codes, addresses, and autonomous IBAN-to-BIC mapping. Features reliable bank information from official central bank sources with exact-match IBAN lookup capabilities.
Comprehensive coverage of 6 European countries with verified official data sources from central banks and financial authorities.
Autonomous IBAN-to-BIC lookup without external API dependencies. Supports exact-match resolution for supported countries.
Only trusted, verified data sources. Unsupported countries return proper error messages instead of unreliable results.
https://api.clients.lv/api/companies
All API endpoints require authentication using Bearer tokens with the following permission:
urcompanies:read - Required for all API access including IBAN-to-BIC mapping
The IBAN-to-BIC mapping functionality is integrated into the main companies API and uses the same authentication system.
curl -X POST -H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"iban":"DE89370400440532013000"}' \
https://api.clients.lv/api/companies/lookup-by-iban
IBAN-to-BIC mapping is available for countries with verified official data sources from central banks and financial authorities.
Bundesbank (4,677 banks)
DNB (620 banks)
NBB (312+ banks)
SIX Group (45 banks)
OENB (23 banks)
ABBL (11 banks)
For unsupported countries or IBANs without exact matches, the API returns proper error messages instead of unreliable results. This ensures data quality and prevents false bank identification.
/api/companies/lookup-by-iban
Autonomous IBAN-to-BIC lookup that validates IBAN format, extracts bank identifiers, and returns exact bank matches from official sources. No external API dependencies.
{
"iban": "DE89370400440532013000"
}
{
"success": true,
"accuracy": "exact",
"source": "local_mapping",
"search_method": "iban_bic_mapping",
"iban_info": {
"submitted_iban": "DE89370400440532013000",
"normalized_iban": "DE89370400440532013000",
"formatted_iban": "DE89 3704 0044 0532 0130 00",
"valid": true,
"country_code": "DE",
"country_name": "Germany",
"check_digits": "89",
"bank_identifier": "37040044",
"account_identifier": "0532013000"
},
"bank_info": {
"bic": "COBADEFFXXX",
"bank_name": "Commerzbank AG",
"bank_city": "Frankfurt am Main",
"bank_address": "Kaiserstraße 16, 60311 Frankfurt am Main",
"data_source": "bundesbank"
}
}
{
"success": false,
"error": "No exact bank match found for this IBAN",
"iban_info": {
"submitted_iban": "LT343500010001508741",
"normalized_iban": "LT343500010001508741",
"formatted_iban": "LT34 3500 0100 0150 8741",
"valid": true,
"country_code": "LT",
"country_name": "Lithuania",
"check_digits": "34",
"bank_identifier": "35000",
"account_identifier": "10001508741"
}
}
curl -X POST \
"https://api.clients.lv/api/companies/lookup-by-iban" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"iban":"DE89370400440532013000"}'
✅ Success
Bank: Commerzbank AG
BIC: COBADEFFXXX
Source: Bundesbank
curl -X POST \
"https://api.clients.lv/api/companies/lookup-by-iban" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"iban":"BE91967051052476"}'
✅ Success
Bank: Wise Europe SA
BIC: TRWIBEB1XXX
Source: NBB (manual correction)
curl -X POST \
"https://api.clients.lv/api/companies/lookup-by-iban" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"iban":"LT343500010001508741"}'
❌ Not Found (HTTP 404)
Lithuania not in supported countries
IBAN valid, but no bank mapping
Error: "No exact bank match found"
| Code | Status | Description | When This Occurs |
|---|---|---|---|
| 200 | OK | Exact bank match found | Valid IBAN from supported country with bank mapping |
| 400 | Bad Request | Invalid IBAN format | Malformed IBAN, wrong length, or checksum failure |
| 401 | Unauthorized | Authentication required | Missing or invalid Bearer token |
| 404 | Not Found | No bank match found | Valid IBAN but unsupported country or missing bank |
| 422 | Unprocessable Entity | Invalid IBAN details | IBAN validation failed with specific error details |
| 429 | Too Many Requests | Rate limit exceeded | Too many API requests per minute/hour |
Germany: Bundesbank official BLZ directory (updated monthly)
Netherlands: DNB official bank code list (updated monthly)
Belgium: NBB financial institution codes (manual corrections applied)
Switzerland: SIX Group official bank directory (updated quarterly)
Austria: OENB official bank code list (updated quarterly)
Luxembourg: ABBL member directory (updated quarterly)
• No fuzzy matching: Only exact bank identifier matches are returned
• No country fallbacks: Unsupported countries return proper 404 errors
• Single bank policy: Multiple bank matches are rejected to avoid ambiguity
• Official sources only: No unreliable data extraction or guessing algorithms
• Autonomous operation: No external API dependencies or rate limits
• Consistent authentication: Uses same token system as companies API
• Reliable responses: Predictable error handling and status codes
• European focus: Comprehensive coverage of major EU banking markets