Este tutorial de Python de la API de CoinMarketCap explica cómo puede usar el Cliente de Python para la API de CoinMarketCap para rastrear los precios de varios criptoactivos.
Verá cómo llamar a múltiples puntos finales de la API Rest de la API CoinMarketCap para recuperar información de criptomonedas, como los precios de cotización más recientes e históricos, métricas globales, precios fiduciarios, etc. También estudiará cómo importar datos de CoinMarketCap en hojas de Excel y Google.
¿Qué es CoinMarketCap?
CoinMarketCap es la plataforma de seguimiento de precios líder en el mundo que muestra estadísticas de tiempo de ejecución para varias criptomonedas e intercambios. Recupera precios de varios intercambios de criptomonedas y muestra el promedio ponderado por volumen de todos los precios.
CoinMarketCap actualiza sus puntos finales después de cada minuto. Entonces, se puede decir que los datos de CoinMarketCap son en tiempo real.
¿Cómo obtengo datos de CoinMarketCap?
Puede obtener datos de CoinMarketCap visitando el sitio web o utilizando el API de CoinMarketCap para obtener datos de CoinMarketCap. Te mostraré cómo hacer esto último en esta publicación.
Pero antes de discutir eso, ¿cómo sabe si CoinMarketCap es adecuado para usted?
¿Por qué debo usar CoinMarketCap?
Las siguientes son algunas de las razones por las que debería usar CoinMarketCap:
¿Por qué no debería usar CoinMarketCap?
- Muchas críticas negativas relacionadas con la precisión de la información.
- Considerado sesgado a favor de Binance.
- El plan gratuito tiene funciones muy limitadas.
¿Qué puede hacer con la API de CoinMarketCap?
Puede obtener información de CoinMarketCap Rest API en el código escrito en el lenguaje de programación de su elección. Puede desarrollar su propio software de seguimiento de precios de criptomonedas utilizando la API CoinMarketCap.
¿El uso de la API de CoinMarketCap es gratuito?
CoinMarketCap tiene un plan básico gratuito. Para funciones más avanzadas, debe suscribirse a un plan avanzado. La siguiente imagen muestra un resumen de las tarifas de la API de CoinMarketCap.
Para más información, ver Precios de la API de CoinMarketCap.
Introducción a la API de CoinMarketCap en Python
Necesita una clave de API antes de realizar llamadas a la API de CoinMarketCap.
Regístrese para obtener la cuenta del portal para desarrolladores de CoinCapMarketCap
Puede obtener su clave API registrándose con un Cuenta gratuita del portal para desarrolladorescomo se muestra en la siguiente captura de pantalla.
Complete el siguiente formulario y haga clic en el botón «CREAR MI CUENTA».
Se enviará un correo electrónico con un código de verificación a la cuenta de correo electrónico que utilizó para registrarse. Ingrese el código de verificación en la siguiente ventana y haga clic en el botón «CONFIRMAR REGISTRO».
Cómo obtener una clave API de CoinMarketCap
Una vez que verifique su correo electrónico, será llevado al panel de control de CoinMarketCap. Puede copiar su clave API desde el cuadro en la esquina superior izquierda de su tablero, como se muestra en la siguiente captura de pantalla.
Ejemplo simple de obtención de datos mediante la API de CoinMarketCap en Python
Hay dos formas de realizar llamadas de API a la API de CoinMarketCap:
Verá ambos enfoques en esta sección.
Ejemplo de biblioteca de python-coinmarketcap API de CoinMarketCap
Puede instalar la biblioteca python-coinmarketcap mediante el siguiente comando en su terminal.
pip install python-coinmarketcap
Los siguientes son los pasos para realizar una llamada de API a la API de CoinMarketCap:
Las funciones de la biblioteca python-coinmarketcap devuelven un diccionario de respuesta que contiene el estado de la respuesta y los datos devueltos por la API. Puede usar el atributo `data` para ver los datos.
El siguiente ejemplo demuestra cómo realizar una llamada API a la API CoinMarketCap utilizando la biblioteca python-coinmarketcap.
import coinmarketcapapi
import os
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_listings_latest()
print(response.data)
Producción:
Revisar la documentación oficial de python-coinmarketcap para ver el detalle de todas las funcionalidades que ofrece la biblioteca.
Ejemplo de función de solicitud de la API de CoinMarketCap
Los contenedores de Python para la API de CoinMarketCap pueden ser lentos. Si la velocidad es una preocupación, puede usar la función de solicitud de Python para acceder a la API de CoinMarketCap. Aquí hay un ejemplo de cómo hacer esto.
from requests import Request, Session
from requests.exceptions import ConnectionError, Timeout, TooManyRedirectsimport json
api_key = os.environ['CMC-Key']
url = 'https://pro-api.coinmarketcap.com/'api_call = 'v1/cryptocurrency/listings/latest'
headers = { 'Accepts': 'application/json', 'X-CMC_PRO_API_KEY': api_key,}
session = Session()session.headers.update(headers)
response = session.get(url + api_call)response = json.loads(response.text)
print(response['data'])
Producción:
En este tutorial, utilizaremos la biblioteca python-coinmarketcap para acceder a la API de CoinMarketCap.
¿Cuáles son los puntos finales de la API de CoinMarketCap?
Los puntos finales de la API de CoinMarketCap son conjuntos de llamadas de la API Rest que le permiten recuperar información diversa de la API de CoinMarketCap.
Las funciones de la API de CoinMarketCap se clasifican en ocho puntos finales de nivel superior:
No todas las funciones de estos terminales están disponibles con el plan gratuito. mira el Comparación de características del plan API para aprender más al respecto.
En este tutorial, verá cómo llamar a las funciones de la API Rest disponibles con el plan gratuito. Utilizará la biblioteca python-coinmarketcap para realizar el resto de llamadas a la API.
Cómo obtener datos de la API de divisas de CoinMarketCap
Las API de CoinMarketCap Puntos finales de criptomonedas contienen 17 funciones que devuelven diversa información relacionada con criptomonedas. Cinco de estos puntos finales son de uso gratuito, que verá en esta sección.
- Mapa
- Información
- Últimas cotizaciones del mercado
- Últimos listados de mercado
- Categorías de criptomonedas
El código de Python para acceder a los puntos finales restantes sigue siendo el mismo. Solo tiene que actualizar su cuenta para acceder a los puntos finales.
Cómo obtener información de divisas con la API de CoinMarketCap
Puede usar la función cryptocurrency_info() para acceder a información diversa sobre una moneda. Detrás de escena, la función cryptocurrency_info() hace que el /v2/criptomoneda/info Llamada API a la API CoinMarketCap.
Por ejemplo, el siguiente script devuelve la información de la moneda de Bitcoin.
import coinmarketcapapi
import os
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_info(symbol = 'BTC')
print(response.data['BTC'].keys())
Producción:
dict_keys(['id', 'name', 'symbol', 'category', 'description', 'slug', 'logo', 'subreddit', 'notice', 'tags', 'tag-names', 'tag-groups', 'urls', 'platform', 'date_added', 'twitter_username', 'is_hidden', 'date_launched', 'contract_address', 'self_reported_circulating_supply', 'self_reported_tags', 'self_reported_market_cap'])
También puede obtener información de moneda sobre varias monedas pasando una cadena de símbolos de moneda separados por comas al parámetro de símbolo.
Por ejemplo, el siguiente código devuelve información de moneda para Bitcoin y Ethereum.
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_info(symbol = 'BTC,ETH')
df = pd.DataFrame.from_records(response.data)
df
Producción:
Verificar Criptomonedas CoinMarketCap para obtener una lista de todos los símbolos de criptomonedas.
Cómo obtener asignaciones de divisas con CoinMarketCap Ids
CoinMarketCap asigna identificadores únicos a todas las criptomonedas. Estas identificaciones únicas se pueden usar para obtener más información sobre criptomonedas.
La función cryptocurrency_map() devuelve el mapeo entre criptomonedas, sus identificaciones únicas de CoinMarketCap y otra información de moneda relevante.
import coinmarketcapapi
import osimport pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_map()
df = pd.DataFrame.from_records(response.data)
df
Producción:
Puede recuperar asignaciones de criptomonedas para monedas específicas pasando una lista de símbolos de moneda separados por comas al parámetro de símbolo de la función cryptocurrency_map().
Aquí hay un ejemplo de cómo hacer esto:
import coinmarketcapapi
import osimport pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_map(symbol = 'BTC,ETH')
df = pd.DataFrame.from_records(response.data)df
Producción:
Cómo obtener las últimas cotizaciones del mercado CoinMarketCap
La función cryptocurrency_quotes_latest() devuelve las últimas cotizaciones del mercado de criptomonedas. La función acepta un solo símbolo de criptomoneda o una lista de símbolos de moneda separados por comas como valores para el parámetro de símbolo.
El siguiente script devuelve las últimas cotizaciones de mercado para Ethereum y Bitcoin.
import coinmarketcapapi
import osimport pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_quotes_latest(symbol = 'ETH,BTC')
df = pd.DataFrame.from_records(response.data)
df
Producción:
Cómo obtener los listados de datos de mercado de CoinMarketCap más recientes
Puede usar la función cryptocurrency_listings_latest() para recuperar la lista de todas las criptomonedas activas, junto con la información más reciente del mercado, como datos de precio y volumen.
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_listings_latest()
df = pd.DataFrame.from_records(response.data)
df
Producción:
Cómo obtener las categorías de criptomonedas de CoinMarketCap
Para obtener información sobre todas las categorías de monedas disponibles en CoinMarketCap, puede usar la función cryptocurrency_categories().
La función devuelve nombres de categoría, descripciones, volúmenes, cambio de volumen, capitalización de mercado, cambio de capitalización de mercado, cambio de precio promedio y la cantidad de tokens para todas las criptomonedas de diferentes categorías.
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_categories()
df = pd.DataFrame.from_records(response.data)df
Producción:
Puede usar la función cryptocurrency_category() para obtener los detalles de todas las criptomonedas dentro de una categoría en particular. Debe pasar la identificación de la categoría a la función cryptocurrency_category().
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.cryptocurrency_category( id = '62fe5eb097edc244f4716518')
df = pd.DataFrame.from_records(response.data)
df
Producción:
Nota: ¡Los datos históricos también se pueden recuperar pero no con el plan básico!
Cómo obtener información sobre la moneda fiduciaria de CoinMarketCap
El fiat_map() de la biblioteca python-coinmarketcap llama al Punto final Fiat de la API CoinMarketCap para recuperar información sobre monedas fiduciarias en CoinMarketCap. Aquí hay un ejemplo.
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.fiat_map()
df = pd.DataFrame.from_records(response.data)
df
Producción:
Cómo obtener datos de intercambio de CoinMarketCap
Él Punto final de intercambio de la API de CoinCapMarket ofrece funcionalidades para obtener información diversa sobre los intercambios de criptomonedas. Ninguna de las funciones está disponible con el plan gratuito.
La siguiente tabla contiene la lista de funciones que ofrece el punto final de intercambio de la API de CoinMarketCap. función de la biblioteca python-coinmarketRest API CallDescriptionAPI Planexchange_map()/exchange/mapDevuelve una lista de todas las criptomonedas activas, incluidos sus CoinMarketCap IdsBasicexchange_info()/exchange/infoDevuelve metadatos estáticos para uno o más intercambios en CoinMarketCapBasicexchange_listings_latest()/exchange/listings/latestDevuelve los últimos listados para todos los intercambios de criptomonedas en CoinMarketCapStandardexchange_listings_historical()/exchange/listings/historicalDevuelve listados históricos para un intercambio basado en parámetros de tiempo e intervalo Standardexchange_quotes_latest()/exchange/quotes/latestDevuelve el agregado de los datos de mercado más recientes para uno o más intercambiosStandarddexchange_quotes_historical()/exchange/quotes /historicalDevuelve cotizaciones históricas para un intercambio basado en parámetros de tiempo e intervalo Standardexchange_marketpairs_latest()/exchange/market-pairs/latestDevuelve pares de mercado activos para un intercambio que CoinMarketCap rastrea Estándar
Cómo obtener datos del mercado global de CoinMarketCap
Él Métrica global de CoinMarketCap endpoint devuelve información de datos de mercado global. El endpoint ofrece dos funcionalidades:
Solo puede recuperar las métricas globales más recientes con el plan API gratuito. Deberá actualizar al plan estándar para métricas globales históricas.
La función global_metrics_quotes_latest() devuelve las cotizaciones de datos globales.
import coinmarketcapapi
import osimport pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.globalmetrics_quotes_latest()
response.data
Producción:
Cómo obtener datos de las herramientas de CoinMarketCap
Él Punto final de la herramienta contiene herramientas para la conversión de precios y la conversión de datos al formato de cartero.
¿Cómo convertir los precios de las criptomonedas con la API de CoinMarketCap?
Puede convertir los precios de las criptomonedas utilizando la función tools_priceconversion(). Debe pasar la cantidad de criptomoneda, el símbolo y la moneda de destino.
Por ejemplo, el siguiente script demuestra cómo puede convertir 1 Ethereum a dólares estadounidenses.
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.tools_priceconversion(amount = 1, symbol = 'ETH', convert = 'USD')
response.data
Producción:
Cómo obtener el uso de la clave API de CoinMarketCap
Él Clave de API de CoinMarketCap endpoint devuelve estadísticas de uso de claves API.
La función key_info() devuelve los detalles de uso de su API, como los límites de solicitudes diarias, la cantidad de solicitudes en el minuto, día, mes actual, etc.
Aquí hay un ejemplo:
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.key_info()
response.data
Producción:
Cómo obtener datos de socios de CoinMarketCap
La API de CoinMarketCap contiene varios puntos finales de socios que puede usar para obtener información sobre criptomonedas.
Por ejemplo, puede recuperar una lista paginada de puntajes FCAS (puntaje fundamental de activos criptográficos) para todas las criptomonedas usando la función partners_flipsidecrypto_fcas_listings_latest().
La puntuación FCAS es una métrica comparativa que determina la salud relativa de una criptomoneda.
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.partners_flipsidecrypto_fcas_listings_latest()
df = pd.DataFrame.from_records(response.data)
df
Producción:
Puede extraer fácilmente los datos de CoinMarketCap a Excel usando Python.
Para hacerlo, puede extraer los datos de CoinMarketCap en un marco de datos de Pandas, como vio en la sección anterior.
Después de eso, puede usar la función to_excel() del marco de datos de Pandas para escribir los datos en un archivo de Excel. Debe pasar el nombre del archivo de Excel como entrada a la función to_excel().
El siguiente código muestra cómo hacer esto:
import coinmarketcapapi
import os
import pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.fiat_map()
df = pd.DataFrame.from_records(response.data)
df.to_excel("D:\Datasets\output.xlsx", sheet_name='Sheet_name_1')
Producción:
¿Cómo extraer datos de CoinMarketCap en Google Sheets?
Puede volver a tomar la ayuda de los marcos de datos de Pandas para extraer los datos de CoinMarketCap en las hojas de Google.
Para hacerlo, necesitará tres bibliotecas de Python:
El primer paso es importar los datos de CoinMarketCap en un marco de datos de Pandas utilizando las funciones de la API de CoinMarketCap, como se muestra en el siguiente script.
import pandas as pd
# pip install gspread
import gspread
#pip install df2gspread
from df2gspread import df2gspread
from oauth2client import service_account
import coinmarketcapapiimport osimport pandas as pd
api_key = os.environ['CMC-Key']
cmc_client = coinmarketcapapi.CoinMarketCapAPI(api_key)
response = cmc_client.fiat_map()
df = pd.DataFrame.from_records(response.data)
A continuación, debe conectarse a las hojas de cálculo de Google desde su aplicación Python. Para hacerlo, necesita un archivo JSON que contenga una clave API que le permita conectar su cuenta de hoja de cálculo de Google.
El proceso para obtener una clave API de su cuenta de Google se explica en la página de documentación oficial de la biblioteca gspread.
Una vez que descargue la clave API, debe autenticar sus credenciales, lo que puede hacer con el siguiente script:
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
credentials = service_account.ServiceAccountCredentials.from_json_keyfile_name('D:\Datasets\my-project-xxxxxxxxxxxxx-xxxxxxxxxxx.json', scope)
gc = gspread.authorize(credentials)
Finalmente, puede extraer los datos del marco de datos de Pandas en las hojas de Google usando el método upload() del módulo df2gspread, como se muestra en la siguiente secuencia de comandos.
spreadsheet_key = os.environ['GSS-Key']
sheet_name = 'Sheet1'df2gspread.upload(df, spreadsheet_key, sheet_name, credentials=credentials, row_names=True)
Aquí está la información de su moneda fiduciaria importada en Hojas de cálculo de Google.
Errores de CoinMarketCap y límites de tasa
Límites de tasa
El límite de tasa de API de CoinMarketCap depende principalmente de su plan de API. Recibirá un error HTTP 429 si excede la cantidad de solicitudes de API permitidas con su plan de API.
errores
La respuesta JSON de todas las funciones de la API de CoinMarketCap contiene un objeto de estado. Puede consultar el código de error del objeto de estado o la propiedad error_message para ver los detalles del error.
Verificar Límites de tasa de la API de CoinMarketCap y códigos de error para más información.
Preguntas frecuentes
¿Es CoinMarketCap una billetera?
CoinMarketCap no es una billetera. Solo se utiliza para el seguimiento de precios de criptoactivos.
¿Se puede retirar dinero de CoinMarketCap?
No puede retirar dinero directamente de CoinMarketCap. Necesita una billetera para retirar cualquier criptoactivo obtenido en CoinMarketCap.
¿Por qué el precio de CoinMarketCap es diferente?
Hay tres razones principales por las que los precios difieren en varios sitios web de seguimiento de criptoactivos, por ejemplo, CoinMarketCap:
¿Puedo comprar y vender en CoinMarketCap?
No puede comprar o vender directamente en CoinMarketCao. Debe conectar una billetera, por ejemplo, Binance.
¿Puedo confiar en CoinMarketCap?
Las opiniones de los usuarios sugieren que CoinMarketCap no es un sitio muy confiable. Muchos usuarios culpan a CoinMarketCap por estar sesgado hacia Binance (su organización matriz) y por proporcionar información errónea.
Conclusión
CoinMarketCap es el sitio web de seguimiento de precios de criptomonedas líder en el mundo que agrega información en tiempo real de la mayoría de las plataformas de intercambio de criptomonedas. CoinMarketCap también ofrece una API Rest rica en funciones que puede emplear para extraer datos de criptomonedas mediante código.
Este tutorial muestra cómo el cliente de Python para la API de CoinMarketCap obtiene información de CoinMarketCap. Vio cómo usar la biblioteca python-coinmarketcap y el método de solicitudes de Python para llamar a la API de CoinMarketCap. Puede aprovechar los conocimientos adquiridos en este tutorial para crear su software de seguimiento de precios en Python.