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.
$ npm install coinmarketcap-api
# OR
$ yarn add coinmarketcap-api
const CoinMarketCap = require('coinmarketcap-api')
const apiKey = 'api key'
const client = new CoinMarketCap(apiKey)
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!
apiKey
String API key for accessing the CoinMarketCap APIOptions
Object? Options for the CoinMarketCap instance (optional, default{}
)Options.version
(optional, default'v1'
)Options.fetcher
(optional, defaultfetch
)Options.config
(optional, default{}
)
Get a paginated list of all cryptocurrencies by CoinMarketCap ID.
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 options
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)
Get static metadata for one or more cryptocurrencies. Either id or symbol is required, but passing in both is not allowed.
args
(optional, default{}
)options
Object? Options for the request:
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)
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.
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"
)
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)
Get latest market quote for 1 or more cryptocurrencies.
args
(optional, default{}
)options
Object? Options for the request:
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)
Get global information
const client = new CoinMarketCap()
client.getGlobal('GBP').then(console.log).catch(console.error)
client.getGlobal({convert: 'GBP'}).then(console.log).catch(console.error)
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.
Licensed under the MIT License.