`So, this is my code
# Import libraries
import json
import requests
# defining key/request url
key = "https://api.binance.com/api/v3/ticker/price?symbol=USDTKGS"
# requesting data from url
data = requests.get(key)
data = data.json()
print(f"{data['symbol']} price is {data['price']}")
But for some reason I get this error:
Traceback (most recent call last):
File "rate.py", line 11, in <module>
print(f"{data['symbol']} price is {data['price']}")
KeyError: 'symbol'
Probably, this pair doesn't exist, but what to do in such situation? I need to get the pair by API, but don't see any other ways to do so... Please, help me!
I tried to use usual pairs like USDT/UAH, EUR/USDT - they work But USDT/KGS, USDT/KZT doesn't work - they print error, but I need to get it
This thing helped me
def fetch_price(asset: str, fiat: str, trade_type: str, pay_type: str):
"""
Function for getting Rate on Binance P2P.
"""
headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8",
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"content-type": "application/json",
"Host": "p2p.binance.com",
"Origin": "https://p2p.binance.com",
"Pragma": "no-cache",
"TE": "Trailers",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0"
}
data = {
"asset": asset,
"fiat": fiat,
"merchantCheck": True,
"page": 1,
"payTypes": [pay_type],
"publisherType": None,
"rows": 3,
"tradeType": trade_type
}
try:
r = requests.post('https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search', headers=headers, json=data).json()
if r['data']:
return r['data'][2]['adv']['price']
else:
print(f"No data available for {asset}/{fiat}")
return None
except Exception as e:
print(f"An error occurred: {e}")
return None