My python code for futures api request is not working

Hello, I would like to request data via python for CM Futures. I have a code which works for UM Futures Open Interest History but not for CM Futures. What is the problem?

import requests
import json
import pandas as pd
import datetime as dt
import urllib.parse

api_key = “PWsL8371wJSydhrPOruCVFsw31zYlcxWdzl8JNrthXDph79smXA2T3My7b2zhvVk”
base_url = “https://dapi.binance.com”;

path = ‘/futures/data/openInterestHist’
period = “1h”
contractType = “ALL”
start = 1688594400000
end = 1691100000000
symbol = “BTCUSD”
limit = “500”

params = {

“symbol”: symbol, ‘period’: period, ‘contractType’ : contractType, ‘startTime’: start, ‘endTime’: end, “limit”: limit

}

querystring = urllib.parse.urlencode(params)

url = base_url + path + ‘?’ + querystring
print(url)
payload = {}
headers= {
‘Content-Type’: ‘application/x-www-form-urlencoded’,
‘X-MBX-APIKEY’: api_key

}

response = requests.request(“GET”, url, headers=headers, data = payload)
result = response.json()
df = pd.DataFrame(result)

df.to_csv(‘data.csv’, index=False)

Hola,

He revisado el código que proporcionaste y aquí hay algunas cosas que podrían estar sucediendo:

  1. API Endpoint: El endpoint que estás usando actualmente, /futures/data/openInterestHist, podría ser específico para UM Futures. Binance podría tener diferentes endpoints para diferentes tipos de futuros. Te recomendaría que consultes la documentación de la API de Binance para encontrar el endpoint correcto para CM Futures.

  2. Parámetros: Los parámetros que estás utilizando en la solicitud (como symbol, contractType, etc.) podrían ser diferentes para CM Futures. Nuevamente, la documentación de la API de Binance te proporcionará claridad sobre qué parámetros son válidos y qué valores deberían tener.

  3. Permisos de la API Key: La clave de API que estás usando, PWsL8371wJSydhrPOruCVFsw31zYlcxWdzl8JNrthXDph79smXA2T3My7b2zhvVk, podría tener permisos solamente para UM Futures. Asegúrate de que la API key que estás utilizando tenga los permisos necesarios para acceder a los datos de CM Futures.

  4. Manejo de Errores: Tu código actual no tiene un mecanismo de manejo de errores. Es esencial verificar el estado de la respuesta y manejar cualquier error. Esto te dará una idea más clara de lo que podría estar saliendo mal.