Developer docs
IBAN API code snippets
A ready-to-run /validate call in each language below. Swap in your real API_KEY and the IBAN you want to check.
PHP (cURL)
Uses PHP's built-in curl extension, no third-party package required.
PHP
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.ibanapi.com/v1/validate',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => ['iban' => 'IBAN', 'api_key' => 'API_KEY'],
]);
$response = curl_exec($curl);
if ($response === false) {
throw new RuntimeException(curl_error($curl));
}
curl_close($curl);
echo $response;Node.js
Node 18+ ships a global fetch and FormData, so this needs no dependency at all.
Node.js (fetch)
const form = new FormData();
form.append('iban', 'IBAN');
form.append('api_key', 'API_KEY');
const response = await fetch('https://api.ibanapi.com/v1/validate', {
method: 'POST',
body: form
});
const data = await response.json();
console.log(data);Prefer Axios? Here's the same call with it.
Node.js (Axios)
const axios = require('axios');
const FormData = require('form-data');
const form = new FormData();
form.append('iban', 'IBAN');
form.append('api_key', 'API_KEY');
const response = await axios.post('https://api.ibanapi.com/v1/validate', form, {
headers: form.getHeaders()
});
console.log(response.data);Java (OkHttp)
OkHttp is the most common native-feeling HTTP client on the JVM and Android.
Java
OkHttpClient client = new OkHttpClient();
RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("iban", "IBAN")
.addFormDataPart("api_key", "API_KEY")
.build();
Request request = new Request.Builder()
.url("https://api.ibanapi.com/v1/validate")
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}Python (Requests)
The requests library is the de facto standard for HTTP in Python.
Python
import requests
response = requests.post(
"https://api.ibanapi.com/v1/validate",
data={"iban": "IBAN", "api_key": "API_KEY"}
)
print(response.json())C# (RestSharp)
Written against RestSharp v107+, the current major version.
C#
var client = new RestClient("https://api.ibanapi.com/v1/validate");
var request = new RestRequest()
.AddParameter("iban", "IBAN")
.AddParameter("api_key", "API_KEY");
var response = await client.PostAsync(request);
Console.WriteLine(response.Content);Dart (http)
Uses the Dart team's own http package from pub.dev.
Dart
import 'package:http/http.dart' as http;
final uri = Uri.parse('https://api.ibanapi.com/v1/validate');
final request = http.MultipartRequest('POST', uri)
..fields['iban'] = 'IBAN'
..fields['api_key'] = 'API_KEY';
final streamed = await request.send();
final response = await http.Response.fromStream(streamed);
if (response.statusCode == 200) {
print(response.body);
} else {
print(response.reasonPhrase);
}