Python ile Binance Futures API'sinden Vadeli İşlem Fiyatı Çekme

kusha · 03 Ağustos 2026 · 5 dk okuma

Daha önceki derslerde Binance'in spot piyasa API'siyle bakiye ve fiyat çekmiştik. Bu derste, kaldıraçlı vadeli işlemlerin yapıldığı Futures API'sine geçiyoruz — ilk adım olarak, herhangi bir kimlik doğrulama gerektirmeyen public uç noktalardan fiyat çekeceğiz.

Risk uyarısı: Vadeli işlemler kaldıraç içerir ve kaldıraç hem kârı hem de zararı büyütür — yatırdığınızdan daha fazlasını kaybetmeniz mümkündür. Bu ve sonraki derslerdeki kod örnekleri yalnızca API'nin teknik kullanımını öğretmek amaçlıdır, yatırım tavsiyesi değildir.

Futures API'sinin Temel Adresi

Binance Futures, spot piyasadan farklı bir taban adres (base URL) kullanır:

FUTURES_BASE_URL = "https://fapi.binance.com"

Anlık İşaret Fiyatını (Mark Price) Çekmek

Vadeli işlemlerde "mark price", pozisyonların kâr/zararının ve likidasyonun hesaplanmasında kullanılan referans fiyattır — anlık işlem fiyatından (last price) biraz farklı olabilir:

import requests

def mark_fiyat_al(sembol: str) -> float:
    url = f"{FUTURES_BASE_URL}/fapi/v1/premiumIndex"
    params = {"symbol": sembol}
    response = requests.get(url, params=params)
    return float(response.json()["markPrice"])

fiyat = mark_fiyat_al("BTCUSDT")
print(f"Bitcoin Futures Mark Fiyatı: {fiyat}")

Anlık İşlem Fiyatını (Ticker Price) Çekmek

def islem_fiyati_al(sembol: str) -> float:
    url = f"{FUTURES_BASE_URL}/fapi/v1/ticker/price"
    params = {"symbol": sembol}
    response = requests.get(url, params=params)
    return float(response.json()["price"])

fiyat = islem_fiyati_al("BTCUSDT")
print(f"Bitcoin Futures Anlık Fiyat: {fiyat}")

Bu Uç Noktaların API Anahtarı Gerektirmemesinin Nedeni

Fiyat gibi herkese açık, hesaba özel olmayan veriler Binance'te public uç noktalar üzerinden sunulur — bu yüzden requests.get(...) çağrısında herhangi bir imza (signature) veya API anahtarı header'ı eklemenize gerek yoktur. Bir sonraki derste göreceğimiz bakiye sorgulama gibi hesaba özel işlemler ise imzalı (signed) istek gerektirir.

Birden Fazla Sembolü Aynı Anda Çekmek

semboller = ["BTCUSDT", "ETHUSDT", "BNBUSDT"]

for sembol in semboller:
    fiyat = mark_fiyat_al(sembol)
    print(f"{sembol}: {fiyat}")

Sırada Ne Var?

Sırada, Binance Futures hesabınızdaki bakiyeyi API anahtarınızla imzalı bir istek göndererek sorgulamayı göreceğiz.