Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
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
The npm package coinmarketcap-api receives a total of 387 weekly downloads. As such, coinmarketcap-api popularity was classified as not popular.
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
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.