coinmarketcap-js
Version:
Javascript SDK for CoinMarketCap
393 lines (284 loc) • 7.65 kB
Markdown
# coinmarketcap-js
A javascript SDK for interacting with the free version of the [CoinMarketCap API](https://coinmarketcap.com/api/).
## Install
```bash
npm install coinmarketcap-js
```
## Quick Start
### Note: CommonJS usage
To take advantage of the TypeScript typings (for intellisense / autocomplete) while using CommonJS imports with `require()`, use the following approach:
```js
const restClient = require("coinmarketcap-js").default;
const rest = restClient("API KEY");
// rest.<method> will now provide autocomplete and parameter typings
```
### ESM usage
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
// Can now use API
const idMapResult = await rest.crypto.idMap({ limit: 1 });
const infoResult = await rest.crypto.info({ symbol: "BTC" });
```
## API Methods
- [Cryptocurrency](#cryptocurrency)
- [categories](#categories)
- [category](#category)
- [idMap](#idMap)
- [info](#info)
- [latestListings](#latestListings)
- [latestQuotes](#latestQuotes)
- [Fiat](#fiat)
- [idMap](#idMap-1)
- [Exchange](#exchange)
- [info](#info-1)
- [idMap](#idMap-2)
- [Global](#global)
- [latestQuotes](#latestQuotes-1)
- [Tools](#tools)
- [priceConversion](#priceConversion)
## Cryptocurrency
### categories
Returns paginated data about all coin categories.
Options `Object?`:
| | |
| ------- | -------- |
| id? | `String` |
| start? | `Number` |
| limit? | `Number` |
| slug? | `String` |
| symbol? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.crypto.categories({ limit: 1, symbol: "BTC" });
} catch (error) {
console.log(error);
}
```
### category
Returns data about a single coin category.
Options `Object`:
| | |
| ---------- | -------- |
| id | `String` |
| start? | `Number` |
| limit? | `Number` |
| convert? | `String` |
| convertId? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const category = await rest.crypto.category({
id: "categoryID",
limit: 1,
});
} catch (error) {
console.log(error);
}
```
### idMap
Returns all or a paginated list of cryptocurrencies.
Options `Object?`:
| | |
| -------------- | -------- |
| listingStatus? | `String` |
| start? | `Number` |
| limit? | `Number` |
| sort? | `String` |
| symbol? | `String` |
| aux? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.crypto.idMap({ limit: 100 });
} catch (error) {
console.log(error);
}
```
### info
Returns static data for one or many cryptocurrencies.
Options `Object?`:
| | |
| -------- | -------- |
| id? | `String` |
| slug? | `String` |
| symbol? | `String` |
| address? | `String` |
| aux? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.crypto.info({ symbol: "BTC" });
} catch (error) {
console.log(error);
}
```
### latestListings
Returns paginated list of all active cryptocurrencies along with latest market data.
Options `Object?`:
| | |
| --------------------- | -------- |
| start? | `Number` |
| limit? | `Number` |
| priceMin? | `Number` |
| priceMax? | `Number` |
| marketCapMin? | `Number` |
| marketCapMax? | `Number` |
| volume24hMin? | `Number` |
| volume24hMax? | `Number` |
| circulatingSupplyMin? | `Number` |
| circulatingSupplyMax? | `Number` |
| percentChange24hMin? | `Number` |
| percentChange24hMax? | `Number` |
| convert? | `String` |
| convertId? | `String` |
| sort? | `String` |
| sortDir? | `String` |
| cryptocurrencyType? | `String` |
| tag? | `String` |
| aux? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.crypto.latestListings({ limit: 50 });
} catch (error) {
console.log(error);
}
```
### latestQuotes
Returns the latest market quote data for one or many cryptocurrencies.
Options `Object?`:
| | |
| ------------ | --------- |
| id? | `Number` |
| slug? | `String` |
| symbol? | `String` |
| convert? | `String` |
| convertId? | `String` |
| aux? | `String` |
| skipInvalid? | `Boolean` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.crypto.latestQuotes({ symbol: "BTC" });
} catch (error) {
console.log(error);
}
```
## Fiat
### idMap
Returns data about fiat currencies with unique CoinMarketCap ids.
Options `Object?`:
| | |
| -------------- | --------- |
| start? | `Number` |
| limit? | `Number` |
| sort? | `String` |
| includeMetals? | `Boolean` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.fiat.idMap({ limit: 1 });
} catch (error) {
console.log(error);
}
```
## Exchange
### info
Returns static data for one or more exchanges.
Options `Object?`:
| | |
| ----- | -------- |
| id? | `String` |
| slug? | `String` |
| aux? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.exchange.info({ id: "270" });
} catch (error) {
console.log(error);
}
```
### idMap
Returns a paginated list of all active cryptocurrency exchanges per CoinMarketCap ID
Options `Object?`:
| | |
| -------------- | -------- |
| listingStatus? | `String` |
| slug? | `String` |
| start? | `Number` |
| limit? | `Number` |
| sort? | `String` |
| aux? | `String` |
| cryptoId? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.exchange.idMap({ limit: 1 });
} catch (error) {
console.log(error);
}
```
## Global
### latestQuotes
Returns the latest global cryptocurrency market metrics.
Options `Object?`:
| | |
| ---------- | -------- |
| convert? | `String` |
| convertId? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.global.latestQuotes();
} catch (error) {
console.log(error);
}
```
## Tools
### priceConversion
Convert provided amount of one cryptocurrency or fiat currency into one or more different currencies using the latest market rate for each currency.
Options `Object`:
| | |
| ---------- | -------- |
| amount | `Number` |
| id? | `String` |
| symbol? | `String` |
| time? | `String` |
| convert? | `String` |
| convertId? | `String` |
Example:
```typescript
import { restClient } from "coinmarketcap-js";
const rest = restClient("API KEY");
try {
const result = await rest.tools.priceConversion({
amount: 100,
symbol: "BTC",
});
} catch (error) {
console.log(error);
}
```