@stevenxu/coinmarketcap-api
v3.1.1
Published
CoinMarketCap API wrapper for node
Downloads
6
Maintainers
Readme
coinmarketcap-api
CoinMarketCap API wrapper for node
This wrapper is based on the free tier of the CoinMarketCap Professional API. You can get your API key here.
Table of Contents
Install
$ npm install coinmarketcap-api
# OR
$ yarn add coinmarketcap-api
Usage
const CoinMarketCap = require('coinmarketcap-api')
const apiKey = 'api key'
const proxy = 'http://127.0.0.1:1087' // 代理配置
const client = new CoinMarketCap(apiKey, { proxy: proxy })
client.getTickers().then(console.log).catch(console.error)
client.getGlobal().then(console.log).catch(console.error)
Check out the CoinMarketCap Pro API documentation for more information!
API
Table of Contents
constructor
Parameters
apiKey
String API key for accessing the CoinMarketCap APIOptions
Object? Options for the CoinMarketCap instance (optional, default{}
)Options.proxy
Options.fetcher
(optional, defaultfetch
)Options.config
(optional, default{}
)
getIdMap
Get a paginated list of all cryptocurrencies by CoinMarketCap ID.
Parameters
args
(optional, default{}
)options
Object? Options for the request:options.listingStatus
String active or inactive coins (optional, default"active"
)options.start
(Number | String) Return results from rank start and above (optional, default1
)options.limit
(Number | String)? Only returns limit number of resultsoptions.symbol
(Array<String> | String)? Comma separated list of symbols, will ignore the other optionsoptions.sort
String Sort results by the options at https://coinmarketcap.com/api/documentation/v1/#operation/getV1CryptocurrencyMap (optional, default"id"
)
Examples
const client = new CoinMarketCap('api key')
client.getIdMap().then(console.log).catch(console.error)
client.getIdMap({listingStatus: 'inactive', limit: 10}).then(console.log).catch(console.error)
client.getIdMap({symbol: 'BTC,ETH'}).then(console.log).catch(console.error)
client.getIdMap({symbol: ['BTC', 'ETH']}).then(console.log).catch(console.error)
client.getIdMap({sort: 'cmc_rank'}).then(console.log).catch(console.error)
getMetadata
Get static metadata for one or more cryptocurrencies. Either id or symbol is required, but passing in both is not allowed.
Parameters
args
(optional, default{}
)options
Object? Options for the request:
Examples
const client = new CoinMarketCap('api key')
client.getMetadata({id: '1'}).then(console.log).catch(console.error)
client.getMetadata({id: [1, 2]}).then(console.log).catch(console.error)
client.getMetadata({symbol: 'BTC,ETH'}).then(console.log).catch(console.error)
client.getMetadata({symbol: ['BTC', 'ETH']}).then(console.log).catch(console.error)
getCategories
Get information about all coin categories available on CoinMarketCap. Includes a paginated list of cryptocurrency quotes and metadata from each category. Either id or symbol or slug is required, but passing in both is not allowed.
Parameters
args
(optional, default{}
)options
Object? Options for the request:
Examples
const client = new CoinMarketCap('api key')
client.getCategories({id: '6051a82166fc1b42617d6dc1'}).then(console.log).catch(console.error)
client.getCategories({id: ['6051a82166fc1b42617d6dc1', '6051a82266fc1b42617d6dc2']}).then(console.log).catch(console.error)
client.getCategories({symbol: 'BTC,ETH'}).then(console.log).catch(console.error)
client.getCategories({symbol: ['BTC', 'ETH']}).then(console.log).catch(console.error)
client.getCategories({slug: 'Gaming,Spartan Group'}).then(console.log).catch(console.error)
client.getCategories({slug: ['Gaming','Spartan Group']}).then(console.log).catch(console.error)
getCategory
Get information about a single coin category available on CoinMarketCap. Includes a paginated list of the cryptocurrency quotes and metadata for the category id is required.
Parameters
args
(optional, default{}
)options
Object? Options for the request:
Examples
const client = new CoinMarketCap('api key')
client.getCategory({id: '6051a82166fc1b42617d6dc1'}).then(console.log).catch(console.error)
client.getCategory({id: '6051a82166fc1b42617d6dc1', convert: ['USD','ETH']}).then(console.log).catch(console.error)
getTickers
Get information on all tickers. Start and limit options can only be used when currency or ID is not given. Currency and ID cannot be passed in at the same time.
Parameters
args
(optional, default{}
)options
Object? Options for the requestoptions.start
(Number | String) Return results from rank start and above (optional, default1
)options.limit
(Number | String) Only returns limit number of results [1..5000] (optional, default100
)options.convert
(Array<String> | String) Return info in terms of another currency (optional, default"USD"
)options.sort
String Sort results by the options at https://pro.coinmarketcap.com/api/v1#operation/getV1CryptocurrencyListingsLatest (optional, default"market_cap"
)options.sortDir
String? Direction in which to order cryptocurrencies ("asc" | "desc")options.cryptocurrencyType
String Type of cryptocurrency to include ("all" | "coins" | "tokens") (optional, default"all"
)
Examples
const client = new CoinMarketCap('api key')
client.getTickers({limit: 3}).then(console.log).catch(console.error)
client.getTickers({convert: 'EUR'}).then(console.log).catch(console.error)
client.getTickers({start: 0, limit: 5}).then(console.log).catch(console.error)
client.getTickers({sort: 'name'}).then(console.log).catch(console.error)
getQuotes
Get latest market quote for 1 or more cryptocurrencies.
Parameters
args
(optional, default{}
)options
Object? Options for the request:
Examples
const client = new CoinMarketCap('api key')
client.getQuotes({id: '1'}).then(console.log).catch(console.error)
client.getQuotes({id: [1, 2], convert: 'USD,EUR'}).then(console.log).catch(console.error)
client.getQuotes({symbol: 'BTC,ETH'}).then(console.log).catch(console.error)
client.getQuotes({symbol: ['BTC', 'ETH']}).then(console.log).catch(console.error)
getGlobal
Get global information
Parameters
Examples
const client = new CoinMarketCap()
client.getGlobal('GBP').then(console.log).catch(console.error)
client.getGlobal({convert: 'GBP'}).then(console.log).catch(console.error)
Contributing
Contributions are welcome!
- Fork it.
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Or open up a issue.
License
Licensed under the MIT License.