Cryptocompare JavaScript API
npm install --save cryptocompare
Примечание. 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 (String) Базовый URL для всех изображений из поля Imageurl (https://www.cryptocompare.com),BaseLinkUrl Базовый URL для всех ссылок с поля URL (https://www.cryptocompare.com)Data (объект) содержит следующую информацию о каждой монете.Id (строка)Url (строка) URL на страницу CryptoCompare для монеты. (Пример: /coins/eth/overview ) URL должен быть добавлен на https://www.cryptocompare.com .ImageUrl (String) URL, чтобы получить изображение логотипа монеты. (Пример: /media/351001/404.png ). URL должен быть добавлен на https://www.cryptocompare.com .Name (строка) Имя тикера заданной криптовалюты.Symbol (строка) символ тикера данной криптовалюты (обычно такой же, как и имя).CoinName (String) Имя данной криптовалюты.FullName (String) Имя данной криптовалюты, объединенной с символом (например: Ethereum (ETH) ).Algorithm (строка) Имя криптографический алгоритм для этой монеты.ProofType (строка) Тип доказательства криптовалюты.ProofType (строка) Тип доказательства криптовалюты.FullyPremined (String) возвращает «1», если монета была преднамеренной, если не возвращает «0».TotalCoinSupply (String) Общая подача криптовалюты.PreMinedValue (строка) Значение представленных монет.TotalCoinsFreeFloat (String)SortOrder (String) Заказ Cryptocompare ранжирует монету внутри своей внутренней системы.Sponsored (логический) true , когда монета спонсируется Cryptocompare, в противном случае является 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) по умолчанию, если криптография не торгует непосредственно в запрошенный тозимбол, 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 (массив струн | строка) из символов (ы)tsyms (массив струн | строка) к символу (ы)options (объект)tryConversion (Boolean) по умолчанию, если криптография не торгует непосредственно в запрошенный тозимбол, 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()Получите всю текущую информацию о торговле (цена, Vol, Open, High, Low и т. Д.) Любого списка криптовалют в любой другой валюте.
priceFull(fsyms, tsyms[, options])
fsyms (массив струн | строка) из символов (ы)tsyms (массив струн | строка) к символу (ы)options (объект)tryConversion (Boolean) по умолчанию, если криптография не торгует непосредственно в запрошенный тозимбол, 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) по умолчанию, если криптография не торгует непосредственно в запрошенный тозимбол, 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()Вычислите текущую информацию о торговле (цена, VOL, Open, High, Low и т. Д.) Запрашиваемой пары в качестве среднего объема в среднем на основе запрашиваемых рынков.
generateAvg(fsym, tsym, markets[, tryConversion])
fsym (строка) из символаtsym (строка) к символуmarkets (массив) массив рынков для основы среднего значения. (Вы можете получить список лучших обменов для данной пары с topExchanges() .)tryConversion (Boolean) по умолчанию, если криптография не торгует непосредственно в запрошенный тозимбол, 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) по умолчанию, если криптография не торгует непосредственно в запрошенный тозимбол, BTC будет использоваться для преобразования. Установите tryConversion в false , чтобы отключить BTC для преобразования.timestamp (дата) По умолчанию histoDay() получает исторические данные в течение последних нескольких дней. Используйте опцию timestamp , чтобы установить историческую начальную точку.exchange (String) Exchange, чтобы получить данные истории от. По умолчанию используются средние данные. (Вы можете получить список лучших обменов для данной пары с 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) по умолчанию, если криптография не торгует непосредственно в запрошенный тозимбол, BTC будет использоваться для преобразования. Установите tryConversion в false , чтобы отключить BTC для преобразования.timestamp (дата) По умолчанию histoHour() получает исторические данные в течение последних нескольких часов. Используйте опцию timestamp , чтобы установить историческую начальную точку.exchange (String) Exchange, чтобы получить данные истории от. По умолчанию используются средние данные. (Вы можете получить список лучших обменов для данной пары с 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) по умолчанию, если криптография не торгует непосредственно в запрошенный тозимбол, BTC будет использоваться для преобразования. Установите tryConversion в false , чтобы отключить BTC для преобразования.timestamp (дата) По умолчанию histoMinute() получает исторические данные в течение последних нескольких минут. Используйте опцию timestamp , чтобы установить историческую начальную точку.exchange (String) Exchange, чтобы получить данные истории от. По умолчанию используются средние данные. (Вы можете получить список лучших обменов для данной пары с 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 (String) предпочтительный язык - английский (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 (номер) идентификатор монеты.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 (номер) идентификатор монеты.aggregate (число) периода времени для объединения данных.aggregatePredictableTimePeriods (логическое) используется только в том случае, если aggregate парамет включен. Если false, то он создаст временные слоты в зависимости от того, когда вызов сделан.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 ) Грань