# BtcTurk API nasıl kullanılır? Anahtar, limit ve Python

Adres: https://fincodelabs.com/blog/btcturk-api-nasil-kullanilir · Yayıncı: Fincode (Fincode Yazılım ve Teknoloji A.Ş.), İstanbul, Türkiye · Kategori: Algoritmik işlem · Yayın: 2026-11-03 · Güncelleme: 2026-11-03

BtcTurk API nasıl kullanılır? Resmi dokümana göre V1 ve V2 farkı, API key oluşturma, imzalama, istek limitleri, Python örneği ve sözleşmenin API hükümleri.

**Kısa cevap:** **BtcTurk API**, BtcTurk'ün docs.btcturk.com adresinde belgelediği REST ve WebSocket arayüzüdür: herkese açık piyasa verisi V2 yollarından anahtarsız okunur, bakiye ve emir işlemleri V1 yollarından HMAC-SHA256 imzasıyla yapılır. Anahtar yalnızca platformun web sitesindeki API Erişimi sayfasından oluşturulur. Btcturk unvanlı platform, SPK'nın geçici Faaliyette Bulunanlar Listesi'nde yer alır (liste 3 Kasım 2026'da kontrol edildi: 49 satır, 40'ı platform); SPK'ya göre listede olmak yetkilendirme anlamına gelmez.

Bu yazı BtcTurk'ün kendi API dokümanını ve kullanım sözleşmesini Türkçe özetleyen teknik bir rehberdir. Tanıtım veya platform, varlık, strateji ve ayar önerisi değildir; platformu başka bir kuruluşla karşılaştırmaz. Bilgiler 3 Kasım 2026'da kontrol edilmiştir ve doküman değişebilir.

Kod örnekleri yalnızca herkese açık uç noktaları kullanır, gerçek anahtar içermez ve bir varlık adı taşımaz. `XYZTRY` yalnızca yazım biçimini gösteren varsayımsal bir semboldür.

## BtcTurk API dokümanı neleri kapsar?

BtcTurk API dokümanı piyasa verisini, özel hesap uç noktalarını, WebSocket akışını ve hata yönetimini kapsar. Adresin resmi olduğu, kripto.btcturk.com ana sitesinin ve BtcTurk Bilgi Platformu'ndaki API yazısının bu adrese bağlantı vermesiyle doğrulanır. Dokümanın değişiklik kaydında 3 Kasım 2026 itibarıyla son giriş 6 Mayıs 2024 tarihlidir.

**BtcTurk API dokümanı, 3 Kasım 2026**

| Adres | Kullanım |
| --- | --- |
| `https://api.btcturk.com` | REST taban adresi |
| `https://graph-api.btcturk.com` | OHLC ve mum (kline) verisi |
| `wss://ws-feed-pro.btcturk.com` | WebSocket akışı |
| `https://status.btcturk.com` | Sistem durumu sayfası |

SSS sayfasının üst açıklaması, BTCTrader'ın beyaz etiket borsa platformu API'sinden söz eder. Sayfa yine de BtcTurk alan adında yayımlanır, BtcTurk veri merkezini anlatır ve iletişim adresi olarak BtcTurk desteğini gösterir. Bu nedenle yazıda yalnızca bu alan adındaki kurallar esas alınmıştır.

## BtcTurk API V1 ve V2 farkı nedir?

BtcTurk SSS'sine göre V1 kimlik doğrulaması gereken hesap işlemleri, V2 ise herkese açık veriler içindir. Listede küçük istisnalar vardır: kripto yatırma beyanında kullanılan `/api/v1/exchanges` herkese açık uç noktalar arasında sayılır, OHLC ve mum verisi de ayrı bir adresten sunulur.

| Uç nokta | Sürüm | Kimlik doğrulama |
| --- | --- | --- |
| `/api/v2/server/exchangeinfo` | V2 | Gerekmez |
| `/api/v2/ticker` | V2 | Gerekmez |
| `/api/v2/orderbook` | V2 | Gerekmez |
| `/api/v2/trades` | V2 | Gerekmez |
| `/api/v1/users/balances` | V1 | Gerekir |
| `/api/v1/order` | V1 | Gerekir |
| `/api/v1/openOrders` | V1 | Gerekir |

Doküman zaman damgalarını milisaniye olarak tanımlar; OHLC grafik yanıtı saniyedir ve mum uç noktasındaki `from` ile `to` parametreleri de saniye ister. Sunucular UTC kullanır. REST ve akış kanalının genel farkı [REST ve WebSocket](https://fincodelabs.com/blog/rest-websocket-api-farki) yazısında anlatılıyor.

## BtcTurk API key nasıl oluşturulur?

BtcTurk API anahtarı, hesaba giriş yapıldıktan sonra web sitesindeki Hesap ve API Erişimi sayfasından oluşturulur; doküman anahtarın yalnızca bu siteden üretilebileceğini belirtir.

1. BtcTurk | Kripto web sitesinde Hesap, ardından API Erişimi sayfası açılır.
2. Bilgi Platformu'na göre (son güncelleme 16 Mayıs 2024) API Key Oluştur düğmesine basılır.
3. Kullanılacak uç noktalar için izinler seçilir ve erişim belirli IP adresleriyle sınırlanabilir.
4. Genel anahtar ve özel anahtar oluşur. Anahtar sonradan geçici olarak kapatılabilir veya silinebilir.

**BtcTurk API Access Permissions, 3 Kasım 2026**

| İzin | Eriştiği uç noktalar |
| --- | --- |
| Toplam Varlık | `GET /api/v1/users/balances` |
| Al-Sat | `/api/v1/allOrders`, `/api/v1/order`, `/api/v1/openOrders` |
| Hesap | `/api/v1/users/transactions/` altındaki işlem, TL ve kripto hareketleri |
| WebSocket | WebSocket mesajları |

Dokümandaki izin tablosunda ve özel uç nokta listesinde çekim işlemi yer almaz. Doküman, paylaşılan anahtarın hemen silinip yenisinin oluşturulmasını ister. İzin seçimi ve saklama genel olarak [API anahtarı](https://fincodelabs.com/blog/api-anahtari-nedir) yazısında ele alınıyor; burada ayar önerilmez.

Dokümanda test ortamı tarif edilmez. Örnek kodlardan birinde geçen geliştirme adresi açıklanmadığı için bu yazıda kullanılmaz.

## BtcTurk API imzası nasıl üretilir?

BtcTurk özel istekleri üç başlık ister: `X-PCK` genel anahtarı, `X-Stamp` milisaniye cinsinden zaman damgasını, `X-Signature` ise imzayı taşır. Dokümana göre imza şu şekilde üretilir:

```
mesaj = genel_anahtar + zaman_damgasi
anahtar = base64_coz(ozel_anahtar)
X-Signature = base64(HMAC-SHA256(anahtar, mesaj))
```

SSS sayfası 401 hatalarının başlıca nedenlerini şöyle sıralar: yanlış imza veya eksik başlık, anahtarda gereken iznin bulunmaması, IP ile sınırlanmış anahtarın başka adresten kullanılması ve zaman damgasının sunucu saatinden 5 saniyeden fazla sapması. Sunucu saati `/api/v2/server/time` adresinden okunur.

## BtcTurk API Python ile nasıl kullanılır?

Herkese açık veri Python'da tek bir HTTP isteğiyle okunur; anahtar gerekmez. Aşağıdaki kod 3 Kasım 2026'da çalıştırılmıştır ve fiyat yerine yalnızca yanıtın yapısını yazdırır.

```python
import requests

TABAN = "https://api.btcturk.com"

# Anahtar gerekmez: herkese açık uç nokta
yanit = requests.get(f"{TABAN}/api/v2/ticker", timeout=10)
yanit.raise_for_status()
govde = yanit.json()

print(govde["success"], govde["code"], govde["message"])
print({alan: type(deger).__name__ for alan, deger in govde["data"][0].items()})
```

Çıktı:

```
True 0 None
{'pair': 'str', 'pairNormalized': 'str', 'timestamp': 'int', 'last': 'int',
 'high': 'int', 'low': 'int', 'bid': 'int', 'ask': 'int', 'open': 'int',
 'volume': 'float', 'average': 'int', 'daily': 'int', 'dailyPercent': 'float',
 'denominatorSymbol': 'str', 'numeratorSymbol': 'str', 'order': 'int'}
```

Sayısal alan tam sayı geldiğinde `int`, ondalıklı geldiğinde `float` olur; bu yüzden kod alan türüne sabit biçimde bağlanmaz. Tek çift için `pairSymbol=XYZTRY` parametresi kullanılır. Canlı yanıttaki `order` alanı, dokümanın tek çift örneğinde yer almaz; yeni alanlar kodu bozmamalıdır.

Emir kuralları `/api/v2/server/exchangeinfo` yanıtında okunur: `numeratorScale` miktar, `denominatorScale` fiyat basamağını, `tickSize` fiyat adımını, `minExchangeValue` asgari işlem tutarını gösterir. Bu değerler sabit yazılmaz: dokümanın örnek çiftinde `denominatorScale` 2 görünürken aynı çift 3 Kasım 2026 canlı yanıtında 0 döndü. Veri API'si ile platform API'si ayrımı [kripto API](https://fincodelabs.com/blog/kripto-api-nedir) yazısında anlatılıyor.

## BtcTurk API limitleri nedir?

BtcTurk API limitleri uç noktaya göre değişir ve aşıldığında 429 kodu ile `Retry-After` başlığı döner.

**BtcTurk Rate Limits sayfası, 3 Kasım 2026. Tablo sayfadaki satırların bir bölümüdür.**

| Uç nokta | Limit | Engel | Politika |
| --- | --- | --- | --- |
| `GET /api/v2/ticker` | 60 saniyede 600 | 60 sn | IP |
| `GET /api/v2/orderBook` | 60 saniyede 180 | 60 sn | IP |
| `GET /v1/ohlcs` | 60 saniyede 120 | 60 sn | IP |
| `graph-api.btcturk.com` geneli | 10 dakikada 600 | 10 dk | IP |
| `GET /api/v1/users/balances` | 60 saniyede 120 | 60 sn | IP |
| `POST` ve `DELETE /api/v1/order` | 60 saniyede 300; saniyede 10 | 60 sn; 1 sn | Hesap ve IP |
| `GET /api/v1/order/{orderId}` | 60 saniyede 900; saniyede 30 | 60 sn; 1 sn | Hesap ve IP |
| `GET /api/v1/openOrders` | 60 saniyede 300 | 60 sn | IP |

> **Varsayımsal örnek:** Bir yazılım tek çift fiyatını saniyede 15 kez sorsun. Tablodaki 60 saniyede 600 sınırına göre kota 600 ÷ 15 = 40. saniyede dolar; sonraki istekler 429 alır ve engel süresi başlar. Aynı veriyi sürekli almak için doküman WebSocket akışı sunar. Kullanım sıklığı yalnızca hesabı göstermek için seçilmiştir.

WebSocket tarafında dakikada en fazla 15 bağlantı isteği yapılabilir; aşımda yeni bağlantılar 60 saniye engellenir, kanal abonelik istekleri bu sayıya girmez.

Doküman içinde iki yer tam örtüşmez. SSS, özel uç noktaların hesap, herkese açık uç noktaların IP bazlı olduğunu söylerken tablo birçok özel uç noktada IP politikası gösterir. Değişiklik kaydı 20 Haziran 2022'de `openOrders` limitinin 330 yapıldığını yazar, güncel tablo ise 300 gösterir. Bu nedenle yazılım tablodaki sayıya körü körüne bağlanmaz; 429 yanıtındaki `policy`, `limit` ve `period` alanlarıyla `Retry-After` başlığına göre davranır.

## BtcTurk API'de emir hataları nasıl ele alınır?

Dokümana göre emir gönderme POST ile yapılır ve tekrar güvenli değildir; aynı istek ikinci kez gönderilirse ikinci bir emir oluşabilir.

- **5xx ve 503:** Emir yeniden gönderilmeden önce `/api/v1/allOrders` üzerinden var olup olmadığı kontrol edilir; bunun için emre istemci kimliği verilir.
- **İptal:** Doküman DELETE için yeniden denemeyi güvenli sayar. 1 Nisan 2024'ten beri doğrulamayı geçen iptal isteği hemen 200 döner; son sonuç WebSocket'te 452 numaralı kanaldan gelir. Bu nedenle 200 yanıtı iptalin tamamlandığı anlamına gelmez.
- **Bakiye:** SSS'ye göre TL çiftlerinde serbest bakiye komisyonu da karşılamalıdır; hesap yöntemi [kripto komisyon](https://fincodelabs.com/blog/kripto-borsa-komisyon-oranlari) yazısında anlatılıyor.
- **Piyasa emri:** Dokümana göre ilk ve son gerçekleşme fiyatı arasında %5 sınırı vardır.

Dokümanda kaldıraçlı işlem yoktur; III-35/B.2 sayılı Tebliğ'in 14. maddesi de platformlarda listelenen varlıklarda kaldıraçlı işlemi yasaklar. Bu yazı limit dolanma yöntemi anlatmaz.

## BtcTurk bot kullanımı: sözleşme ne diyor?

BtcTurk'ün kullanım sözleşmesinde bot kelimesi geçmez ve bot kullanımını adıyla düzenleyen bir izin veya yasak hükmü yoktur; sözleşme yalnızca API ile yapılan algoritmik işlemlere kendi hükümlerinin uygulanacağını yazar. Sözleşmede tarih yoktur; metin 3 Kasım 2026'da platformun sayfasından tarayıcıda okunmuştur. Ayrı bir API kullanım koşulları metni bulunamamıştır.

**BtcTurk Kripto Kullanım Sözleşmesi, 3 Kasım 2026**

| Madde | Özet |
| --- | --- |
| 1.2 | Hesap kişiseldir, yalnızca kullanıcı kullanabilir, devredilemez ve alt kullanıcı tanımlanamaz. |
| 1.3(a) | BtcTurk tanımı algoritmik işlemleri, yüksek frekanslı işlemleri ve API bağlantılarını da içerir; hizmete özel ek şartlar varsa onlar öncelikli uygulanır. |
| 2.3(g) | Kullanıcı, hesabı üçüncü taraf adına değil yalnızca kendi adına kullandığını beyan eder. |
| 2.5(o), (p) | Anormal işlem faaliyeti ve piyasa manipülasyonu hesap kısıtlaması nedenleri arasında sayılır. |
| 3.1 | Kullanıcının API ile, başka bir uygulama aracılığıyla veya kendi belirlediği kurallarla yaptığı algoritmik işlemlere ve API süreçlerine sözleşme hükümleri uygulanır. Platformun belirlediği kullanıcı grupları dışında ortak veya vekaletle hesap açılmaz. |
| 4.2 | Güvenlik unsurları paylaşılmaz, üçüncü kişilere verilmez ve kullandırılmaz. API anahtarı 1.3(gg) tanımında adıyla sayılmaz, ancak tanım sınırlı değildir. |

BtcTurk Bilgi Platformu'ndaki API yazısı (son güncelleme 16 Mayıs 2024) otomatik alım satım yazılımlarının yetkilendirilmiş API ile çalıştığını yazar; bu bir bilgilendirme yazısıdır, sözleşme hükmü değildir. Bu metinlerden bot kullanımının genel olarak serbest olduğu veya belirli bir kullanımın sözleşmeye uygun olduğu sonucu çıkarılmaz, kazanç vaadi olarak da okunmaz. Kararların ve emirlerin sorumluluğu kullanıcıdadır ve işlemler zararla sonuçlanabilir. Başkasının hesabında işlem yapmak, anahtarı devretmek veya sinyal aboneliğini hesaba bağlamak gibi durumlar için platforma ve hukuk danışmanına sorulması gerekir. Platformun hukuki durumu [kripto varlık hizmet sağlayıcı](https://fincodelabs.com/blog/kripto-varlik-hizmet-saglayici-nedir) yazısında anlatılıyor. Yazı hukuki görüş değildir.

İlgili yazılar: [Paribu API](https://fincodelabs.com/blog/paribu-api-nasil-kullanilir), [Bitlo, Bitexen ve OKX TR API](https://fincodelabs.com/blog/bitlo-bitexen-okx-tr-api).

## Sık sorulan sorular

### BtcTurk API dokümanı nerede?

Doküman docs.btcturk.com adresindedir; BtcTurk Bilgi Platformu'ndaki API yazısı da bu adrese bağlantı verir. Taban adres api.btcturk.com olarak yazılıdır (3 Kasım 2026).

### BtcTurk API ücretli mi?

Dokümanda API erişimi için ayrı bir ücret bilgisi yer almaz. Herkese açık veri anahtarsız okunur; hesap işlemleri için hesap ve anahtar gerekir. İşlem komisyonları ayrı bir konudur ve platformun ücret sayfasından okunur.

### BtcTurk API için test ortamı var mı?

3 Kasım 2026'da okunan dokümanda test ortamı tarif edilmez. Örnek kodlardan birinde geçen geliştirme adresi açıklanmadığı için test ortamı olarak kabul edilmemelidir.

### BtcTurk API'de 401 hatası neden alınır?

SSS'ye göre başlıca nedenler yanlış imza, eksik başlık, anahtarda izin olmaması, IP kısıtına uymayan adres ve zaman damgasının sunucu saatinden 5 saniyeden fazla sapmasıdır.

### BtcTurk API ile bot kullanılabilir mi?

Kullanım sözleşmesinde bot kelimesi geçmez ve bot kullanımını adıyla düzenleyen bir izin veya yasak hükmü yoktur. Madde 3.1, kullanıcının API ile veya kendi belirlediği kurallarla yaptığı algoritmik işlemlere sözleşme hükümlerinin uygulanacağını yazar; bundan genel bir izin sonucu çıkarılmaz. Hesap kullanıcıya özeldir ve işlemler zararla sonuçlanabilir.

## Kaynaklar

- [BtcTurk API dokümanı: General Information](https://docs.btcturk.com/docs/general-information)
- [BtcTurk API dokümanı: API Access Permissions](https://docs.btcturk.com/docs/api-access-permissions)
- [BtcTurk API dokümanı: Authentication V1](https://docs.btcturk.com/docs/authentication/authentication-v1)
- [BtcTurk API dokümanı: Rate Limits](https://docs.btcturk.com/docs/private-endpoints/rate-limits)
- [BtcTurk API dokümanı: FAQ](https://docs.btcturk.com/docs/faq-frequently-asked-questions)
- [BtcTurk API dokümanı: Recent Changes](https://docs.btcturk.com/docs/recent-changes)
- [BtcTurk API dokümanı: Get Tickers](https://docs.btcturk.com/docs/public-endpoints/ticker)
- [BtcTurk API dokümanı: Pairs Scale](https://docs.btcturk.com/docs/pairs-scale-quantity-price)
- [BtcTurk API dokümanı: Submit an Order](https://docs.btcturk.com/docs/private-endpoints/submit-order)
- [BtcTurk API dokümanı: Retry Strategy Guideline](https://docs.btcturk.com/docs/error-handling/retry-strategy-guideline)
- [BtcTurk API dokümanı: Error Handling For Order Operations](https://docs.btcturk.com/docs/error-handling/error-handling-for-order-operations)
- [BtcTurk Bilgi Platformu: API nedir, nasıl çalışır](https://bilgiplatformu.btcturk.com/btcturk-kripto/api-nedir-neden-kullanilir/)
- [BtcTurk Kripto Kullanım Sözleşmesi](https://kripto.btcturk.com/yasal-bilgiler/kullanim-sozlesmesi)
- [SPK: Faaliyette Bulunanlar Listesi (Geçici Liste, 3 Kasım 2026'da kontrol edildi)](https://spk.gov.tr/kurumlar/kripto-varlik-hizmet-saglayicilar/faaliyette-bulunanlar-listesi)
- [III-35/B.2 sayılı Tebliğ, Resmî Gazete 13 Mart 2025, 32840](https://www.resmigazete.gov.tr/eskiler/2025/03/20250313-6.htm)

> Burada yer alan yatırım bilgi, yorum ve tavsiyeleri yatırım danışmanlığı kapsamında değildir. Yatırım danışmanlığı hizmeti, yetkili kuruluşlar tarafından kişilerin risk ve getiri tercihleri dikkate alınarak kişiye özel sunulmaktadır. Burada yer alan yorum ve tavsiyeler ise genel niteliktedir. Bu tavsiyeler mali durumunuz ile risk ve getiri tercihlerinize uygun olmayabilir. Bu nedenle, sadece burada yer alan bilgilere dayanılarak yatırım kararı verilmesi beklentilerinize uygun sonuçlar doğurmayabilir.

---

Bu sayfa, İstanbul merkezli yazılım şirketi Fincode (Fincode Yazılım ve Teknoloji A.Ş.) tarafından yayımlanmıştır: https://fincodelabs.com/blog/btcturk-api-nasil-kullanilir

Kaynak gösterimi: Fincode, "BtcTurk API nasıl kullanılır? Anahtar, limit ve Python", güncelleme 3 Kasım 2026, https://fincodelabs.com/blog/btcturk-api-nasil-kullanilir
