Start right away with the API Key sent to your email after registration. No complex setup required.
GET https://www.e-iban.com/api/v2/validate.php?iban=TR590006200027700000001863&api_key=YOUR_API_KEY
{
"success": true,
"timestamp": "2026-03-15T10:00:00+03:00",
"data": {
"iban": "TR590006200027700000001863",
"valid": true,
"country": "TR",
"country_name": "Türkiye",
"bank_code": "0062",
"bank_name": "GARANTİ BBVA",
"swift": "TGBATRIS",
"branch_code": "00277",
"branch_name": "SAHRAYICEDİT ŞB.",
"branch_address": "Göztepe Mah.",
"branch_city": "İstanbul",
"branch_phone": "0216 XXX XX XX",
"account_number": "0000001863",
"checksum_valid": true,
"quota": {
"remaining": 99,
"expires": "2026-04-15"
}
}
}
IBAN validation — Returns bank, branch and account information
Account status — Returns quota and validity information
| Parameter | Type | Description |
|---|---|---|
iban |
Required | IBAN number to validate |
api_key |
Required | Your API key (or X-API-Key header) |
timestamp |
Required | Unix timestamp (5 min valid) |
signature |
Required | HMAC-SHA256 signature |
format |
Optional | json (default) or xml |
e-IBAN API uses HMAC-SHA256 for secure authentication. Timestamp and signature parameters are required for every request.
$timestamp = time(); // Unix timestamp (örn: 1709900000)
// Sorgu parametrelerini normalize edin: // - timestamp ve signature parametrelerini ÇIKARIN // - Kalan parametreleri alfabetik SIRALAYIN // - Key ve value'ları URL-ENCODE edin // Örnek: iban=TR590006200027700000001863 $query = 'iban=TR590006200027700000001863'; // İmza metnini oluşturun $stringToSign = $timestamp . "\n" . strtoupper($method) . "\n" . $path . "\n" . $query . "\n" . $body;
Bileşenler: timestamp, method (GET/POST), path (/api/v2/validate.php), query (normalize edilmiş), body (POST ise body, GET ise boş)
$signature = hash_hmac('sha256', $stringToSign, $api_secret);
// Yöntem 1: Tüm bilgileri header ile gönderin (önerilen) curl "https://www.e-iban.com/api/v2/validate.php?iban=TR590006200027700000001863×tamp=1709900000&signature=HESAPLANAN_IMZA" \ -H "X-API-Key: YOUR_API_KEY" // Yöntem 2: Tüm bilgileri query string ile gönderin curl "https://www.e-iban.com/api/v2/validate.php?iban=TR590006200027700000001863×tamp=1709900000&signature=HESAPLANAN_IMZA&api_key=YOUR_API_KEY"
// API Bilgileri $api_key = 'YOUR_API_KEY'; $api_secret = 'YOUR_API_SECRET'; $iban = 'TR590006200027700000001863'; // 1. Timestamp oluştur $timestamp = time(); // 2. String to Sign oluştur $method = 'GET'; $path = '/api/v2/validate.php'; $query = 'iban=' . $iban; $body = ''; $stringToSign = $timestamp . "\n" . $method . "\n" . $path . "\n" . $query . "\n" . $body; // 3. İmza oluştur $signature = hash_hmac('sha256', $stringToSign, $api_secret); // 4. API isteği $url = "https://www.e-iban.com/api/v2/validate.php?" . http_build_query([ 'iban' => $iban, 'timestamp' => $timestamp, 'signature' => $signature ]); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'X-API-Key: ' . $api_key, 'X-Timestamp: ' . $timestamp, 'X-Signature: ' . $signature ]); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response, true); echo $result['data']['bank_name']; // GARANTİ BBVA
import hmac import hashlib import time import requests API_KEY = 'YOUR_API_KEY' API_SECRET = 'YOUR_API_SECRET' def validate_iban(iban): timestamp = int(time.time()) method = 'GET' path = '/api/v2/validate.php' query = f'iban={iban}' body = '' string_to_sign = f"{timestamp}\n{method}\n{path}\n{query}\n{body}" signature = hmac.new( API_SECRET.encode(), string_to_sign.encode(), hashlib.sha256 ).hexdigest() response = requests.get( 'https://www.e-iban.com/api/v2/validate.php', params={ 'iban': iban, 'timestamp': timestamp, 'signature': signature }, headers={ 'X-API-Key': API_KEY, 'X-Timestamp': str(timestamp), 'X-Signature': signature } ) return response.json() result = validate_iban('TR590006200027700000001863') print(result['data']['bank_name']) # GARANTİ BBVA
# Timestamp ve signature oluştur (örnek) TIMESTAMP=$(date +%s) API_SECRET="YOUR_API_SECRET" # String to Sign oluştur STRING_TO_SIGN="${TIMESTAMP} GET /api/v2/validate.php iban=TR590006200027700000001863 " # Signature oluştur SIGNATURE=$(echo -n "$STRING_TO_SIGN" | openssl dgst -sha256 -hmac "$API_SECRET" | awk '{print $2}') # API isteği curl "https://www.e-iban.com/api/v2/validate.php?iban=TR590006200027700000001863×tamp=${TIMESTAMP}&signature=${SIGNATURE}" \ -H "X-API-Key: YOUR_API_KEY" \ -H "X-Timestamp: ${TIMESTAMP}" \ -H "X-Signature: ${SIGNATURE}"
| Code | Description | Solution |
|---|---|---|
API_KEY_REQUIRED |
API Key gönderilmemiş | X-API-Key header'ı veya api_key parametresi ekleyin |
API_KEY_GECERSIZ |
Geçersiz API anahtarı | API Key'inizi kontrol edin |
INVALID_SIGNATURE |
Signature verification failed | Check your signature algorithm |
SIGNATURE_REQUIRED |
Signature parametresi eksik | X-Signature header'ı veya signature parametresi ekleyin |
TIMESTAMP_REQUIRED |
Timestamp parametresi eksik | X-Timestamp header'ı veya timestamp parametresi ekleyin |
TIMESTAMP_EXPIRED |
Timestamp has expired | Use a valid Unix timestamp |
LIMIT_ASIMI |
Sorgu limitiniz dolmuş | Paketinizi yükseltin veya yeni paket satın alın |
DAILY_LIMIT_EXCEEDED |
Günlük API sorgu limitine ulaşıldı | Yarın tekrar deneyin veya paketinizi yükseltin |
RATE_LIMIT_EXCEEDED |
Çok fazla istek gönderildi (burst limit aşıldı) | Biraz bekleyip tekrar deneyin (10 sorgu/dakika) |
IP_LIMIT_EXCEEDED |
IP limit exceeded | Check your registered IPs |
IBAN_REQUIRED |
IBAN parameter is missing | Add the iban parameter |
UYELIK_PASIF |
Üyelik aktif değil | Üyelik durumunuzu kontrol edin veya destek ile iletişime geçin |
SURE_DOLDU |
Üyelik süresi dolmuş | Paket yenileyin |
{
"success": true,
"timestamp": "2026-03-15T10:00:00+03:00",
"data": {
"iban": "TR590006200027700000001863",
"valid": true,
"country": "TR",
"country_name": "Türkiye",
"bank_code": "0062",
"bank_name": "GARANTİ BBVA",
"swift": "TGBATRIS",
"branch_code": "00277",
"branch_name": "SAHRAYICEDİT ŞB.",
"branch_address": "Göztepe Mah.",
"branch_city": "İstanbul",
"branch_phone": "0216 XXX XX XX",
"account_number": "0000001863",
"checksum_valid": true,
"quota": {
"remaining": 99,
"expires": "2026-04-15"
}
}
}
{
"success": false,
"error": "IBAN_REQUIRED",
"message": "IBAN parametresi eksik"
}
format=xml parameter to receive XML format response. Default format is JSON. Choose your plan, make the payment, and start integrating with your API Key right away.
Choose a Plan & Get Started