Borsa İstanbul (BIST - 15 Dk Gecikmeli), TEFAS Fonları, Döviz ve Altın İçin Açık Kaynak Araştırma Kütüphanesi
Dokümantasyon • Web Sitesi • API Anahtarı Al • Postman Koleksiyonu
Türkiye finansal piyasalarında veri çekmek için geliştiriciler yıllarca dengesiz HTML scraping araçlarıyla ya da sürekli IP ban yiyen botlarla uğraşmak zorunda kaldı.
Bürküt SDK, Türkiye finansal veri ekosistemini (15 dk gecikmeli BIST pay piyasası, TEFAS yatırım fonları, serbest piyasa döviz ve altın) tek bir standart çatı altında, sıfır dış bağımlılık (Zero-Dependency) ile geliştiricilere ve veri araştırmacılarına sunan açık kaynaklı bir kütüphanedir.
| Özellik | 🦅 Bürküt SDK | yfinance | borsapy / pytefas | Web Scrapers |
|---|---|---|---|---|
| BIST 100 / Tüm Hisseler | ⏱️ 15 Dk Gecikmeli | ⏱️ 15 Dk Gecikmeli | ❌ Çok Yavaş | |
| TEFAS Yatırım Fonları | ✅ Halka Açık Veri API | ❌ Desteklenmiyor | ||
| Altın & Döviz | ✅ Piyasa Kurları | ❌ Bakım Zor | ||
| VİOP & Tahvil / Bono | ✅ Eksiksiz | ❌ Yok | ❌ Yok | ❌ Yok |
| Dış Bağımlılık (Dependencies) | 🚀 0 Bağımlılık | ❌ 10+ Kütüphane | ❌ Pandas/BS4 Şart | ❌ Selenium/BS4 |
| Tip Güvenliği (Type-Safe) | ✅ Tam Type Hints / .d.ts |
❌ Zayıf | ❌ Yok | |
| TypeScript / Node.js | ✅ Açık Kaynak SDK | ❌ Sadece Python | ❌ Sadece Python | ❌ Manuel |
| Kesinti & Patlama Riski | 🛡️ Minimum (REST API & Cache) | 🚨 Çok Yüksek |
pip install burkutnpm install burkut
# veya
pnpm add burkutfrom burkut import BurkutClient
# API anahtarınız ile istemciyi başlatın
# (Veya BURKUT_API_KEY ortam değişkenine atayın)
client = BurkutClient(api_key="bk_live_...")
# 1. BIST Hisse Senedi Fiyatı & Hacmi
thyao = client.stocks.get("THYAO")
print(f"{thyao['name']}: {thyao['price']} TL (Değişim: %{thyao['changePercent']})")
# 2. TEFAS Yatırım Fonu Analizi
tcd = client.funds.get("TCD")
print(f"Fon: {tcd['name']} - Fiyat: {tcd['price']} TL")
# 3. Döviz & Altın Piyasası
usd = client.forex.get("USD")
altin = client.gold.get("ALTIN")
print(f"Dolar: {usd['buyRate']} TL | Gram Altın: {altin['price']} TL")import { BurkutClient } from 'burkut';
const client = new BurkutClient({ apiKey: 'bk_live_...' });
async function main() {
// BIST Hisseleri (15 Dk Gecikmeli)
const stock = await client.stocks.get('GARAN');
console.log(`${stock.name}: ${stock.price} TL`);
// TEFAS Yatırım Fonu
const fon = await client.funds.get('AFT');
console.log(`Fon Fiyatı: ${fon.price} TL`);
// Tüm Döviz Kurlarını Listele
const allForex = await client.forex.list();
console.log(`Takip Edilen Kur Sayısı: ${allForex.length}`);
}
main();Veri bilimcileri ve algoritmik trade botu geliştirenler için Bürküt SDK, tek satırda Pandas DataFrame'e dönüştürülebilir:
import pandas as pd
from burkut import BurkutClient
client = BurkutClient()
# Tüm BIST hisselerini DataFrame'e al
stocks_df = pd.DataFrame(client.stocks.list())
# En çok yükselen ilk 5 BIST hissesi
top_gainers = stocks_df.sort_values(by="changePercent", ascending=False).head(5)
print(top_gainers[["symbol", "name", "price", "changePercent"]])Dakikalar içinde hisse ve altın fiyatı gönderen bir Telegram botu yazın:
import time
from burkut import BurkutClient
client = BurkutClient()
def fiyat_kontrol():
thyao = client.stocks.get("THYAO")
altin = client.gold.get("ALTIN")
mesaj = (
f"🚨 PİYASA BİLGİLENDİRMESİ 🚨\n\n"
f"✈️ THYAO: {thyao['price']} TL (%{thyao['changePercent']})\n"
f"🟡 Gram Altın: {altin['price']} TL"
)
print(mesaj)
fiyat_kontrol()SDK, ağ kopmalarını ve limit aşımlarını otomatik yakalayan tip güvenli istisna sınıflarıyla gelir:
from burkut import (
BurkutClient,
AuthenticationError,
RateLimitError,
QuotaExceededError,
NotFoundError
)
client = BurkutClient()
try:
data = client.stocks.get("THYAO")
except AuthenticationError:
print("Geçersiz API Anahtarı! https://burkutportfoy.com/developer adresinden yenisini alın.")
except RateLimitError as e:
print(f"Dakikalık hız sınırı aşıldı. Lütfen {e.retry_after} saniye sonra tekrar deneyin.")
except QuotaExceededError:
print("Aylık kota bitti. PRO plana geçiş yapın!")
except NotFoundError:
print("Sembol bulunamadı.")burkut-sdks/
├── python/ # Python SDK (pip install burkut)
│ ├── burkut/ # Client, Exception sınıfları ve alt modüller
│ ├── tests/ # %100 kapsamlı birim testleri
│ └── pyproject.toml # Standart PyPI paket konfigürasyonu
│
├── nodejs/ # Node.js & TypeScript SDK (npm install burkut)
│ ├── src/ # TypeScript kaynak kodları
│ ├── dist/ # Derlenmiş CJS & ESM modülleri (.d.ts tipleriyle)
│ ├── test/ # Yerleşik Node.js birim testleri
│ └── package.json # Standart npm paket konfigürasyonu
│
└── .github/workflows/ # CI/CD: Çoklu versiyon otomatik test akışı
- https://burkutportfoy.com/register adresinden ücretsiz hesap oluşturun.
- E-posta adresinizi doğrulayın.
- Geliştirici Portalı sayfasından Yeni Anahtar Oluştur butonuna tıklayın.
bk_live_...formatındaki anahtarınızı kopyalayıp SDK'da kullanın!
- Bu depoyu Fork'layın (
fork). - Kendi özelliğinizi geliştirin (
git checkout -b feature/yeni-ozellik). - Değişikliklerinizi commit'leyin (
git commit -m 'feat: Yeni özellik eklendi'). - Dalınıza push'layın (
git push origin feature/yeni-ozellik). - Bir Pull Request açın.
Önemli Yasal Bilgilendirme: Bu kütüphane ve sağlanan API, tamamen eğitim, kişisel araştırma ve hobi amaçlı geliştirilmiştir.
- Resmi Veri Sağlayıcısı Değildir: Bürküt bir borsa aracı kurumu, yatırım kuruluşu veya lisanslı borsa veri dağıtıcısı değildir.
- 15 Dakika Gecikmeli Veri: Borsa İstanbul (BIST) pay piyasası verileri yasal düzenlemeler gereği en az 15 dakika gecikmelidir.
- Yatırım Tavsiyesi Değildir: Burada veya kütüphane aracılığıyla sunulan veriler hiçbir şekilde yatırım danışmanlığı, al-sat tavsiyesi veya finansal yönlendirme içermez.
- Garanti Taahhüt Edilmez: Veriler üçüncü taraf halka açık kaynaklardan derlenmektedir ve doğruluğu, eksiksizliği veya kesintisizliği taahhüt edilmez.
Bu proje MIT Lisansı ile lisanslanmıştır. Detaylar için LICENSE dosyasına bakabilirsiniz.
Bürküt Finansal Veri Teknolojileri tarafından geliştiriciler için ❤️ ile üretilmiştir.