API JavaScript JavaScript
npm install --save cryptocompare
NOTA: O Cryptocompare depende de fetch() ser definido globalmente.
Se você estiver usando isso no elétron, ele deve funcionar sem nenhuma configuração.
Se você estiver usando isso no Node.js, precisará usar node-fetch .
O pacote funciona sem uma chave da API, mas os limites de IP serão lentamente reduzidos ao longo do tempo, para criar uma chave da API, basta ir para https://www.cryptocompare.com/cryptopian/api-keys e certifique-se de dar o "Leia Todo o streaming de preços e terminais de pesquisa "permissão
Exemplo:
global . fetch = require ( 'node-fetch' )
const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )coinList()Obtenha a lista atual de todas as criptomoedas e as seguintes informações sobre cada moeda.
coinList()
No parametersReturns (objeto) ...BaseImageUrl (String) O URL base para todas as imagens do campo ImageUrl (https://www.cryptocompare.com),BaseLinkUrl O URL base para todos os links do campo URL (https://www.cryptocompare.com)Data (objeto) contêm a seguinte infomração sobre cada moeda.Id (string)Url (String) URL para a página Cryptocompare para a moeda. (Ex: /coins/eth/overview ) URL deve ser anexado a https://www.cryptocompare.com .ImageUrl (String) URL para obter a imagem do logotipo da moeda. (Ex: /media/351001/404.png ). O URL deve ser anexado a https://www.cryptocompare.com .Name (string) Nome do ticker da criptomoeda dada.Symbol (string) símbolo do ticker da criptomoeda dada (geralmente o mesmo que o nome).CoinName (String) Nome da criptomoeda dada.FullName (String) da criptomoeda dada concatenada com o símbolo (ex: Ethereum (ETH) ).Algorithm (String) Nome Algoritmo criptográfico para essa moeda.ProofType (string) o tipo de prova da criptomoeda.ProofType (string) o tipo de prova da criptomoeda.FullyPremined (String) retorna "1" se a moeda foi premiada, se não, retorna "0".TotalCoinSupply (String) Supplência total da criptomoeda.PreMinedValue (String) de moedas premiadas.TotalCoinsFreeFloat (String)SortOrder (string) O pedido Cryptocompare classifica a moeda dentro de seu sistema interno.Sponsored (booleano) é true quando a moeda é patrocinada pelo Cryptocompare, é false caso contrário. 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()Retorna todas as trocas com as quais o Cryptocompare se integrou.
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()Obtenha o preço atual de qualquer criptomoeda em qualquer outra moeda.
price(fsym, tsyms[, options])
fsym (string) do símbolotsyms (matriz de cordas | string) para símbolos (s)options (objeto)tryConversion (Boolean) por padrão, se a criptografia não negociar diretamente no Tosymol solicitada, o BTC será usado para conversão. Defina tryConversion como false para desativar o uso do BTC para conversão.exchanges (matriz de strings | Array) trocas para obter dados de preços. Por padrão, dados médios são usados. (Você pode obter uma lista de trocas principais para um determinado par com 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() , exceto que permite especificar uma matriz de símbolos.
priceMulti(fsyms, tsyms[, options])
fsyms (Matriz de Strings | String) De símbolos (s)tsyms (matriz de cordas | string) para símbolos (s)options (objeto)tryConversion (Boolean) por padrão, se a criptografia não negociar diretamente no Tosymol solicitada, o BTC será usado para conversão. Defina tryConversion como false para desativar o uso do BTC para conversão.exchanges (matriz de strings | Array) trocas para obter dados de preços. Por padrão, dados médios são usados. (Você pode obter uma lista de trocas principais para um determinado par com 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()Obtenha todas as informações de negociação atuais (Price, Vol, aberta, alta, baixa, etc.) de qualquer lista de criptomoedas em qualquer outra moeda.
priceFull(fsyms, tsyms[, options])
fsyms (Matriz de Strings | String) De símbolos (s)tsyms (matriz de cordas | string) para símbolos (s)options (objeto)tryConversion (Boolean) por padrão, se a criptografia não negociar diretamente no Tosymol solicitada, o BTC será usado para conversão. Defina tryConversion como false para desativar o uso do BTC para conversão.exchanges (matriz de strings | Array) trocas para obter dados de preços. Por padrão, dados médios são usados. (Você pode obter uma lista de trocas principais para um determinado par com 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()Obtenha o preço de qualquer criptomoeda em qualquer outra moeda em um determinado registro de data e hora. O preço vem das informações diárias - por isso seria o preço no final do dia GMT com base no registro de data e hora solicitada.
priceHistorical(fsym, tsyms, time[, options])
fsym (string) do símbolotsyms (matriz de cordas | string) para símbolos (s)time (data) Data na história para a qual você deseja dados de preçosoptions (objeto)tryConversion (Boolean) por padrão, se a criptografia não negociar diretamente no Tosymol solicitada, o BTC será usado para conversão. Defina tryConversion como false para desativar o uso do BTC para conversão.exchanges (matriz de strings | Array) trocas para obter dados de preços. Por padrão, dados médios são usados. (Você pode obter uma lista de trocas principais para um determinado par com 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 as informações de negociação atuais (Price, vol, aberta, alta, baixa etc.) do par solicitado como uma média ponderada por volume com base nos mercados solicitados.
generateAvg(fsym, tsym, markets[, tryConversion])
fsym (string) do símbolotsym (string) para símbolomarkets (matriz) Matriz de mercados para basear a média. (Você pode obter uma lista de trocas principais para um determinado par com topExchanges() .)tryConversion (Boolean) por padrão, se a criptografia não negociar diretamente no Tosymol solicitada, o BTC será usado para conversão. Defina tryConversion como false para desativar o uso do BTC para conversão. 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()Obtenha os pares principais em volume para uma moeda.
topPairs(fsym[, limit])
fsym (string) do símbololimit (número) limite o número de pares que você recebe (padrão 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()Obtenha as principais trocas em volume para um par de moedas.
topExchanges(fsym, tsym[, limit])
fsym (string) do símbolotsym (string) para símbololimit (número) limite o número de trocas que você recebe (padrão 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()Obtenha dados completos nas trocas principais em volume para um par de moedas.
topExchangesFull(fsym, tsym[, limit])
fsym (string) do símbolotsym (string) para símbololimit (número) limite o número de trocas que você recebe (padrão 5).histoDay()Fique aberto, alto, baixo, fechado, volume e volumeto dos dados históricos diários. Os valores são baseados no tempo 00:00 GMT.
histoDay(fsym, tsym[, options])
fsym (string) do símbolotsym (string) para símbolooptions (objeto)aggregate (número) de pontos de dados para agregar.aggregatePredictableTimePeriods (booleanos) gera períodos de tempo previsíveis.allData (booleano) retorna todos os dados.toTs (número) Last UNIX Timestamp para retornar dados.limit (número | 'none' ) Limite o número de dias para procurar. O padrão é 30. Se você o definir para a string 'none' , obterá todos os dados disponíveis.tryConversion (Boolean) por padrão, se a criptografia não negociar diretamente no Tosymol solicitada, o BTC será usado para conversão. Defina tryConversion como false para desativar o uso do BTC para conversão.timestamp (data) Por padrão, histoDay() obtém dados históricos nos últimos dias. Use a opção timestamp para definir um ponto de partida histórico.exchange (String) Exchange para obter dados de histórico de. Por padrão, dados médios são usados. (Você pode obter uma lista de trocas principais para um determinado par com 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()Fique aberto, alto, baixo, fechado, volume e volumeto dos dados históricos horários.
histoHour(fsym, tsym[, options])
fsym (string) do símbolotsym (string) para símbolooptions (objeto)aggregate (número) de pontos de dados para agregar.aggregatePredictableTimePeriods (booleanos) gera períodos de tempo previsíveis.toTs (número) Last UNIX Timestamp para retornar dados paralimit (número) limite o número de horas para procurar. O padrão é 168.tryConversion (Boolean) por padrão, se a criptografia não negociar diretamente no Tosymol solicitada, o BTC será usado para conversão. Defina tryConversion como false para desativar o uso do BTC para conversão.timestamp (data) Por padrão, histoHour() recebe dados históricos nas últimas horas. Use a opção timestamp para definir um ponto de partida histórico.exchange (String) Exchange para obter dados de histórico de. Por padrão, dados médios são usados. (Você pode obter uma lista de trocas principais para um determinado par com 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()Fique aberto, alto, baixo, fechado, volume e volumeto dos dados históricos de minuto a minuto.
histoMinute(fsym, tsym[, options])
fsym (string) do símbolotsym (string) para símbolooptions (objeto)aggregate (número) de pontos de dados para agregar.aggregatePredictableTimePeriods (booleanos) gera períodos de tempo previsíveis.toTs (número) Last UNIX Timestamp para retornar dados paralimit (número) limite o número de minutos para procurar. O padrão é 1440.tryConversion (Boolean) por padrão, se a criptografia não negociar diretamente no Tosymol solicitada, o BTC será usado para conversão. Defina tryConversion como false para desativar o uso do BTC para conversão.timestamp (data) Por padrão, histoMinute() obtém dados históricos nos últimos minutos. Use a opção timestamp para definir um ponto de partida histórico.exchange (String) Exchange para obter dados de histórico de. Por padrão, dados médios são usados. (Você pode obter uma lista de trocas principais para um determinado par com 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()Retorna artigos de notícias dos provedores com os quais a Cryptocompare se integrou.
newsList(lang[, options])
lang (String) Linguagem Preferida - Inglês (En) ou Português (PT)options (objeto)feeds (Matriz de Strings | Array) Feeds de notícias específicos para recuperar notícias de, se vazias, padrão para todos eles. (Você pode obter uma lista de feeds de notícias com newsFeedsAndCategories().Feeds ..)categories (matriz de strings | Array) Categoria de artigos de notícias para retornar, se vazios, padrão para todos eles. (Você pode obter uma lista de categorias de notícias com newsFeedsAndCategories().Categories ..)excludeCategories (matriz de strings | Array) para excluir dos resultados, se vazios, padrão para nenhum. (Você pode obter uma lista de categorias de notícias com newsFeedsAndCategories().Categories ..)lTs (data) retorna notícias antes desse registro de data e hora 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()Retorna todos os feeds de notícias (provedores) com os quais a Cryptocompare se integrou e a lista completa de categorias.
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()Retorna todas as trocas constituintes no instrumento de solicitação.
constituentExchangeList([options])
options (objeto)instrument (string) o tipo de instrumento médio.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()Retorna os dados mais recentes de estatísticas sociais para a moeda solicitada.
Nota : requer uma chave de API válida.
latestSocial([options])
options (objeto)coinId (número) o ID da moeda.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()Retorna dados de estatísticas sociais para a moeda solicitada.
Nota : requer uma chave de API válida.
histoSocial(timePeriod[, options])
timePeriod (String) Período - 'Dia' ou 'Hora'options (objeto)coinId (número) o ID da moeda.aggregate (número) de tempo para agregar os dados.aggregatePredictableTimePeriods (booleanos) utilizados apenas se param aggregate incluídos. Se false, ele criará slots de tempo com base em quando a chamada for feita.limit (número) Número de pontos de dados a serem retornados.toTs (número) Last UNIX Timestamp para retornar dados 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