https://github.com/jfkz/coinmarketcap-api-typescript
https://github.com/jfkz/coinmarketcap-api-typescript
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/jfkz/coinmarketcap-api-typescript
- Owner: jfkz
- License: mit
- Created: 2024-07-04T08:41:27.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-16T11:15:09.000Z (7 months ago)
- Last Synced: 2025-02-18T08:52:42.212Z (4 months ago)
- Language: TypeScript
- Size: 1.52 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# coinmarketcap-api-typescript
[](https://greenkeeper.io/) [](https://npmjs.org/package/coinmarketcap-api-typescript)
[](https://npmjs.org/package/coinmarketcap-api) [](https://github.com/feross/standard) [](https://codecov.io/gh/jfkz/coinmarketcap-api-typescript) [](https://travis-ci.org/jfkz/coinmarketcap-api-typescript) [](https://github.com/jfkz/coinmarketcap-api-typescript/blob/master/LICENSE) [](http://makeapullrequest.com)> CoinMarketCap API wrapper for typescript
This wrapper is based on the free tier of [the CoinMarketCap Professional API](https://pro.coinmarketcap.com/api/v1#section/Introduction).
You can get your API key [here](https://pro.coinmarketcap.com/pricing).## Table of Contents
- [Install](#install)
- [Usage](#usage)
- [API](#api)
- [Contribute](#contribute)
- [License](#license)## Install
```sh
$ npm install coinmarketcap-api-typescript
# OR
$ yarn add coinmarketcap-api-typescript
```## Usage
```js
import CoinMarketCap from 'coinmarketcap-api-typescript'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](https://pro.coinmarketcap.com/api/v1#section/Introduction) for more information!
## API
#### Table of Contents
- [constructor](#constructor)
- [Parameters](#parameters)
- [getIdMap](#getidmap)
- [Parameters](#parameters-1)
- [Examples](#examples)
- [getMetadata](#getmetadata)
- [Parameters](#parameters-2)
- [Examples](#examples-1)
- [getTickers](#gettickers)
- [Parameters](#parameters-3)
- [Examples](#examples-2)
- [getQuotes](#getquotes)
- [Parameters](#parameters-4)
- [Examples](#examples-3)
- [getGlobal](#getglobal)
- [Parameters](#parameters-5)
- [Examples](#examples-4)### constructor
#### Parameters
- `apiKey` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** API key for accessing the CoinMarketCap API
- `Options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/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](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Options for the request:
- `options.listingStatus` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** active or inactive coins (optional, default `"active"`)
- `options.start` **([Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** Return results from rank start and above (optional, default `1`)
- `options.limit` **([Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?** Only returns limit number of results
- `options.symbol` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?** Comma separated list of symbols, will ignore the other options
- `options.sort` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Sort results by the options at (optional, default `"id"`)#### Examples
```javascript
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](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Options for the request:
- `options.id` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))?** One or more comma separated cryptocurrency IDs
- `options.symbol` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** One or more comma separated cryptocurrency symbols#### Examples
```javascript
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](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Options for the request
- `options.start` **([Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** Return results from rank start and above (optional, default `1`)
- `options.limit` **([Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** Only returns limit number of results [1..5000] (optional, default `100`)
- `options.convert` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** Return info in terms of another currency (optional, default `"USD"`)
- `options.sort` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Sort results by the options at (optional, default `"market_cap"`)
- `options.sortDir` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** Direction in which to order cryptocurrencies ("asc" | "desc")
- `options.cryptocurrencyType` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of cryptocurrency to include ("all" | "coins" | "tokens") (optional, default `"all"`)#### Examples
```javascript
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](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Options for the request:
- `options.id` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))?** One or more comma separated cryptocurrency IDs
- `options.symbol` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?** One or more comma separated cryptocurrency symbols
- `options.convert` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** Return quotes in terms of another currency (optional, default `"USD"`)#### Examples
```javascript
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
- `convert`
- `options` **([Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?** Options for the request:
- `options.convert` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** Return quotes in terms of another currency (optional, default `"USD"`)#### Examples
```javascript
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!
1. Fork it.
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :DOr open up [a issue](https://github.com/jfkz/coinmarketcap-api-typescript/issues).
## License
Licensed under the MIT License.