The Kraken API, geliştiricilere dünyanın önde gelen kripto para borsalarından birine güçlü bir arayüz sağlar. İster alım satım uygulamaları geliştiriyor, ister piyasaları izliyor veya kripto para portföylerini yönetiyor olun, bu kılavuz, Kraken'in API yeteneklerinin ve uygulama yaklaşımlarının temel özelliklerinde gezinmenize yardımcı olacaktır.
Kraken API Nedir?
Kraken'in API'si, geliştiricilerin borsanın işlevselliğine bir RESTful arayüzü aracılığıyla programlı olarak erişmelerine olanak tanır. Bu API ile şunları yapabilirsiniz:
- Gerçek zamanlı piyasa verilerine (fiyatlar, emir defterleri, işlemler) erişin
- Alım satım emirleri verin ve yönetin
- Hesap bakiyelerini ve pozisyonları izleyin
- Para yatırma ve çekme işlemlerini gerçekleştirin
- Geçmiş alım satım verilerine erişin

API Erişimi İçin Kurulum
Kraken Hesabınızı Oluşturma
API'yi kullanmadan önce şunları yapmanız gerekir:
- kraken.com adresinden bir Kraken hesabı için kaydolun
- Kullanım ihtiyaçlarınıza göre doğrulama gereksinimlerini tamamlayın
- Gelişmiş güvenlik için iki faktörlü kimlik doğrulamayı (2FA) etkinleştirin

API Anahtarları Oluşturma
API ile etkileşim kurmak için, uygun izinlere sahip API anahtarları oluşturun:
- Kraken hesabınıza giriş yapın
- Bağlantı & API'ye gidin

3. Yeni Anahtar Oluştur'a tıklayın

4. Uygun izinleri ayarlayın:
- Sorgu: Hesap bilgilerine salt okunur erişim
- Alım Satım: Emir verme ve iptal etme yeteneği
- Para Yatırma: Para yatırma adresleri oluşturun
- Para Çekme: Para çekme talepleri oluşturun

⚠️ GÜVENLİK UYARISI
- API anahtarlarını güvenli bir şekilde saklayın ve özel anahtarınızı asla paylaşmayın
- API anahtar izinlerini yalnızca gerekli olanlarla sınırlandırın
- IP adresi kısıtlamaları uygulamayı düşünün
API Yapısını Anlama
Kraken API'si mantıksal bir yapıya göre düzenlenmiştir:
API Temel URL'si ve Uç Noktalar
Tüm API istekleri temel URL ile başlar: https://api.kraken.com
Geçerli API sürümü, URL yolunda /0/
ile belirtilir, ardından şunlardan biri gelir:
- /public/ - Kimlik doğrulaması gerektirmeyen uç noktalar
- /private/ - API anahtarınızla kimlik doğrulaması gerektiren uç noktalar
Yanıt Biçimi
Tüm API yanıtları standart bir JSON biçimini izler:
{
"error": [],
"result": { /* Yanıt verileri */ }
}
İlk API İsteklerinizi Yapma
Genel API İstekleri
Genel uç noktalar, kimlik doğrulaması gerektirmeden piyasa verileri sağlar.
Örnek: Borsa Bilgisi Alma
import requests
# Bitcoin için USD cinsinden borsa bilgisi alın
response = requests.get('https://api.kraken.com/0/public/Ticker?pair=XBTUSD')
ticker_data = response.json()
if not ticker_data['error']:
btc_data = ticker_data['result']['XXBTZUSD']
print(f"BTC/USD Son İşlem Fiyatı: {btc_data['c'][0]}")
print(f"BTC/USD 24 saatlik Hacim: {btc_data['v'][1]}")
else:
print(f"Hata: {ticker_data['error']}")
Örnek: Emir Defteri Verileri
fetch('https://api.kraken.com/0/public/Depth?pair=ETHUSD&count=5')
.then(response => response.json())
.then(data => {
if (data.error.length === 0) {
const orderbook = data.result.XETHZUSD;
console.log("ETH/USD Emir Defteri İlk 5 Teklif:", orderbook.bids);
console.log("ETH/USD Emir Defteri İlk 5 İstek:", orderbook.asks);
}
});
Özel API Kimlik Doğrulaması
Özel uç noktalar, aşağıdakileri içeren bir işlem yoluyla API anahtarlarınızla kimlik doğrulaması gerektirir:
- Bir nonce (artan sayı) oluşturma
- HMAC-SHA512 kullanarak bir istek imzası oluşturma
- API anahtarınız ve imzanızla isteği gönderme
Kimlik Doğrulama Uygulaması
import time
import base64
import hashlib
import hmac
import urllib.parse
import requests
def kraken_request(api_key, api_sec, endpoint, data=None):
"""Kraken API'sine kimliği doğrulanmış bir istek yapın"""
if data is None:
data = {}
api_url = "https://api.kraken.com"
# Verilere nonce ekleyin
data['nonce'] = str(int(time.time() * 1000))
# İmza için verileri kodlayın
encoded_data = urllib.parse.urlencode(data)
# İmza oluşturun
signature_data = (data['nonce'] + encoded_data).encode()
message = endpoint.encode() + hashlib.sha256(signature_data).digest()
signature = hmac.new(base64.b64decode(api_sec), message, hashlib.sha512)
signature_digest = base64.b64encode(signature.digest()).decode()
# Başlıkları ayarlayın
headers = {
'API-Key': api_key,
'API-Sign': signature_digest
}
# İstek gönderin
response = requests.post(api_url + endpoint, headers=headers, data=data)
return response.json()
Temel API İşlevselliği
Hesap Bilgileri
Hesap Bakiyesini Kontrol Etme
balance = kraken_request(api_key, api_secret, "/0/private/Balance")
if not balance['error']:
for asset, amount in balance['result'].items():
print(f"{asset}: {amount}")
Emir Yönetimi
Piyasa Emri Verme
# 0.01 BTC'yi piyasa fiyatından satın alma parametreleri
order_params = {
'pair': 'XBTUSD',
'type': 'buy',
'ordertype': 'market',
'volume': '0.01'
}
order_result = kraken_request(api_key, api_secret, "/0/private/AddOrder", order_params)
if not order_result['error']:
print(f"Emir verildi! İşlem Kimliği: {order_result['result']['txid'][0]}")
Limit Emri Verme
# 0.01 BTC'yi 50.000$'dan satma parametreleri
limit_params = {
'pair': 'XBTUSD',
'type': 'sell',
'ordertype': 'limit',
'price': '50000',
'volume': '0.01'
}
limit_result = kraken_request(api_key, api_secret, "/0/private/AddOrder", limit_params)
Açık Emirleri Sorgulama
open_orders = kraken_request(api_key, api_secret, "/0/private/OpenOrders")
if not open_orders['error']:
orders = open_orders['result']['open']
for order_id, details in orders.items():
print(f"ID: {order_id}")
print(f"Tür: {details['descr']['type']} {details['descr']['ordertype']}")
print(f"Çift: {details['descr']['pair']}")
Kraken API ile APIdog Kullanma

APIdog, Kraken API entegrasyonlarınızı geliştirmek, test etmek ve belgelemek için güçlü bir platform sunar. İşte APIdog'u akıcı geliştirme için nasıl kullanacağınız:
APIdog'da Kraken API'sini Kurma
Yeni Bir Proje Oluşturun
- APIdog'u başlatın ve yeni bir proje oluşturun
- Kraken API testi için bir ortam ayarlayın
Ortam Değişkenlerini Yapılandırın
API_KEY
,API_SECRET
veAPI_URL
için değişkenler oluşturun- API_URL'yi
https://api.kraken.com
olarak ayarlayın
Uç Noktaları İçe Aktarın veya Oluşturun

- Kraken API spesifikasyonunu içe aktarın veya koleksiyonları manuel olarak oluşturun
- Uç noktaları mantıksal klasörler halinde düzenleyin (Piyasa Verileri, Alım Satım, Hesap vb.)
APIdog'da Kraken Kimlik Doğrulamasını Uygulama
APIdog, Kraken'in özel kimlik doğrulamasını ayarlamayı kolaylaştırır:
- Gerekli kimlik doğrulamasını oluşturmak için bir Ön İstek Komut Dosyası oluşturun:
// Kraken kimlik doğrulaması için Ön İstek komut dosyası
const crypto = require('crypto-js');
// Ortam değişkenlerini alın
const apiKey = pm.environment.get("API_KEY");
const apiSecret = pm.environment.get("API_SECRET");
// İstek gövdesine nonce ekleyin
const nonce = Date.now() * 1000;
pm.request.body.update({
mode: 'urlencoded',
urlencoded: [
...pm.request.body.urlencoded.all(),
{key: 'nonce', value: nonce.toString()}
]
});
// İstek yolunu alın
const path = pm.request.url.getPathWithQuery().replace(/\?.*/, '');
// İmza oluşturun
const postData = pm.request.body.urlencoded.toString();
const message = path + crypto.SHA256(nonce.toString() + postData).toString();
const signature = crypto.enc.Base64.stringify(
crypto.HmacSHA512(message, crypto.enc.Base64.parse(apiSecret))
);
// Başlıkları ayarlayın
pm.request.headers.add({key: 'API-Key', value: apiKey});
pm.request.headers.add({key: 'API-Sign', value: signature});
APIdog ile Test Etme ve Belgeleme
Test İstekleri Oluşturun
- Borsa verilerini alma, emir verme vb. gibi yaygın işlemler için istekler ayarlayın.
- Uygun parametreleri yapılandırmak için istek oluşturucuyu kullanın
Test Komut Dosyaları Ekleyin
- Test komut dosyalarıyla API yanıtlarını doğrulayın
- Hataları ve beklenen veri yapılarını kontrol edin
// Bakiye uç noktası için örnek test komut dosyası
pm.test("Yanıt durumu 200", () => {
pm.response.to.have.status(200);
});
pm.test("Hata döndürülmedi", () => {
const response = pm.response.json();
pm.expect(response.error).to.be.an('array').that.is.empty;
});
pm.test("Bakiye verileri mevcut", () => {
const response = pm.response.json();
pm.expect(response.result).to.exist.and.to.be.an('object');
});
Belge Oluşturun
- Kapsamlı API kılavuzları oluşturmak için APIdog'un dokümantasyon araçlarını kullanın
- Örnekler, açıklamalar ve yanıt örnekleri ekleyin
Paylaşın ve İşbirliği Yapın
- Kraken API koleksiyonunuzu ekip üyeleriyle paylaşın
- Ekip geliştirme için APIdog'un işbirliği özelliklerini kullanın

Geliştirme için APIdog Sahte Sunucuları
Geliştirme sırasında, Kraken API yanıtlarını simüle etmek için APIdog'un sahte sunucularını kullanabilirsiniz:
- Her uç nokta için örnek yanıtlar oluşturun
- İstek parametrelerine göre yanıt kurallarını yapılandırın
- Canlı yayına geçmeden önce uygulamanızı sahte yanıtlarla test edin

Bu yaklaşım, daha hızlı geliştirme döngüleri sağlar ve geliştirme sırasında API hız sınırlarına takılmaktan korur.
Kraken API Entegrasyonu İçin En İyi Uygulamalar
Hız Sınırlaması ve Optimizasyon
Kraken, belirli hız sınırları uygular:
- Genel uç noktalar: Saniyede 1 istek
- Özel uç noktalar: Dakikada 15-20 istek
Bunları etkili bir şekilde işlemek için:
- Kodunuzda daraltma uygulayın
- Sık REST API çağrıları yerine gerçek zamanlı veriler için WebSockets kullanın
- Mümkün olduğunda toplu sorgular kullanın
Hata İşleme
API etkileşimleri için sağlam hata işleme uygulayın:
def safe_api_call(api_function, max_retries=3):
"""Yeniden deneme mantığı ile API çağrıları için sarmalayıcı"""
retries = 0
while retries < max_retries:
try:
response = api_function()
if 'error' in response and response['error']:
error = response['error'][0]
# Hız sınırlamasını işleyin
if 'EAPI:Rate limit' in error:
sleep_time = (2 ** retries) # Üstel geri alma
time.sleep(sleep_time)
retries += 1
continue
else:
return None
return response['result']
except Exception as e:
time.sleep(2 ** retries)
retries += 1
return None
Güvenlik Hususları
- API kimlik bilgilerini güvenli bir şekilde saklayın - Bunları uygulamalarınızda asla kodlamayın
- Kraken API anahtar ayarlarınızda IP kısıtlamaları uygulayın
- Her API anahtarı için minimum gerekli izinleri kullanın
- Yetkisiz erişim için API kullanımını izleyin
- API anahtarlarını periyodik olarak döndürün
Yaygın Kullanım Alanları
Piyasa Verilerini İzleme
def monitor_price(pair, interval=60):
"""Fiyatı düzenli aralıklarla izleyin"""
while True:
response = requests.get(f'https://api.kraken.com/0/public/Ticker?pair={pair}')
data = response.json()
if not data['error']:
for p, info in data['result'].items():
price = info['c'][0]
print(f"{pair} güncel fiyatı: {price}")
time.sleep(interval)
Basit Alım Satım Botu
def simple_trading_strategy(pair, api_key, api_secret):
"""Basit bir alım satım stratejisi örneği"""
# Hesap bakiyesini alın
balance = kraken_request(api_key, api_secret, "/0/private/Balance")
# Güncel fiyatı alın
ticker = requests.get(f'https://api.kraken.com/0/public/Ticker?pair={pair}')
ticker_data = ticker.json()
if not ticker_data['error']:
current_price = float(ticker_data['result'][pair]['c'][0])
# Basit strateji: Fiyat dünden %5 düşerse satın al
yesterday_close = float(ticker_data['result'][pair]['o'])
if current_price < yesterday_close * 0.95:
print(f"Fiyat %5'ten fazla düştü - satın alma fırsatı")
# Satın alma mantığını uygulayın
Sonuç
Kraken API, kripto para alım satımı ve portföy yönetimi için güçlü araçlar sağlar. Bu kılavuz, API erişimi, kimlik doğrulama ve yaygın işlemleri kapsıyordu. Geliştirme ve test için APIdog gibi araçlardan yararlanarak, Kraken borsasıyla sorunsuz bir şekilde etkileşim kuran sağlam uygulamalar oluşturabilirsiniz.
En güncel bilgiler ve ayrıntılı uç nokta referansları için her zaman resmi Kraken API belgelerine başvurun. Temel bilgiler konusunda daha rahat hale geldikçe, gerçek zamanlı veriler için WebSocket bağlantıları ve daha gelişmiş alım satım stratejileri gibi gelişmiş özellikleri keşfedebilirsiniz.
İster kişisel bir portföy izleyici oluşturuyor, ister algoritmik alım satım uyguluyor veya kurumsal düzeyde kripto para çözümleri oluşturuyor olun, Kraken API'sine hakim olmak, dijital varlık ekosisteminde önemli olanaklar açar.