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
$ yarn add coinmarketcap-api
Usage
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!
API
Table of Contents
constructor
Parameters
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, default fetch
)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:
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:
options.id
(Array | String | Number)? One or more comma separated cryptocurrency IDsoptions.symbol
(Array<String> | String) One or more comma separated cryptocurrency symbols
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)
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 request
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:
options.id
(Array | String | Number)? One or more comma separated cryptocurrency IDsoptions.symbol
(Array<String> | String)? One or more comma separated cryptocurrency symbolsoptions.convert
(Array<String> | String) Return quotes in terms of another currency (optional, default "USD"
)
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.