CryptoCompare JavaScript API
npm install --save cryptocompare
注意:加密保护取决于fetch()在全球定义。
如果您在电子中使用此功能,则应无需任何配置就可以工作。
如果您在node.js中使用了此功能,则需要使用node-fetch 。
该软件包无需API密钥工作,但是随着时间的推移,IP限制将逐渐减小,以创建一个API键,只需访问https://www.cryptocompare.com/cryptopian/api-keys即所有价格流和轮询终点
例子:
global . fetch = require ( 'node-fetch' )
const cc = require ( 'cryptocompare' )
cc . setApiKey ( '<your-api-key>' )coinList()获取所有加密货币的当前列表以及有关每个硬币的以下信息。
coinList()
No parametersReturns (对象)...BaseImageUrl (字符串)来自ImageUrl字段(https://www.cryptocompare.com)的所有图像的基本URL,BaseLinkUrl url字段(https://www.cryptocompare.com)的所有链接的基本URLData (对象)包含有关每个硬币的以下信息。Id (字符串)Url (字符串)URL。 (ex: /coins/eth/overview )必须将URL附加到https://www.cryptocompare.com 。ImageUrl (字符串)URL获取硬币徽标图像。 (ex: /media/351001/404.png )。 URL必须附加到https://www.cryptocompare.com 。Name (字符串)给定加密货币的名称。Symbol (字符串)股票符号(通常与名称相同)。CoinName (字符串)名称。FullName货币与符号连接的给定加密货币的名称(例如: Ethereum (ETH) )。Algorithm (字符串)名称加密算法。ProofType (字符串)加密货币的证明类型。ProofType (字符串)加密货币的证明类型。FullyPremined (字符串)返回“ 1”,如果硬币的前提,如果没有,则返回“ 0”。TotalCoinSupply (字符串)加密货币的总供应。PreMinedValue (字符串)值。TotalCoinsFreeFloat (String)SortOrder (string)订单加密复合物将其内部系统内的硬币排名。Sponsored (布尔)是true ,否则是false 。 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()返回CryptoCompare与之集成的所有交换。
exchangeList()
No parametersReturns (对象) 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()以任何其他货币获取任何加密货币的当前价格。
price(fsym, tsyms[, options])
fsym (字符串)tsyms (字符串的数组)到符号options (对象)tryConversion (Boolean)默认情况下,如果加密货币未直接交易到所请求的Tosymbol中,则BTC将用于转换。将tryConversion设置为false以使用BTC进行转换禁用。exchanges (字符串数组|数组)交换以获取价格数据。默认情况下,使用平均数据。 (您可以获取带有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()像price()一样的工作,除非它允许您指定符号的矩阵。
priceMulti(fsyms, tsyms[, options])
fsyms (字符串|字符串| string)tsyms (字符串的数组)到符号options (对象)tryConversion (Boolean)默认情况下,如果加密货币未直接交易到所请求的Tosymbol中,则BTC将用于转换。将tryConversion设置为false以使用BTC进行转换禁用。exchanges (字符串数组|数组)交换以获取价格数据。默认情况下,使用平均数据。 (您可以获取带有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()获取所有其他货币的加密货币清单的当前交易信息(价格,卷,开放,高,低等)。
priceFull(fsyms, tsyms[, options])
fsyms (字符串|字符串| string)tsyms (字符串的数组)到符号options (对象)tryConversion (Boolean)默认情况下,如果加密货币未直接交易到所请求的Tosymbol中,则BTC将用于转换。将tryConversion设置为false以使用BTC进行转换禁用。exchanges (字符串数组|数组)交换以获取价格数据。默认情况下,使用平均数据。 (您可以获取带有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()在给定时间戳以任何其他货币的价格获取任何加密货币的价格。价格来自每日信息 - 因此,这将是根据请求的时间戳在GMT结束时的价格。
priceHistorical(fsym, tsyms, time[, options])
fsym (字符串)tsyms (字符串的数组)到符号time (日期)日期options (对象)tryConversion (Boolean)默认情况下,如果加密货币未直接交易到所请求的Tosymbol中,则BTC将用于转换。将tryConversion设置为false以使用BTC进行转换禁用。exchanges (字符串数组|数组)交换以获取价格数据。默认情况下,使用平均数据。 (您可以获取带有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()根据所需的市场,计算请求对的当前交易信息(价格,卷,开放,高,低等)为体积加权平均值。
generateAvg(fsym, tsym, markets[, tryConversion])
fsym (字符串)tsym (字符串)到符号markets (阵列)的市场阵列以平均水平为基础。 (您可以获取带有topExchanges()的给定对的顶部交换列表。tryConversion (Boolean)默认情况下,如果加密货币未直接交易到所请求的Tosymbol中,则BTC将用于转换。将tryConversion设置为false以使用BTC进行转换禁用。 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()按货币逐批获得顶对。
topPairs(fsym[, limit])
fsym (字符串)limit (数字)限制您收到的对数(默认为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()按数量获得货币对的最高交换。
topExchanges(fsym, tsym[, limit])
fsym (字符串)tsym (字符串)到符号limit (数字)限制您收到的交换数(默认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()按货币对逐批获得顶部交换的完整数据。
topExchangesFull(fsym, tsym[, limit])
fsym (字符串)tsym (字符串)到符号limit (数字)限制您收到的交换数(默认5)。histoDay()从日常历史数据中获取开放,高,低,关闭,体积和体积。这些值基于00:00 GMT时间。
histoDay(fsym, tsym[, options])
fsym (字符串)tsym (字符串)到符号options (对象)aggregate (数量)汇总的数据点数。aggregatePredictableTimePeriods (布尔值)生成可预测的时间段。allData (Boolean)返回所有数据。toTs (数字)最后一个Unix时间戳返回数据。limit (数字| 'none' )限制查找天数。默认值为30。如果将其设置为'none'字符串,则将获得所有可用的数据。tryConversion (Boolean)默认情况下,如果加密货币未直接交易到所请求的Tosymbol中,则BTC将用于转换。将tryConversion设置为false以使用BTC进行转换禁用。timestamp (日期)默认情况下, histoDay()在过去几天中获取历史数据。使用timestamp选项设置历史起点。exchange (String)交换以获取历史记录数据。默认情况下,使用平均数据。 (您可以获取带有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()从每小时的历史数据中获取开放,高,低,关闭,体积和体积。
histoHour(fsym, tsym[, options])
fsym (字符串)tsym (字符串)到符号options (对象)aggregate (数量)汇总的数据点数。aggregatePredictableTimePeriods (布尔值)生成可预测的时间段。toTs (数字)最后一个Unix时间戳返回数据limit (数字)限制查找的小时数。默认值为168。tryConversion (Boolean)默认情况下,如果加密货币未直接交易到所请求的Tosymbol中,则BTC将用于转换。将tryConversion设置为false以使用BTC进行转换禁用。timestamp (日期)默认情况下, histoHour()在过去几个小时内获取历史数据。使用timestamp选项设置历史起点。exchange (String)交换以获取历史记录数据。默认情况下,使用平均数据。 (您可以获取带有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()从一分钟的历史数据中获取开放,高,低,关闭,体积和体积。
histoMinute(fsym, tsym[, options])
fsym (字符串)tsym (字符串)到符号options (对象)aggregate (数量)汇总的数据点数。aggregatePredictableTimePeriods (布尔值)生成可预测的时间段。toTs (数字)最后一个Unix时间戳返回数据limit (数字)限制查找的分钟数。默认值为1440。tryConversion (Boolean)默认情况下,如果加密货币未直接交易到所请求的Tosymbol中,则BTC将用于转换。将tryConversion设置为false以使用BTC进行转换禁用。timestamp (日期), histoMinute()在过去几分钟中获取历史数据。使用timestamp选项设置历史起点。exchange (String)交换以获取历史记录数据。默认情况下,使用平均数据。 (您可以获取带有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()来自CryptoCompare与提供商的新闻文章。
newsList(lang[, options])
lang (字符串)首选语言 - 英语(EN)或葡萄牙语(PT)options (对象)feeds (字符串阵列|数组)特定的新闻提要可以从所有这些新闻中检索新闻。 (您可以通过newsFeedsAndCategories().Feeds ..)获取新闻提要列表。categories (字符串数组|数组|数组)将返回(如果为空)默认为所有这些。 (您可以通过newsFeedsAndCategories().Categories获取新闻类别列表。excludeCategories (字符串数组|数组)新闻文章类别要排除结果(如果为空),则默认为无。 (您可以通过newsFeedsAndCategories().Categories获取新闻类别列表。lTs (日期)在时间戳之前返回新闻 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()返回CryptoCompare已集成的所有新闻提要(提供商)以及类别的完整列表。
newsFeedsAndCategories()
No parametersReturns (对象) 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()返回请求工具中的所有组成交换。
constituentExchangeList([options])
options (对象)instrument (字符串)平均仪器的类型。Returns (对象) 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()返回所请求的硬币的最新社交统计数据。
注意:需要有效的API密钥。
latestSocial([options])
options (对象)coinId (编号)硬币的ID。Returns (对象) 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()返回所请求的硬币的社会统计数据。
注意:需要有效的API密钥。
histoSocial(timePeriod[, options])
timePeriod (字符串)时间段 - “天”或“小时”options (对象)coinId (编号)硬币的ID。aggregate (数)时间段以汇总数据。aggregate参数时,使用的aggregatePredictableTimePeriods (布尔)才使用。如果是错误的,则将根据呼叫何时创建时间插槽。limit (数字)要返回的数据点数。toTs (数字)最后一个Unix时间戳返回数据Returns (对象数组) 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 ) 麻省理工学院