API de JavaScript de criptocompara
npm install --save cryptocompare
Nota: Cryptocompare depende de que fetch() se define a nivel mundial.
Si está utilizando esto en Electron, debería funcionar sin ninguna configuración.
Si está utilizando esto en Node.js, deberá usar node-fetch .
El paquete funciona sin una clave API, pero los límites de IP se reducirán lentamente con el tiempo, para crear una clave API, simplemente vaya a https://www.cryptocompare.com/cryptopian/api-keys y asegúrese de darle la "lectura" Todos los puntos finales de transmisión de precios y encuestas "
Ejemplo:
global . fetch = require ( 'node-fetch' )
const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )coinList()Obtenga la lista actual de todas las criptomonedas y la siguiente información sobre cada moneda.
coinList()
No parametersReturns (objeto) ...BaseImageUrl (String) La URL base para todas las imágenes del campo ImageUrl (https://www.cryptocompare.com),BaseLinkUrl La URL base para todos los enlaces del campo URL (https://www.cryptocompare.com)Data (objeto) contienen la siguiente infominación sobre cada moneda.Id (cadena)Url (cadena) URL a la página de Cryptocompare para la moneda. (Ex: /coins/eth/overview ) La URL debe agregarse a https://www.cryptocompare.com .ImageUrl (String) para obtener la imagen del logotipo de la moneda. (Ex: /media/351001/404.png ). La URL debe agregarse a https://www.cryptocompare.com .Name (cadena) Nombre del ticker de la criptomoneda dada.Symbol (cadena) Símbolo de ticker de la criptomoneda dada (generalmente igual que el nombre).CoinName (cadena) Nombre de la criptomoneda dada.FullName (cadena) Nombre de la criptomoneda dada concatenada con el símbolo (Ej: Ethereum (ETH) ).Algorithm (cadena) Nombre Algoritmo criptográfico para esa moneda.ProofType (cadena) El tipo de prueba de la criptomoneda.ProofType (cadena) El tipo de prueba de la criptomoneda.FullyPremined (String) Devuelve "1" si la moneda fue premada, si no, devuelve "0".TotalCoinSupply (cadena) Suministro total de la criptomoneda.PreMinedValue (cadena) de monedas premadas.TotalCoinsFreeFloat (cadena)SortOrder (String) El orden CrypTocompare clasifica la moneda dentro de su sistema interno.Sponsored (booleano) es true cuando la moneda es patrocinada por criptocompare, es false de lo contrario. const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Usage:
cc . coinList ( )
. then ( coinList => {
console . log ( coinList )
// ->
// {
// BTC: {
// Id: "1182",
// Url: "/coins/btc/overview",
// ImageUrl: "/media/19633/btc.png",
// Name: "BTC",
// Symbol: "BTC",
// CoinName: "Bitcoin",
// FullName: "Bitcoin (BTC)",
// Algorithm: "SHA256",
// ProofType: "PoW",
// FullyPremined: "0",
// TotalCoinSupply: "21000000",
// PreMinedValue: "N/A",
// TotalCoinsFreeFloat: "N/A",
// SortOrder: "1",
// Sponsored: false
// },
// ETH: {...},
// }
} )
. catch ( console . error )exchangeList()Devuelve todos los intercambios con los que se ha integrado Cryptocompare.
exchangeList()
No parametersReturns (objeto) const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Usage:
cc . exchangeList ( )
. then ( exchangeList => {
console . log ( exchangeList )
// {
// "Cryptsy":
// {
// "42":["BTC","XRP"],
// "EMC2":["BTC","XRP"],
// "POINTS":["BTC"],
// "VTC":["BTC","LTC","XRP"]
// ...
// }
// ...
// }
} )
. catch ( console . error )price()Obtenga el precio actual de cualquier criptomoneda en cualquier otra moneda.
price(fsym, tsyms[, options])
fsym (cadena) del símbolotsyms (matriz de cuerdas | cadena) al símbolo (s)options (objeto)tryConversion (boolean) de forma predeterminada, si la cripto no se negocia directamente en el Tosímbol solicitado, BTC se utilizará para la conversión. Establezca tryConversion en false para deshabilitar usando BTC para la conversión.exchanges (matriz de cadenas | matriz) intercambios para obtener datos de precios. Por defecto, se utilizan datos promedio. (Puede obtener una lista de los mejores intercambios para un par dado con topExchanges() .). const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Basic Usage:
cc . price ( 'BTC' , [ 'USD' , 'EUR' ] )
. then ( prices => {
console . log ( prices )
// -> { USD: 1100.24, EUR: 1039.63 }
} )
. catch ( console . error )
// Passing a single pair of currencies:
cc . price ( 'BTC' , 'USD' )
. then ( prices => {
console . log ( prices )
// -> { USD: 1100.24 }
} )
. catch ( console . error )priceMulti() Funciona como price() , excepto que le permite especificar una matriz de Symbols.
priceMulti(fsyms, tsyms[, options])
fsyms (matriz de cadenas | cadena) del símbolo (s)tsyms (matriz de cuerdas | cadena) al símbolo (s)options (objeto)tryConversion (boolean) de forma predeterminada, si la cripto no se negocia directamente en el Tosímbol solicitado, BTC se utilizará para la conversión. Establezca tryConversion en false para deshabilitar usando BTC para la conversión.exchanges (matriz de cadenas | matriz) intercambios para obtener datos de precios. Por defecto, se utilizan datos promedio. (Puede obtener una lista de los mejores intercambios para un par dado con topExchanges() .). const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Basic Usage:
cc . priceMulti ( [ 'BTC' , 'ETH' ] , [ 'USD' , 'EUR' ] )
. then ( prices => {
console . log ( prices )
// -> { BTC: { USD: 1114.63, EUR: 1055.82 },
// ETH: { USD: 12.74, EUR: 12.06 } }
} )
. catch ( console . error )
// Passing a single pair of currencies:
cc . priceMulti ( 'BTC' , 'USD' )
. then ( prices => {
console . log ( prices )
// -> { BTC: { USD: 1114.63 } }
} )
. catch ( console . error )priceFull()Obtenga toda la información comercial actual (precio, vol, abierto, alto, bajo, etc.) de cualquier lista de criptomonedas en cualquier otra moneda.
priceFull(fsyms, tsyms[, options])
fsyms (matriz de cadenas | cadena) del símbolo (s)tsyms (matriz de cuerdas | cadena) al símbolo (s)options (objeto)tryConversion (boolean) de forma predeterminada, si la cripto no se negocia directamente en el Tosímbol solicitado, BTC se utilizará para la conversión. Establezca tryConversion en false para deshabilitar usando BTC para la conversión.exchanges (matriz de cadenas | matriz) intercambios para obtener datos de precios. Por defecto, se utilizan datos promedio. (Puede obtener una lista de los mejores intercambios para un par dado con topExchanges() .). const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
cc . priceFull ( [ 'BTC' , 'ETH' ] , [ 'USD' , 'EUR' ] )
. then ( prices => {
console . log ( prices )
// {
// BTC: {
// USD: {
// TYPE: '5',
// MARKET: 'CCCAGG',
// FROMSYMBOL: 'BTC',
// TOSYMBOL: 'USD',
// FLAGS: '4',
// PRICE: 1152.42,
// LASTUPDATE: 1487865689,
// LASTVOLUME: 0.21,
// LASTVOLUMETO: 242.20349999999996,
// LASTTRADEID: 1224703,
// VOLUME24HOUR: 53435.45299122338,
// VOLUME24HOURTO: 60671593.843186244,
// OPEN24HOUR: 1119.31,
// HIGH24HOUR: 1170,
// LOW24HOUR: 1086.641,
// LASTMARKET: 'itBit',
// CHANGE24HOUR: 33.11000000000013,
// CHANGEPCT24HOUR: 2.958072383879366,
// SUPPLY: 16177825,
// MKTCAP: 18643649086.5
// },
// EUR: ...
// },
// ETH: ...
// }
} )
. catch ( console . error )priceHistorical()Obtenga el precio de cualquier criptomoneda en cualquier otra moneda en una marca de tiempo determinada. El precio proviene de la información diaria, por lo que sería el precio al final del día GMT en función de la marca de tiempo solicitada.
priceHistorical(fsym, tsyms, time[, options])
fsym (cadena) del símbolotsyms (matriz de cuerdas | cadena) al símbolo (s)time (fecha) fecha en el historial para la que desea datos de preciosoptions (objeto)tryConversion (boolean) de forma predeterminada, si la cripto no se negocia directamente en el Tosímbol solicitado, BTC se utilizará para la conversión. Establezca tryConversion en false para deshabilitar usando BTC para la conversión.exchanges (matriz de cadenas | matriz) intercambios para obtener datos de precios. Por defecto, se utilizan datos promedio. (Puede obtener una lista de los mejores intercambios para un par dado con topExchanges() .). const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Basic Usage:
cc . priceHistorical ( 'BTC' , [ 'USD' , 'EUR' ] , new Date ( '2017-01-01' ) )
. then ( prices => {
console . log ( prices )
// -> { BTC: { USD: 997, EUR: 948.17 } }
} )
. catch ( console . error )generateAvg()Calcule la información comercial actual (precio, vol, abierto, alto, bajo, etc.) del par solicitado como un promedio ponderado por volumen basado en los mercados solicitados.
generateAvg(fsym, tsym, markets[, tryConversion])
fsym (cadena) del símbolotsym (cadena) al símbolomarkets (matriz) Mangada de mercados para basar el promedio. (Puede obtener una lista de los mejores intercambios para un par dado con topExchanges() .).tryConversion (boolean) de forma predeterminada, si la cripto no se negocia directamente en el Tosímbol solicitado, BTC se utilizará para la conversión. Establezca tryConversion en false para deshabilitar usando BTC para la conversión. const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Basic Usage:
cc . generateAvg ( 'BTC' , 'USD' , [ 'Coinbase' , 'Kraken' , 'Bitstamp' , 'Bitfinex' ] )
. then ( data => {
console . log ( data )
// -> { MARKET: 'CUSTOMAGG',
// FROMSYMBOL: 'BTC',
// TOSYMBOL: 'USD',
// FLAGS: '2',
// PRICE: 1155.61,
// LASTUPDATE: 1488059738,
// LASTVOLUME: 0.25546663,
// LASTVOLUMETO: 294.93622433499996,
// LASTTRADEID: 26533969,
// VOLUME24HOUR: 27318.892083369985,
// VOLUME24HOURTO: 31652183.38370657,
// OPEN24HOUR: 1177.16,
// HIGH24HOUR: 1189.9,
// LOW24HOUR: 1110,
// LASTMARKET: 'Bitfinex',
// CHANGE24HOUR: -21.550000000000182,
// CHANGEPCT24HOUR: -1.830677223147251 }
} )
. catch ( console . error )topPairs()Obtenga los mejores pares por volumen para una moneda.
topPairs(fsym[, limit])
fsym (cadena) del símbololimit (número) Límite el número de pares que recibe (predeterminado 5). const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
cc . topPairs ( 'BTC' , 2 )
. then ( pairs => {
console . log ( pairs )
// -> [ { exchange: 'CCCAGG',
// fromSymbol: 'BTC',
// toSymbol: 'JPY',
// volume24h: 235602.43493487104,
// volume24hTo: 31888554862.766888 },
// { exchange: 'CCCAGG',
// fromSymbol: 'BTC',
// toSymbol: 'USD',
// volume24h: 124504.4477389583,
// volume24hTo: 145514032.93780443 } ]
} )
. catch ( console . error )topExchanges()Obtenga los mejores intercambios por volumen para un par de divisas.
topExchanges(fsym, tsym[, limit])
fsym (cadena) del símbolotsym (cadena) al símbololimit (número) Límite el número de intercambios que recibe (predeterminado 5). const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
cc . topExchanges ( 'BTC' , 'USD' , 2 )
. then ( exchanges => {
console . log ( exchanges )
// -> [ { exchange: 'Bitfinex',
// fromSymbol: 'BTC',
// toSymbol: 'USD',
// volume24h: 35239.36701090003,
// volume24hTo: 41472258.85534388 },
// { exchange: 'Bitstamp',
// fromSymbol: 'BTC',
// toSymbol: 'USD',
// volume24h: 19658.748675010014,
// volume24hTo: 23047071.74260772 } ]
} )
. catch ( console . error )topExchangesFull()Obtenga datos completos en los intercambios superiores por volumen para un par de divisas.
topExchangesFull(fsym, tsym[, limit])
fsym (cadena) del símbolotsym (cadena) al símbololimit (número) Límite el número de intercambios que recibe (predeterminado 5).histoDay()Abra, alto, bajo, cerca, volumen a partir de los datos históricos diarios. Los valores se basan en el tiempo de 00:00 GMT.
histoDay(fsym, tsym[, options])
fsym (cadena) del símbolotsym (cadena) al símbolooptions (objeto)aggregate (número) Número de puntos de datos para agregar.aggregatePredictableTimePeriods (booleano) generan períodos de tiempo predecibles.allData (Boolean) devuelve todos los datos.toTs (número) Last UNIX TimeStamp para devolver datos.limit (número | 'none' ) Limite el número de días para buscar. El valor predeterminado es 30. Si lo establece en la cadena 'none' , obtendrá todos los datos disponibles.tryConversion (boolean) de forma predeterminada, si la cripto no se negocia directamente en el Tosímbol solicitado, BTC se utilizará para la conversión. Establezca tryConversion en false para deshabilitar usando BTC para la conversión.timestamp (fecha) Por defecto, histoDay() obtiene datos históricos durante los últimos días. Use la opción timestamp para establecer un punto de inicio histórico.exchange (String) Exchange para obtener datos del historial de. Por defecto, se utilizan datos promedio. (Puede obtener una lista de los mejores intercambios para un par dado con topExchanges() .). cc . histoDay ( 'BTC' , 'USD' )
. then ( data => {
console . log ( data )
// -> [ { time: 1485388800,
// close: 915.65,
// high: 917.71,
// low: 893.81,
// open: 893.97,
// volumefrom: 35494.93,
// volumeto: 32333344.2 },
// ... ]
} )
. catch ( console . error )histoHour()Abra, alto, bajo, cercano, volumen a partir de los datos históricos por hora.
histoHour(fsym, tsym[, options])
fsym (cadena) del símbolotsym (cadena) al símbolooptions (objeto)aggregate (número) Número de puntos de datos para agregar.aggregatePredictableTimePeriods (booleano) generan períodos de tiempo predecibles.toTs (número) Last UNIX TimeStamp para devolver datos paralimit (número) Limite el número de horas de búsqueda. El valor predeterminado es 168.tryConversion (boolean) de forma predeterminada, si la cripto no se negocia directamente en el Tosímbol solicitado, BTC se utilizará para la conversión. Establezca tryConversion en false para deshabilitar usando BTC para la conversión.timestamp (fecha) Por defecto, histoHour() obtiene datos históricos durante las últimas horas. Use la opción timestamp para establecer un punto de inicio histórico.exchange (String) Exchange para obtener datos del historial de. Por defecto, se utilizan datos promedio. (Puede obtener una lista de los mejores intercambios para un par dado con topExchanges() .). cc . histoHour ( 'BTC' , 'USD' )
. then ( data => {
console . log ( data )
// -> [ { time: 1487448000,
// close: 1060.34,
// high: 1061.44,
// low: 1058.85,
// open: 1059.24,
// volumefrom: 739.6,
// volumeto: 790019.22 },
// ... ]
} )
. catch ( console . error )histoMinute()Abra, alto, bajo, cercano, volumen a partir de los datos históricos minuto a minuto.
histoMinute(fsym, tsym[, options])
fsym (cadena) del símbolotsym (cadena) al símbolooptions (objeto)aggregate (número) Número de puntos de datos para agregar.aggregatePredictableTimePeriods (booleano) generan períodos de tiempo predecibles.toTs (número) Last UNIX TimeStamp para devolver datos paralimit (número) Limite el número de minutos para buscar. El valor predeterminado es 1440.tryConversion (boolean) de forma predeterminada, si la cripto no se negocia directamente en el Tosímbol solicitado, BTC se utilizará para la conversión. Establezca tryConversion en false para deshabilitar usando BTC para la conversión.timestamp (fecha) Por defecto, histoMinute() obtiene datos históricos durante los últimos minutos. Use la opción timestamp para establecer un punto de inicio histórico.exchange (String) Exchange para obtener datos del historial de. Por defecto, se utilizan datos promedio. (Puede obtener una lista de los mejores intercambios para un par dado con topExchanges() .). cc . histoMinute ( 'BTC' , 'USD' )
. then ( data => {
console . log ( data )
// -> [ { time: 1487970960,
// close: 1171.97,
// high: 1172.72,
// low: 1171.97,
// open: 1172.37,
// volumefrom: 25.06,
// volumeto: 29324.12 },
// ... ]
} )
. catch ( console . error )newsList()Devuelve artículos de noticias de los proveedores con los que se ha integrado Cryptocompare.
newsList(lang[, options])
lang (cadena) Idioma preferido - inglés (EN) o portugués (PT)options (objeto)feeds (matriz de cuerdas | matrice) noticias específicas para recuperar noticias de, si está vacía, predeterminada a todas ellas. (Puede obtener una lista de alimentos para noticias con newsFeedsAndCategories().Feeds ...)categories (matriz de cadenas | Array) Categoría de artículos de noticias para devolver, si está vacío, predeterminado a todos ellos. (Puede obtener una lista de categorías de noticias con newsFeedsAndCategories().Categories ...)excludeCategories (matriz de cadenas | Array) Categorías de artículos de noticias para excluir de los resultados, si está vacío, predeterminado a ninguno. (Puede obtener una lista de categorías de noticias con newsFeedsAndCategories().Categories ...)lTs (fecha) devuelve noticias antes de esa marca de tiempo const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Basic Usage:
cc . newsList ( 'EN' )
. then ( newsList => {
console . log ( newsList )
//[
// {
// id: "708235"
// guid: "https://www.cryptoglobe.com/latest/2018/11/china-cryptocurrency-mining-machines-are-reportedly-being-sold-according-to-their-weight/"
// published_on: 1542886256
// imageurl: "https://images.cryptocompare.com/news/cryptoglobe/fwMg0080000.jpeg"
// title: "China: Cryptocurrency Mining Machines Reportedly Being Sold According to Their Weight"
// url: "https://www.cryptoglobe.com/latest/2018/11/china-cryptocurrency-mining-machines-are-reportedly-being-sold-according-to-their-weight/"
// source: "cryptoglobe"
// body: "Cryptocurrency mining machines are reportedly being sold in China according to their weight as miners who haven’t been able to make a profit are seemingly getting rid of their old models to get some of their investment back."
// tags: ""
// categories: "Mining|Asia|Business"
// upvotes: "0"
// downvotes: "0"
// lang: "EN"
// source_info: {
// name: "CryptoGlobe"
// lang: "EN"
// img: "https://images.cryptocompare.com/news/default/cryptoglobe.png"
// }
// }
// ....
//]
} )
. catch ( console . error )newsFeedsAndCategories()Devuelve todas las noticias (proveedores) con los que Cryptocompare se ha integrado y la lista completa de categorías.
newsFeedsAndCategories()
No parametersReturns (objeto) const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Usage:
cc . exchangeList ( )
. then ( newsFeedsAndCategories => {
console . log ( newsFeedsAndCategories )
// {
// "Categories":
// [
// {
// categoryName: "BTC"
// wordsAssociatedWithCategory: ["BTC","BITCOIN", "SATOSHI"]
// }
// ...
// ]
// "Feeds":
// [
// {
// key: "cryptocompare"
// name: "CryptoCompare"
// lang: "EN"
// img: "https://images.cryptocompare.com/news/default/cryptocompare.png"
// }
// ...
// ]
// }
} )
. catch ( console . error )constituentExchangeList()Devuelve todos los intercambios constituyentes en el instrumento de solicitud.
constituentExchangeList([options])
options (objeto)instrument (cadena) El tipo de instrumento promedio.Returns (objeto) const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Usage:
cc . constituentExchangeList ( )
. then ( exchanges => {
console . log ( exchanges )
// {
// "ABCC": {
// "includeAll": false,
// "onlyPairs": {
// "CNN~BTC": true,
// "TNS~BTC": true,
// "TTU~USDT": true,
// "XMX~BTC": true,
// "GUSD~USDT": true
// }
// },
// "ACX": {
// "includeAll": true,
// "onlyPairs": {}
// },
// ...
// }
} )
. catch ( console . error )latestSocial()Devuelve los últimos datos de estadísticas sociales para la moneda solicitada.
Nota : requiere una clave API válida.
latestSocial([options])
options (objeto)coinId (número) La ID de la moneda.Returns (objeto) const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Usage:
cc . latestSocial ( )
. then ( social => {
console . log ( social )
// {
// "General": {
// "Points": 7431355,
// "Name": "BTC",
// "CoinName": "Bitcoin",
// "Type": "Webpagecoinp"
// },
// "CryptoCompare": {
// ...
// },
// "Twitter": {
// ...
// },
// "Reddit": {
// ...
// },
// "Facebook": {
// ...
// },
// "CodeRepository": {
// ...
// }
// }
} )
. catch ( console . error )histoSocial()Devuelve datos de estadísticas sociales para la moneda solicitada.
Nota : requiere una clave API válida.
histoSocial(timePeriod[, options])
timePeriod (cadena) Período de tiempo - 'Día' o 'Hora'options (objeto)coinId (número) La ID de la moneda.aggregate (número) para agregar los datos.aggregatePredictableTimePeriods (booleano) solo se usa si se incluye el parámetro aggregate . If False, entonces creará intervalos de tiempo en función de cuándo se realiza la llamada.limit (número) Número de puntos de datos para devolver.toTs (número) Last UNIX TimeStamp para devolver datos paraReturns (matriz de objetos) const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )
// Usage:
cc . histoSocial ( 'hour' )
. then ( socialStats => {
console . log ( socialStats )
// [
// {
// "time": 1548640800,
// "comments": 229133,
// "posts": 89997,
// "followers": 64128,
// "points": 6144455,
// "overview_page_views": 22335644,
// "analysis_page_views": 955496,
// "markets_page_views": 1402190,
// "charts_page_views": 7527086,
// "trades_page_views": 673204,
// "forum_page_views": 6585840,
// "influence_page_views": 55903,
// "total_page_views": 39535363,
// "fb_likes": 40054,
// "fb_talking_about": 92,
// "twitter_followers": 844049,
// "twitter_following": 165,
// "twitter_lists": 6631,
// "twitter_favourites": 1000,
// "twitter_statuses": 20316,
// "reddit_subscribers": 1013891,
// "reddit_active_users": 4365,
// "reddit_posts_per_hour": 3.77,
// "reddit_posts_per_day": 90.46,
// "reddit_comments_per_hour": 68.39,
// "reddit_comments_per_day": 1641.34,
// "code_repo_stars": 44353,
// "code_repo_forks": 25367,
// "code_repo_subscribers": 4179,
// "code_repo_open_pull_issues": 330,
// "code_repo_closed_pull_issues": 11847,
// "code_repo_open_issues": 903,
// "code_repo_closed_issues": 5187
// }
// ]
} )
. catch ( console . error ) MIT