• Contact
  • en EN
    • de Deutsch
    • fr Français
    • it Italiano
    • nl Dutch
    • es Español
    • pt Português
    • pl Polski
    • sv Svenska
    • fi Suomi
    • da Dansk
    • no Norsk
    • hu Magyar
    • el Eλληνική
    • cs Čeština
    • sl Slovenščina
    • hr Hrvatski
    • sk Slovenský
    • lv Latviešu
    • lt Lietuvių
    • et Eesti
    • sr Srpski
    • tr Türkçe
    • ru Русский
    • bg Български
    • uk Українська
    • ar العربية
    • he עברית
    • ja 日本語
    • ko 한국어
    • zh-TW 繁體中文
  • Login
  • Request Trial
IBAN Logo
  • Validate IBAN
  • Calculate IBAN
  • Products
  • Why IBAN
  • Developers
  • Pricing
  • 1. Introduction
  • 2. Features
  • 3. API Endpoints
  • 4. BIC ENDPOINT INPUT
  • 4.1 BIC ENDPOINT OUTPUT
  • 4.2 BIC ENDPOINT ERRORS
  • 5. BANK ENDPOINT INPUT
  • 5.1 BANK ENDPOINT OUTPUT
  • 5.2 BANK ENDPOINT ERRORS
  • 7. Data Fields Definitions

BIC Validation API Documentation


1. Introduction


When processing wire payments and dealing with IBAN related transactions, providing the correct SWIFT / BIC code is vital to successful payments.
Our company has licensed the official BIC Directory from S.W.I.F.T SCRL to provide a powerful and simple way of validating BIC automatically. This service allows you to integrate BIC code directory lookup in your software for internal purposes.

BIC Validation API has SWIFTRef Data Inside. BIC data used with permission of S.W.I.F.T. SCRL. Database rights reserved 2022



2. Features


Some of the key features and benefits of the BIC Validation service are:

  • Global Coverage
  • Retrieve information about the bank based on the BIC.
  • Query the BIC directory by a part of the bank name and country.
  • Query the BIC Directory for historical records.
  • Determine if a BIC / SWIFT code is valid
  • Determine if a BIC / SWIFT code is connected to SWIFT network
  • Determine supported SWIFT network payment services by BIC


3. API Endpoints



The BIC Validation API provides the two endpoints.

BIC Endpoint - Validate and lookup BIC/SWIFT code
http://api.iban.com/clients/api/swiftv2/bic/

This endpoint accepts a BIC/SWIFT code as input and performs validation and lookup in the BIC directory.
The response provides information on the financial institution, active/inactive status of the BIC code and other details.

Bank Endpoint - Query the BIC directory by bank name
http://api.iban.com/clients/api/swiftv2/bank/

This endpoint performs a reverse BIC search by provided bank name ( or part of bank name ).
It is useful to find all active BIC codes of a certain bank or financial institution in the directory.

4. BIC Endpoint Input

The REST API accepts both HTTP GET or POST requests.
The input parameters are listed in the table below:

Field Name Length Type Description
bic Max 11 String The BIC/SWIFT code sent to our system for validation.
api_key 128 String Your personal API key.
format 5 String Format of the response XML and JSON supported.

*To obtain an API key, please contact us at contact@iban.com or purchase a subscription at our order page

EXAMPLE Request – Validate a BIC Code
An example usage of the BIC Validation API with a GET request can be:

https://api.iban.com/clients/api/swiftv2/bic/?format=json&api_key=[API_KEY]&bic=BARCGB22XXX

Where:
  • key is your API key
  • BIC is the BIC/SWIFT code sent for validation by the API module.
  • xml is the response format. Also a json keyword can be specified for json formatted response.


Once an HTTP GET or POST request is made with the correct API key, the system will return the results in the specified format.
Feel free to use the sample code below to test the API in the most common programming languages.

  • CURL
  • PHP
  • RUBY
  • PYTHON
  • Perl
  • JAVA
  • .NET
  • NODE
curl "https://api.iban.com/clients/api/swiftv2/bic/" \
    -X POST \
    -d format=json \
	-d api_key=[YOUR_API_KEY] \
	-d bic=BARCGB22XXX
<?php
$curl = curl_init();

$post = [
    'format' => 'json',
    'api_key' => '[YOUR_API_KEY]',
	'bic' => 'BARCGB22XXX'
];

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.iban.com/clients/api/swiftv2/bic/',
	CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => $post
));

$output = curl_exec($curl);
$result = json_decode($output);

print_r($result);

curl_close($curl);
?>
require 'net/http'

uri = URI('https://api.iban.com/clients/api/swiftv2/bic/')

res = Net::HTTP.post_form(uri, "format" => "json", "api_key" => "[YOUR_API_KEY]","bic" => "BARCGB22XXX")

puts res.body
import requests

post_data = {'format':'json', 'api_key':'[YOUR_API_KEY]','bic':'BARCGB22XXX'}

response = requests.post('https://api.iban.com/clients/api/swiftv2/bic/',post_data)
print(response.text)
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my $server_endpoint = "https://api.iban.com/clients/api/swiftv2/bic/";

my $format = 'json';
my $api_key = '[YOUR_API_KEY]';
my $bic = 'BARCGB22XXX';


my $req = HTTP::Request->new( POST => $server_endpoint );
$req->content_type('application/x-www-form-urlencoded');

my $post_data = 'format=' . $format . '&api_key=' . $api_key . '&bic=' . $bic;

$req->content($post_data);

my $resp = $ua->request($req);

if ( $resp->is_success ) {
    my $message = $resp->decoded_content;
	print $message;
}

JAVA

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;


public class ibanapi {

	private final String USER_AGENT = "API Client/1.0";

	public static void main(String[] args) throws Exception {

		ibanapi http = new ibanapi();

		
		System.out.println("\nTesting API - Send API POST request");
		http.sendPost();

	}

	// HTTP POST request
	private void sendPost() throws Exception {

		String url = "https://api.iban.com/clients/api/swiftv2/bic/";
		URL obj = new URL(url);
		HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

		//add reuqest header
		con.setRequestMethod("POST");
		con.setRequestProperty("User-Agent", USER_AGENT);
		con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

		String urlParameters = "api_key=[YOUR_API_KEY]&format=json&bic=BARCGB22XXX";

		// Send post request
		con.setDoOutput(true);
		DataOutputStream wr = new DataOutputStream(con.getOutputStream());
		wr.writeBytes(urlParameters);
		wr.flush();
		wr.close();

		int responseCode = con.getResponseCode();
		System.out.println("\nSending 'POST' request to URL : " + url);
		System.out.println("Post parameters : " + urlParameters);
		System.out.println("Response Code : " + responseCode);

		BufferedReader in = new BufferedReader(
		new InputStreamReader(con.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();

		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}
		in.close();

		//print result
		System.out.println(response.toString());

	}

}

.NET

public static void Main(string[] args)
		{						
			var request = (HttpWebRequest)WebRequest.Create("https://api.iban.com/clients/api/swiftv2/bic/");
 
			var postData = "api_key=[YOUR_API_KEY]";
			 postData += "&format=json";
			 postData += "&bic=BARCGB22XXX";
			 
			var data = Encoding.ASCII.GetBytes(postData);
			 
			request.Method = "POST";
			request.ContentType = "application/x-www-form-urlencoded";
			request.ContentLength = data.Length;
			 
			using (var stream = request.GetRequestStream())
			{
			 stream.Write(data, 0, data.Length);
			}
			 
			var response = (HttpWebResponse)request.GetResponse();
			 
			var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
			
			Console.WriteLine(responseString);
			
			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}

NODE

var request = require('request');

var headers = {
    'User-Agent':       'IBAN API Client/0.0.1',
    'Content-Type':     'application/x-www-form-urlencoded'
}

var options = {
    url: 'https://api.iban.com/clients/api/swiftv2/bic/',
    method: 'POST',
    headers: headers,
    form: {'api_key': '[YOUR_API_KEY]', 'format': 'json', 'bic': 'BARCGB22XXX'}
}

request(options, function (error, response, body) {
    if (!error && response.statusCode == 200) {
     
		var data = JSON.parse(body);

		console.log(data.error);
		
		console.log("Query Status: " + data.success);
		console.log("BIC Code Valid: " + data.bic_valid);
		console.log("Bank Name: " + data.directory_results.institution);
		console.log("Bank BIC: " + data.directory_results.bic);
    }
})



4.1 BIC Endpoint API Output


The API results are delivered in JSON or XML format for maximum usability. Find below descriptions for the JSON properties returned by the API:

Object Type Description
QUERY Array Contains the user supplied input parameters.
SUCCESS Boolean Indicates a true or false indicating if the query succeeded
BIC_VALID Boolean True or False. Indicates if the BIC/SWIFT code supplied has passed all validations
BIC_ACTIVE Boolean True or False. Indicates if the BIC code is connected and active in the SWIFT network.
DIRECTORY_RESULTS Array This object contains the data retrieved from the BIC directory for the respective BIC code. You may find a detailed description of this object in Section 7 Data Field Definitions
SERVICES Array This object contains the data retrieved from the BIC directory regarding the supported payment schemas. You may find a detailed description of this object in Section 7 Data Field Definitions
ERROR Object Provides error code and description if an error occurs. For descriptions, please refer to Section 4.2 BIC Endpoint Errors


A sample JSON reply from the API for a IBAN validation query would be:

{
    "query": {
        "bic": "BARCGB22XXX",
        "success": true
    },
    "bic_valid": true,
    "bic_active": true,
    "directory_results": {
        "bic": "BARCGB22XXX",
        "bic8": "BARCGB22",
        "bic_branch": "XXX",
        "institution": "FINANCIAL",
        "name": "BARCLAYS BANK PLC",
        "branch_name": "ALL U.K. OFFICES",
        "office": "HEAD OFFICE",
        "address": "1 CHURCHILL PLACE",
        "city": "LONDON",
        "zip": "E14 5HP",
        "country_name": "UNITED KINGDOM",
        "iso_country_code": "GB"
    },
    "services": [
        {
            "code": "FIN",
            "description": "MANY-TO-MANY FIN PAYMENT SERVICE"
        },
        {
            "code": "SCO",
            "description": "SCORE FIN"
        },
        {
            "code": "STG",
            "description": "CHAPS STERLING (RTGS)"
        }
    ],
    "error": {}
}



4.2 BIC Endpoint Errors



This API uses standard HTTP response codes as well as custom error codes to indicate the success or failure of API requests.

In general:
2xx (usually 200) range indicate successful processing of your request to the API.
4xx (usually 400 or 403) range indicate an error with the request you are sending to the API. For example: incorrect api key, missing parameter which is required, expired membership etc.
5xx (usually 500) range indicate a problem with our servers (such errors are very rare).

In addition to the HTTP status code, our API will return a formatted body containing message and custom error code.
The custom error code and message can be used to indicate more about the exact error that occurred.

You may notice we have two types of errors 'Query Failed' and 'Validation failed'.
Query Failed error indicates that the system did not perform validation due to missing or incorrect details in the query. If your membership expired it will also return this type of error.
Validation Failed error indicates the query parameters you sent are correct and our system found a problem with the BIC code or bank name. When a BIC is not found in the active directory it will also indicate with this type of error

Error Code HTTP Status Code Type Message
301403Query failedAPI Key is invalid
305403Query failedIP Address not allowed
304403Query failedYou have no access to this API
302403Query failedSubscription expired
303403Query failedNo queries available
306400Query failedBad Request. Required minimum parameters: api_key; format; iso; bic
806400Query failedInvalid value for 'limit' parameter
500500Query failedInternal Server Error
801200Validation failedInvalid Characters in BIC
802200Validation failedIncorrect BIC Length. Accepted BIC length 8 or 11 characters
803200Validation failedBIC Code not found in directory.

5. BANK Endpoint Input


The Bank Code endpoint is designed to perform lookups by bank name or part of a bank name.
The input parameters are listed in the table below:

Field Name Length Type Description
bank_name Max 125 String The BIC sent to our system for validation and identification.
country Max 2 String The 2 letter ISO country code to narrow the search.
limit Integer The 2 letter ISO country code to narrow the search.
api_key 128 String Your personal API key.
format 5 String Format of the response XML and JSON supported.

*To obtain an API key, please contact us at contact@iban.com or purchase a subscription at our order page

Feel free to use the sample code below to test the API in the most common programming languages.

  • CURL
  • PHP
  • RUBY
  • PYTHON
  • Perl
  • JAVA
  • .NET
  • NODE
curl "https://api.iban.com/clients/api/swiftv2/bank/" \
    -X POST \
    -d format=json \
	-d api_key=[YOUR_API_KEY] \
	-d country=US
	-d bank_name=natwest
<?php
$curl = curl_init();

$post = [
    'format' => 'json',
    'api_key' => '[YOUR_API_KEY]',
	'country' => US
	'bank_name' => 'natwest'
];

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.iban.com/clients/api/swiftv2/bank/',
	CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => $post
));

$output = curl_exec($curl);
$result = json_decode($output);

print_r($result);

curl_close($curl);
?>
require 'net/http'

uri = URI('https://api.iban.com/clients/api/swiftv2/bank/')

res = Net::HTTP.post_form(uri, "format" => "json", "api_key" => "[YOUR_API_KEY]","country" => "US", "bank_name" => "natwest")

puts res.body
import requests

post_data = {'format':'json', 'api_key':'[YOUR_API_KEY]','country':'US', 'bank_name':'natwest'}

response = requests.post('https://api.iban.com/clients/api/swiftv2/bank/',post_data)
print(response.text)
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my $server_endpoint = "https://api.iban.com/clients/api/swiftv2/bank/";

my $format = 'json';
my $api_key = '[YOUR_API_KEY]';
my $country = 'US';
my $bank_name = 'natwest';

my $req = HTTP::Request->new( POST => $server_endpoint );
$req->content_type('application/x-www-form-urlencoded');

my $post_data = 'format=' . $format . '&api_key=' . $api_key . '&country=' . $country . '&bank_name' . $bank_name;

$req->content($post_data);

my $resp = $ua->request($req);

if ( $resp->is_success ) {
    my $message = $resp->decoded_content;
	print $message;
}

JAVA

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;


public class ibanapi {

	private final String USER_AGENT = "API Client/1.0";

	public static void main(String[] args) throws Exception {

		ibanapi http = new ibanapi();

		
		System.out.println("\nTesting API - Send API POST request");
		http.sendPost();

	}

	// HTTP POST request
	private void sendPost() throws Exception {

		String url = "https://api.iban.com/clients/api/swiftv2/bank/";
		URL obj = new URL(url);
		HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

		//add reuqest header
		con.setRequestMethod("POST");
		con.setRequestProperty("User-Agent", USER_AGENT);
		con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

		String urlParameters = "api_key=[YOUR_API_KEY]&format=json&country=US&bank_name=natwest";

		// Send post request
		con.setDoOutput(true);
		DataOutputStream wr = new DataOutputStream(con.getOutputStream());
		wr.writeBytes(urlParameters);
		wr.flush();
		wr.close();

		int responseCode = con.getResponseCode();
		System.out.println("\nSending 'POST' request to URL : " + url);
		System.out.println("Post parameters : " + urlParameters);
		System.out.println("Response Code : " + responseCode);

		BufferedReader in = new BufferedReader(
		new InputStreamReader(con.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();

		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}
		in.close();

		//print result
		System.out.println(response.toString());

	}

}

.NET

public static void Main(string[] args)
		{						
			var request = (HttpWebRequest)WebRequest.Create("https://api.iban.com/clients/api/swiftv2/bank/");
 
			var postData = "api_key=[YOUR_API_KEY]";
			 postData += "&format=json";
			 postData += "&country=US";
			 postData += "&bank_name=natwest";
			 
			var data = Encoding.ASCII.GetBytes(postData);
			 
			request.Method = "POST";
			request.ContentType = "application/x-www-form-urlencoded";
			request.ContentLength = data.Length;
			 
			using (var stream = request.GetRequestStream())
			{
			 stream.Write(data, 0, data.Length);
			}
			 
			var response = (HttpWebResponse)request.GetResponse();
			 
			var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
			
			Console.WriteLine(responseString);
			
			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}

NODE

var request = require('request');

var headers = {
    'User-Agent':       'IBAN API Client/0.0.1',
    'Content-Type':     'application/x-www-form-urlencoded'
}

var options = {
    url: 'https://api.iban.com/clients/api/swiftv2/bank/',
    method: 'POST',
    headers: headers,
    form: {'api_key': '[YOUR_API_KEY]', 'format': 'json', 'country': 'US', 'bank_name': 'natwest'}
}

request(options, function (error, response, body) {
    if (!error && response.statusCode == 200) {
     
		var data = JSON.parse(body);

		console.log(data.error);
		
		console.log("Query Status: " + data.success);
		console.log("BIC Code Valid: " + data.bic_valid);
		console.log("Bank Name: " + data.directory_results.institution);
		console.log("Bank BIC: " + data.directory_results.bic);
    }
})


An example usage of the Bank Endpoint with a GET request can be:

https://api.iban.com/clients/api/swiftv2/bank/?format=json&api_key=[API_KEY]&country=US&bank_name=wells fargo

Where:
  • key is your API key
  • country is the two letter ISO country code to narrow the search.
  • bank_name is the bank name or part of bank name to perform the search.
  • xml is the response format. Also a json keyword can be specified for json formatted response.

Once an HTTP GET or POST request is made with the correct API key, the system will return the results in the specified format.

5.1 BANK Endpoint Output


The API results are delivered in JSON or XML format for maximum usability. Find below descriptions for the JSON properties returned by the API:

Object Type Description
QUERY Object Contains the user supplied input parameters.
RECORDS_FOUND Integer Indicates the number of records found in the bank directory. If more than one, you may use the 'limit' parameter to retrieve multiple records for the same bank code
RECORDS_DISPLAYED Integer Indicates the number of records displayed in the 'directory_results' object. By default we display one record. With the 'limit' parameter, you can retrieve multiple
DIRECTORY_RESULTS Array This object contains the data retrieved from our bank directory for the respective bank code. You may find a detailed description of this object in Section 7 Data Field Definitions
ERROR Object Provides error code and description if an error occurs. For descriptions, please refer to Section 5.2 Bank Endpoint Errors


A sample JSON reply from the API for a IBAN validation query would be:
{
    "query": {
        "country": "US",
        "bank_name": "natwest",
        "success": true
    },
    "records_found": 2,
    "records_displayed": 3,
    "directory_results": [
        {
            "bic": "GRNWUS33XXX",
            "bic8": "GRNWUS33",
            "bic_branch": "XXX",
            "institution": "FINANCIAL",
            "name": "NATWEST MARKETS SECURITIES INC.",
            "branch_name": "",
            "bic_active": true,
            "office": "HEAD OFFICE",
            "address": "600 WASHINGTON BLVD",
            "city": "STAMFORD,CT",
            "zip": "06901",
            "country_name": "UNITED STATES OF AMERICA",
            "iso_country_code": "US",
            "services": []
        },
        {
            "bic": "GRNWUS3EXXX",
            "bic8": "GRNWUS3E",
            "bic_branch": "XXX",
            "institution": "FINANCIAL",
            "name": "NATWEST MARKETS SECURITIES INC.",
            "branch_name": "",
            "bic_active": true,
            "office": "HEAD OFFICE",
            "address": "600 WASHINGTON BLVD",
            "city": "STAMFORD,CT",
            "zip": "06901",
            "country_name": "UNITED STATES OF AMERICA",
            "iso_country_code": "US",
            "services": []
        }
    ],
    "error": {}
}



5.2 Bank Endpoint Errors

This API uses standard HTTP response codes as well as custom error codes to indicate the success or failure of API requests.

In general:
2xx (usually 200) range indicate successful processing of your request to the API.
4xx (usually 400 or 403) range indicate an error with the request you are sending to the API. For example: incorrect api key, missing parameter which is required, expired membership etc.
5xx (usually 500) range indicate a problem with our servers (such errors are very rare).

In addition to the HTTP status code, our API will return a formatted body containing message and custom error code.
The custom error code and message can be used to indicate more about the exact error that occurred.

You may notice we have two types of errors 'Query Failed' and 'Validation failed'.
Query Failed error indicates that the system did not perform validation due to missing or incorrect details in the query. If your membership expired it will also return this type of error.
Validation Failed error indicates the query parameters you sent are correct and our system found a problem with the BIC code or bank name. When a BIC is not found in the active directory it will also indicate with this type of error
Error Code HTTP Status Code Type Message
301403Query failedAPI Key is invalid
305403Query failedIP Address not allowed
304403Query failedYou have no access to this API
302403Query failedSubscription expired
303403Query failedNo queries available
306400Query failedBad Request. Required minimum parameters: api_key; format; iso; bank_name, country
806400Query failedInvalid value for 'limit' parameter
500500Query failedInternal Server Error
806200Validation failedBank Name Invalid! Bank search should be minimum of 4 characters. Allowed characters a-z, A-Z, 0-9, space!
807200Validation failedCountry code incorrect! Allowed is 2 letter country code. Example: UK, DE, FR
808200Validation failedNo records found in directory.


7. Data Field Definitions

Name: error
Type: object
Used in: Response of /bank/ and /bic/ endpoints


Name Type Max length Description
codeNumeric3Unique error code assigned to the specific error.
messageAny125Text describing the reason for the error.

Name: query
Type: object
Used in: Response of /bic/ endpoint


Name Type Max length Description
bicAny11Full BIC code send by the client for validation
successboolean5Indicates whether the query was successfully parsed by our system. Possible values: true/false

Name: query
Type: object
Used in: Response of /bank/ endpoint


Name Type Max length Description
countryAlphabetic2The country code sent for validation.
bank_nameAny125Full BIC code send by the client for validation
successboolean5Indicates whether the query was successfully parsed by our system. Possible values: true/false

Name: directory_results
Type: object
Used in: Response of /bic/ and /bank/ endpoints


Name Type Max length Description
bicAny11Full BIC code
bic8Any8Head office part of the BIC code
bic_branchAny3Branch part of the BIC code
institutionAny12Type of institution. Possible values are: NONFINANCIAL or FINANCIAL
nameAny125The full name of the bank or financial institution
branch_nameAny125The name of the specific branch of the respective BIC
bic_activeboolean5Marker specifying whether the BIC code is connected and active in the SWIFT network. Possible values: true/false
officeAlphabetic11The type of office: branch or head office
addressAlphabetic125The street address of the bank/branch
cityAlphabetic2The name of the city of the branch address
zipAlphabetic2The ZIP/Postal code of the branch address
country_nameAlphabetic2The full name of the country in which the bank/branch is localized.
iso_country_codeAlphabetic2The ISO 3166-1 alpha-2 code of the country of the institution/branch
servicesArrayvariableA list of payment services the BIC code participates in.

Web Tools
  • IBAN Checker
  • IBAN Calculator
  • Search BIC
  • VAT Checker
  • Currency Convert
  • Currency Exchange rates
Products
  • IBAN Suite: Validation & Calculation
  • Bank Suite: Global Banking Validation
  • BIC Validation Service
  • SortWare: Web Portal & Rest API
  • Forex Reference Suite
Developers
  • IBAN Validation API
  • IBAN Calculation API
  • Bank Suite API
  • BIC Validation API
  • SortWare Rest API
About
  • Why IBAN
  • Security
  • Customers
  • Our Data
  • News & Updates
Partners
BIC data used with permission of S.W.I.F.T. SCRL. Database Rights Reserved, 2025.
IBAN.com is an authorized VocaLink™ Distributor
S.W.I.F.T. SCRL  
Deutsche Bundesbank  
La Banque de France Eurosisteme
Vocalink LTD (Mastercard)  
Copyright © 2025 IBAN.COM
Privacy Terms DPA SLA Security Contact Sitemap