Printing Binance API JSON Results with Python
==============================================================
In this article, we will show you how to print the JSON response of a Binance API request using Python’s requests
library.
Required Libraries
———————-
requests
: A popular Python library for making HTTP requests.
json
: Not required but useful for parsing the JSON response.
Getting started with the code
——————————
First, let’s import the necessary libraries and set up our API keys:
import json
Set your Binance API key and secretBINANCE_API_KEY = "YOUR_BINANCE_API_KEY"
BINANCE_API_SECRET = "YOUR_BINANCE_API_SECRET"
Your Binance symbol (e.g. ETH, BTC)SYMBOL_TO_QUERY = "BTCUSDT"
Replace with the symbol you want to retrieve data forclass BinanceAPI:
def __init__(self):
self.api_key = BINANCE_API_KEY
self.api_secret = BINANCE_API_SECRET
Making the API request
————————-
Next, let’s make a POST request to Binance API with desired ticker and parameters:
def get_price(ticker):
url = f"
headers = {
"X-MBX-APIKEY": self.api_key,
"X-MBX-SECRET-KEY": self.api_secret,
}
response = requests.post(url, headers=headers)
if response.status_code == 200:
return json.loads(response.content)
else:
print(f"Error retrieving price: {response.status_code}")
Printing JSON response
——————————
Now that our API request is working, let’s modify it to only print relevant data:
def print_api_response(data):
if isinstance(data, dict):
print("API Response:")
for key, value in data.items():
print(f"{key}: {value}")
elif isinstance(data, list):
print("API Response:")
for item in data:
print(item)
Call our function with the desired symbolprice_data = get_price(SYMBOL_TO_QUERY)
print_api_response(price_data)
Example usage
—————-
Here is an example of how you can modify your code to select a specific symbol and display its price:
import json
Set your Binance API key and secretBINANCE_API_KEY = "YOUR_BINANCE_API_KEY"
BINANCE_API_SECRET = "YOUR_BINANCE_API_SECRET"
Your Binance symbol (e.g. ETH, BTC)SYMBOL_TO_QUERY = "ETHUSDT"
Replace with the symbol you want to retrieve data forclass BinanceAPI:
def __init__(self):
self.api_key = BINANCE_API_KEY
self.api_secret = BINANCE_API_SECRET
def get_price(ticker):
url = f"
headers = {
"X-MBX-APIKEY": self.api_key,
"X-MBX-SECRET-KEY": self.api_secret,
}
response = requests.post(url, headers=headers)
if response.status_code == 200:
return json.loads(response.content)
else:
print(f"Error fetching price: {response.status_code}")
def print_api_response(data):
if isinstance(data, dict):
print("API Response:")
for key, value in data.items():
print(f"{key}: {value}")
elif isinstance(data, list):
print("API Response:")
for item in data:
print(item)
Call our function with the desired symbolprice_data = get_price(SYMBOL_TO_QUERY)
print_api_response(price_data)
Don’t forget to replace YOUR_BINANCE_API_KEY
and YOUR_BINANCE_API_SECRET
with your actual API key and secret.
Leave a Reply