API Rate Limit Nedir?
Rate limit, belirli bir zaman diliminde yapabileceğiniz API çağrısı sayısının sınırlandırılmasıdır. Binance, sunucularını korumak ve adil kullanım sağlamak için çeşitli rate limit kuralları uygular.
Binance Futures API Limitleri
Binance Futures API'sinde farklı endpoint'ler için farklı limitler bulunur:
Temel Limitler:
- Genel: 2400 istek/dakika (40 istek/saniye)
- Order Endpoints: 300 istek/dakika
- Market Data: 6000 istek/dakika
- WebSocket: 10 bağlantı/IP
Rate Limit Optimizasyonu
API çağrılarınızı optimize ederek limit aşımını önleyebilirsiniz:
- WebSocket Kullanın: Real-time data için REST API yerine WebSocket tercih edin
- Batch İşlemler: Mümkün olduğunda toplu işlemler yapın
- Caching: Sık kullanılan verileri önbelleğe alın
- Intelligent Polling: Gereksiz API çağrılarından kaçının
Güvenlik Ayarları
API anahtarınızın güvenliğini sağlamak için şu ayarları yapın:
Temel Güvenlik:
- IP Whitelist aktifleştirin
- Sadece gerekli izinleri verin
- API Secret'i güvenli saklayın
- Düzenli olarak API anahtarlarını yenileyin
Rate Limit Takibi
API çağrılarınızı takip etmek için response header'larını kontrol edin:
import requests
response = requests.get('https://fapi.binance.com/fapi/v1/ticker/24hr')
# Rate limit bilgilerini kontrol et
used_weight = response.headers.get('X-MBX-USED-WEIGHT-1M')
order_count = response.headers.get('X-MBX-ORDER-COUNT-1M')
print(f"Kullanılan Weight: {used_weight}/2400")
print(f"Order Count: {order_count}/300")Error Handling
Rate limit aşımı durumunda doğru error handling yapın:
import time
from binance.exceptions import BinanceAPIException
def safe_api_call(func, *args, **kwargs):
try:
return func(*args, **kwargs)
except BinanceAPIException as e:
if e.code == -1003: # Rate limit exceeded
print("Rate limit aşıldı, 60 saniye bekleniyor...")
time.sleep(60)
return func(*args, **kwargs)
else:
raise eWebSocket Kullanımı
Real-time data için WebSocket kullanarak rate limit sorunlarından kaçının:
WebSocket Avantajları:
- Rate limit tüketmez
- Real-time veri akışı
- Düşük latency
- Bandwidth tasarrufu
IP Whitelist Ayarları
Güvenlik için IP whitelist kullanın:
1. Binance → API Management → Edit API
2. "Restrict access to trusted IPs only" seçeneğini aktifleştir
3. Sunucu IP adresinizi ekle
4. Değişiklikleri kaydet
Best Practices
API kullanımında dikkat edilmesi gereken noktalar:
- Exponential Backoff: Hata durumunda bekleme süresini artırın
- Connection Pooling: HTTP bağlantılarını yeniden kullanın
- Monitoring: API kullanımınızı sürekli izleyin
- Fallback Strategies: API erişilemezse alternatif planınız olsun
Sonuç
Binance API'sini verimli kullanmak için rate limit kurallarını anlamak ve uygun optimizasyonları yapmak kritiktir. WebSocket kullanımı, intelligent caching ve proper error handling ile sorunsuz bir trading bot deneyimi yaşayabilirsiniz.
API Optimizasyonu İçin
TB Trading Bot'ta optimize edilmiş API kullanımını deneyimleyin.
Platformu Dene