{
"success": true,
"data": {
"is_valid": true,
"iban": "BE71096123456769",
"formats": {
"machine": "BE71096123456769",
"human": "BE71 0961 2345 6769",
"obfuscated": "BE** **** **** 6769"
},
"country": {
"name": "Belgium",
"iana": "be",
"iso3166": "BE",
"currency": "EUR",
"central_bank": {
"url": "http://www.nbb.be/",
"name": "National Bank of Belgium"
},
"membership": "eu_member",
"is_eu": true,
"length": 16,
"is_sepa": true,
"swift_official": true
},
"bank": {
"identifier": "GEBABEBB",
"name": "BNP Paribas Fortis",
"short_name": null,
"branch_code": null,
"bban": null
}
},
"execution_ms": 1
}
{
"success": false,
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}
IBAN validation
curl --request GET \
--url https://v2.greipapi.com/lookup/iban/{iban} \
--header 'Authorization: Bearer <token>'import requests
url = "https://v2.greipapi.com/lookup/iban/{iban}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://v2.greipapi.com/lookup/iban/{iban}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://v2.greipapi.com/lookup/iban/{iban}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://v2.greipapi.com/lookup/iban/{iban}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://v2.greipapi.com/lookup/iban/{iban}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://v2.greipapi.com/lookup/iban/{iban}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body
{
"success": true,
"data": {
"is_valid": true,
"iban": "BE71096123456769",
"formats": {
"machine": "BE71096123456769",
"human": "BE71 0961 2345 6769",
"obfuscated": "BE** **** **** 6769"
},
"country": {
"name": "Belgium",
"iana": "be",
"iso3166": "BE",
"currency": "EUR",
"central_bank": {
"url": "http://www.nbb.be/",
"name": "National Bank of Belgium"
},
"membership": "eu_member",
"is_eu": true,
"length": 16,
"is_sepa": true,
"swift_official": true
},
"bank": {
"identifier": "GEBABEBB",
"name": "BNP Paribas Fortis",
"short_name": null,
"branch_code": null,
"bban": null
}
},
"execution_ms": 1
}
{
"success": false,
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}
Data Lookup
IBAN Validation
This method enables you to validate International Bank Account Numbers (IBANs) and obtain essential information about the country associated with each IBAN.
By using this API, you can ensure that the IBANs are formatted correctly and gain insights into the banking institution, enhancing security and accuracy in financial transactions.
{
"success": true,
"data": {
"is_valid": true,
"iban": "BE71096123456769",
"formats": {
"machine": "BE71096123456769",
"human": "BE71 0961 2345 6769",
"obfuscated": "BE** **** **** 6769"
},
"country": {
"name": "Belgium",
"iana": "be",
"iso3166": "BE",
"currency": "EUR",
"central_bank": {
"url": "http://www.nbb.be/",
"name": "National Bank of Belgium"
},
"membership": "eu_member",
"is_eu": true,
"length": 16,
"is_sepa": true,
"swift_official": true
},
"bank": {
"identifier": "GEBABEBB",
"name": "BNP Paribas Fortis",
"short_name": null,
"branch_code": null,
"bban": null
}
},
"execution_ms": 1
}
{
"success": false,
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}
GET
/
lookup
/
iban
/
{iban}
IBAN validation
curl --request GET \
--url https://v2.greipapi.com/lookup/iban/{iban} \
--header 'Authorization: Bearer <token>'import requests
url = "https://v2.greipapi.com/lookup/iban/{iban}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://v2.greipapi.com/lookup/iban/{iban}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://v2.greipapi.com/lookup/iban/{iban}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://v2.greipapi.com/lookup/iban/{iban}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://v2.greipapi.com/lookup/iban/{iban}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://v2.greipapi.com/lookup/iban/{iban}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body
{
"success": true,
"data": {
"is_valid": true,
"iban": "BE71096123456769",
"formats": {
"machine": "BE71096123456769",
"human": "BE71 0961 2345 6769",
"obfuscated": "BE** **** **** 6769"
},
"country": {
"name": "Belgium",
"iana": "be",
"iso3166": "BE",
"currency": "EUR",
"central_bank": {
"url": "http://www.nbb.be/",
"name": "National Bank of Belgium"
},
"membership": "eu_member",
"is_eu": true,
"length": 16,
"is_sepa": true,
"swift_official": true
},
"bank": {
"identifier": "GEBABEBB",
"name": "BNP Paribas Fortis",
"short_name": null,
"branch_code": null,
"bban": null
}
},
"execution_ms": 1
}
{
"success": false,
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}
Authentication
Include your API key in theAuthorization header:
Authorization: Bearer <api_key>
Path parameters
string
required
The International Bank Account Number (IBAN) you want to validate.Sample value:
BE71096123456769, or BE71 0961 2345 6769.Query parameters
string
default:"JSON"
The format command is used to get a response in a specific format.Expected values:
JSON, XML, CSV, or NewlineFor more information please refer to Response format.string
default:"live"
The mode command is used in the development stage to simulate the integration process before releasing it to the production environment.Expected values:
live, or test.For more information please refer to Development environment.string
Optional label for your own analytics or support correlation (for example a product or channel name).
string
The user_id command can be used to identify requests sent by specific users to monitor in the Events page.Expected values: email address, phone number, user id, name, etc.For more information please refer to User identifier.
Response properties
boolean
required
true when the request succeeded; false on error.object
required
Hide properties
Hide properties
boolean
required
A boolean value that you can rely on to determine if the IBAN is valid or not.
string
required
The IBAN value from the request.
object
required
object
required
Hide properties
Hide properties
string
required
Country name where the issuing bank is located.
string
IANA country identifier when available.
string
Country code in ISO 3166-1 alpha-2 format when available.
string
required
Currency of the country.
object
required
string
required
Membership type of the bank.
boolean
required
Determines whether the user is located within the European Union (EU) and is relevant for processing transactions or validations specific to EU countries.
integer
IBAN length in this country when known.
string
Example IBAN for the country when available.
boolean
required
Indicates whether the IBAN belongs to a country participating in the Single Euro Payments Area (SEPA)
boolean
required
Typically indicates whether the IBAN corresponds to an official institution or entity that is part of the SWIFT network, which facilitates international financial transactions.
integer
required
Time taken to process the request (milliseconds).
Was this page helpful?