In order to use the Binance Websockets API, you need to have a working Binance account. If you don’t have one, you can create one here.
Once you have an account, you need to generate an API key. You can do this by going to the “API Management” page under the “Settings” tab.
Once you have generated your API key, you need to add it to your Python script. The code for doing this is as follows:
import binance from binance.websockets import BinanceSocketManager # Replace with your own API key and secret key api_key = ‘YOUR-API-KEY’ api_secret = ‘YOUR-SECRET-KEY’ # Create a BinanceSocketManager instance bm = BinanceSocketManager(client) # Start the User Data stream # This will emit all types of events user_data_stream = bm.start_user_data_stream(api_key) # Prints out all messages from the stream @bm.message_handler() def print_message(msg): print(“message type: {}”.format(msg[‘e’])) print(“event time: {}”.format(msg[‘E’])) if ‘m’ in msg: print(“symbol: {}”.format(msg[‘m’])) if ‘p’ in msg: print(“price: {}”.format(msg[‘p’])) if ‘q’ in msg: print(“quantity: {}”.
format(msg[‘q’])) elif ‘X’ in msg: print(“delta quantity: {}”.format(msg[‘X’])) elif ‘i’ in msg or ‘I’ in msg: print(“trade id: {}”.format(msg[‘i’])) elif ‘l’ in msg or ‘L’ in msg or ‘n’ in msg or \ (‘N’ in msg and len(msg[‘N’]) > 0): print(“last trade id: {}”.format(msg[‘l’])) elif ‘T’ in msg or (‘t’ in msg and len(msg[‘t’]) > 0): print(“trade time: {}”.format(msg[‘T’])) # Stop the stream after 10 minutes bm.stop_socket(‘bnbbtc@depth10’) # Finally, close out the connection bm.close().
The code above will connect to the Binance Websockets API and start printing out all of the messages that it receives. You can change the “stop_socket” line to stop receiving messages after a certain amount of time, or remove it altogether to keep receiving messages indefinitely.
In conclusion, using the Binance Websockets API is a great way to get real-time data from the exchange. By using the code above, you can easily connect to the API and start receiving data right away.