Get real-time bitcoin futures price on Binance using WebSocket
For a trader or investor, access to real-time prices is crucial for making informed decisions. In this article, we will look at how to set up a WebSocket connection with live price tracking for the BTCUSDT spot and futures market on Binance.
Prerequisites
Before you start, make sure that:
- You have a Binance API key or access token.
- Your trading account is verified and connected to your Binance account.
- You have installed the
pandaslibrary in your Python environment (install withpip install pandas).
Real-time WebSocket connection establishment for spot market
To connect to the Bitcoin (BTC) spot market on Binance, you need to use the klines_1m endpoint and specify the futures indicator. Here is an example code snippet:
Python
import pandas as pd

Set your API key or access token
api_key = ‘YOUR_API_KEY’
api_secret = ‘YOUR_API_SECRET’
Connect to the Binance API
client = binary.Client(api_id=api_key, api_key_secret=api_secret)
Define the WebSocket endpoint and channel (spot market)
ws_endpoint = f”wss://stream.binance.com:9443/ws/dotusdt@kline_1m”
channel = “BTCUSDT”
Initialize an empty DataFrame to store data
df = pd.DataFrame()
while Truth:
Get new klines from a WebSocket connection
response = client.get_channel(ws_endpoint, channel)
Iteration for each wedge (interval 1 minute)
for the line in the response:
Extract relevant data (eg timestamp, open, high, low, close, volume)
data = {
‘timestamp’: pd.to_datetime(string[‘t’]),
‘open’: float(string[‘o’]),
‘high’: float(string[‘h’]),
‘low’: float(string[‘l’]),
‘close’: float(string[‘c’]),
‘volume’: float(string[‘v’])
}
Add data to the DataFrame
df = pd.concat([df, pd.DataFrame(data)], ignore_index=True)
Check if there are new data points
if not df.empty:
Print prices in real time (optional)
print(f”BTCUSDT price in real time: {df[‘close’].max()}”)
Update yours trading logic or notification mechanisms here
Exit the loop when you’re ready to stop listening
a break
Close the WebSocket connection when finished
client.disconnect()
“
Get real-time prices for BTCUSDT futures
To connect to the futures market (FUT) on Binance, you need to use thekline_1mendpoint and specify thefutures` indicator. Here is an example code snippet:
Python
… the same as above
while Truth:
Get new klines from a WebSocket connection
response = client.get_channel(ws_endpoint, channel)
Iteration for each wedge (1 minute interval)
for the line in the response:
Extract relevant data (eg timestamp, open, high, low, close, volume)
data = {
‘timestamp’: pd.to_datetime(string[‘t’]),
‘open’: float(string[‘o’]),
‘high’: float(string[‘h’]),
‘low’: float(string[‘l’]),
‘close’: float(string[‘c’]),
‘volume’: float(string[‘v’])
}
Add data to the DataFrame
df = pd.concat([df, pd.DataFrame(data)], ignore_index=True)
Check if there are new data points
if not df.empty:
Print prices in real time (optional)
print(f”BTCUSDT futures price in real time: {df[‘close’].max()}”)
Update your trading logic or notification mechanisms here
Exit the loop when you’re ready to stop listening
a break
Close the WebSocket connection when finished
the client.