Test Paneline Dön
API Sunucusu Aktif

TradingView Feed API Dokümantasyonu

Bu API, TradingView üzerindeki binlerce kripto para, hisse senedi (BIST, NASDAQ, NYSE), endeks (TVC) ve döviz paritesine ait **geçmiş OHLCV mum verilerini** ve **anlık canlı fiyat akışlarını** dış uygulamalarınıza sunmak üzere tasarlanmış yüksek performanslı bir veri servisidir.

API Base URL
http://localhost:5000

Bağlantı & Veri Formatı

API tüm HTTP isteklerinde standart application/json verisi döndürür. CORS (Cross-Origin Resource Sharing) varsayılan olarak aktiftir, böylece web projelerinizden doğrudan istemci tarafında veya arka planda çağırabilirsiniz.

Desteklenen Zaman Dilimleri (Intervals)

İsteklerde interval parametresi olarak kullanabileceğiniz standart TradingView periyot kodları:

Parametre Değeri Açıklama Örnek Kullanım
11 Dakikalık Mumlar1m grafiği
55 Dakikalık Mumlar5m grafiği
1515 Dakikalık Mumlar15m grafiği
601 Saatlik (60 dk) Mumlar1h grafiği
2404 Saatlik (240 dk) Mumlar (Varsayılan)4h grafiği
DGünlük Mumlar1D grafiği
WHaftalık Mumlar1W grafiği
GET /api/candles
Geçmiş OHLCV Mum Verilerini Getirir

Belirtilen parite, borsa ve zaman diliminde istenen sayıda geçmiş mum verisini TradingView soketinden anlık çekerek dizilim formatında döndürür.

Sorgu Parametreleri (Query Parameters)
Parametre Tip Durum Varsayılan Açıklama
symbol string Opsiyonel BTCUSDT Sembol adı (Örn: BTCUSDT, ETHUSDT, THYAO, AAPL). Borsa eki içerebilir (BINANCE:BTCUSDT).
exchange string Opsiyonel BINANCE Borsa kodu (Örn: BINANCE, BIST, NASDAQ, NYSE, CRYPTOCAP, TVC, OKX, BYBIT).
interval string Opsiyonel 240 Periyot (1, 5, 15, 60, 240, D, W).
n_bars integer Opsiyonel 300 Çekilecek mum sayısı (Min: 5, Max: 5000).
provider string Opsiyonel Kalıcı Ayar Ana veri kaynağı (TRADINGVIEW veya BINANCE). Belirtilmezse sunucudaki kayıtlı aktif provider kullanılır.
Örnek Yanıt (Response Schema)
200 OK - JSON
{
  "success": true,
  "symbol": "BINANCE:BTCUSDT",
  "raw_symbol": "BTCUSDT",
  "exchange": "BINANCE",
  "interval": "240",
  "pricescale": 100,
  "count": 2,
  "candles": [
    {
      "time": 1710000000,
      "open": 64500.0,
      "high": 65200.0,
      "low": 64200.0,
      "close": 65100.0,
      "volume": 1420.55
    },
    {
      "time": 1710014400,
      "open": 65100.0,
      "high": 66000.0,
      "low": 64900.0,
      "close": 65850.5,
      "volume": 1890.12
    }
  ]
}
Etkileşimli Test (Try it out)

                    
GET /api/price
Anlık Ticker ve 24s Değişim Bilgisi

Seçilen paritenin anlık fiyatını, 24 saatlik fiyat değişim miktarını (change), yüzdelik değişimini (ch_perc) ve işlem hacmini hızlıca çekmek için kullanılır.

Sorgu Parametreleri
Parametre Tip Durum Varsayılan Açıklama
symbol string Opsiyonel BTCUSDT Sembol adı.
exchange string Opsiyonel BINANCE Borsa adı.
Örnek Yanıt
200 OK - JSON
{
  "success": true,
  "data": {
    "symbol": "BINANCE:BTCUSDT",
    "price": 65850.50,
    "change": 1250.00,
    "ch_perc": 1.93,
    "volume": 42890.15,
    "time": 1710014405
  }
}
Etkileşimli Test

                    
SSE /api/stream_price
Server-Sent Events (SSE) Canlı Fiyat Akışı

TradingView arka plan soketinden gelen canlı fiyat tiklerini istemciye sürekli bir olay akışı (SSE stream) olarak iletir. JavaScript EventSource veya Python SSE istemcileriyle sıfır veri kaybı ile canlı fiyat takibi sağlar.

JavaScript Entegrasyonu (EventSource)
JavaScript (Browser)
const url = "http://localhost:5000/api/stream_price?symbol=BTCUSDT&exchange=BINANCE&interval=240";
const eventSource = new EventSource(url);

eventSource.onmessage = function(event) {
    const data = JSON.parse(event.data);
    if (data.price) {
        console.log("Canlı Fiyat Tik Güncellemesi:", data.price, "Zaman:", data.time);
    }
};

eventSource.onerror = function(err) {
    console.error("SSE Bağlantı Hatası:", err);
};

Python Doğrudan Soket Kullanımı (tw_socket.py)

Projenin içinde yer alan tw_socket.py modülü, hiçbir Web sunucusuna ihtiyaç duymadan doğrudan kendi Python script'lerinizde TradingView WebSocket motoruna baglanmanızı sağlar.

Python (asyncio / tw_socket)
import asyncio
from tw_socket import TradingViewSocket

async def main():
    tv = TradingViewSocket()

    # 1. Geçmiş Mumları Çekme
    res = await tv.get_historical_candles(
        symbol="BTCUSDT",
        exchange="BINANCE",
        interval="240", # 4 Saatlik
        n_bars=500
    )
    print(f"Toplam {res['count']} adet mum çekildi. Son kapanış: {res['candles'][-1]['close']}")

    # 2. Canlı Soket Akışını Dinleme
    print("\n--- Canlı Fiyat Akışı Başlatılıyor ---")
    async for tick in tv.stream_live_ticker(symbol="BTCUSDT", exchange="BINANCE"):
        print(f"Gelen Tik -> Fiyat: {tick.get('price')} | Hacim: {tick.get('volume_24h')}")

if __name__ == "__main__":
    asyncio.run(main())

Örnek Entegrasyon Kodları

Aşağıdaki sekmelerden tercih ettiğiniz yazılım dilini seçerek projenize doğrudan kopyalayabilirsiniz: