Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
coinmarketcap-api
Advanced tools
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, default fetch
)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, default 1
)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"
)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)
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 request
options.start
(Number | String) Return results from rank start and above (optional, default 1
)options.limit
(Number | String) Only returns limit number of results [1..5000] (optional, default 100
)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!
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
Or open up a issue.
Licensed under the MIT License.
FAQs
CoinMarketCap API wrapper for node
We found that coinmarketcap-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.