UNPKG

coinmarketcap-js

Version:
393 lines (284 loc) 7.65 kB
# 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); } ```