Skip to content

Repository files navigation

CurrencyApi NodeJs wrapper

npm versionCoverage Status

Note: API v1 is deprecated and will be retired on 31st July 2026, at which point all v1 traffic will be redirected to v2. This SDK (v2.0.0+) targets API v2. If you are on an older version of this SDK, please upgrade.

CurrencyApi.net provides live currency rates via a REST API. A live currency feed for over 152 currencies, including physical (USD, GBP, EUR + more) and cryptos (Bitcoin, Litecoin, Ethereum + more). A JSON and XML currency api updated every 60 seconds.

Features:

  • Live exchange rates (updated every 60 seconds).
  • 152 currencies world currencies.
  • Popular cryptocurrencies included; Bitcoin, Litecoin etc.
  • Convert currencies on the fly with the convert endpoint.
  • Historical currency rates back to year 2000.
  • OHLC (candlestick) data with multiple intervals.
  • Easy to follow documentation

Signup for a free or paid account here.

This package is a:

NodeJs wrapper for CurrencyApi.net endpoints.

Developer Guide

For an easy to following developer guide, check out our NodeJs Developer Guide.

Alternatively keep reading below.

Prerequisites

  • Minimum NodeJs v16 (npm v7 and above)
  • Tested on NodeJs v16, v18, v20, v22, v24
  • Free or Paid account with CurrencyApi.net

Test Coverage

  • 100% coverage

Installation

Using npm:

npm install currencyapi-node

then include the package with:

constCurrencyApi=require('./currencyapi-node')

Usage

Instantiating

constcurrency=newCurrencyApi('API_KEY');

Live rates:

constresult=awaitcurrency.rates().get()

or

currency.rates().get().then(console.log)

Example with all available methods (methods can be chained):

constresult=awaitcurrency.rates().base('USD').output('JSON').get()

Available methods for rates endpoint

MethodsDescription
base()The base currency you wish you receive the currency conversions for. This will output all currency conversions for that currency. Default: USD.
output()Response output in either JSON or XML. Default: JSON.

List of available currencies:

constresult=awaitcurrency.currencies().get()

Example with all available methods:

constresult=awaitcurrency.currencies().output('XML').get()

Available methods for currencies endpoint

MethodsDescription
output()Response output in either JSON or XML. Default: JSON.

Convert:

constresult=awaitcurrency.convert().from('BTC').to('USD').amount(100).get()

Available methods for convert endpoint

MethodsDescription
amount()The value of the currency you want to convert from. This should be a number and can contain a decimal place. Required.
from()The currency you want to convert. This will be a three letter ISO 4217 currency code from one of the currencies we have rates for. Required.
to()The currency you want to convert the amount 'to'. Again this will be a three letter currency code from the ones we offer. Required.
output()Response output in either JSON or XML. Default: JSON.

Historical:

constresult=awaitcurrency.history().date('2019-01-01').get()

Example with all available methods:

constresult=awaitcurrency.history().date('2019-01-01').base('GBP').output('JSON').get()

Available methods for historical endpoint

MethodsDescription
date()The historical date you wish to receive the currency conversions for. This should be formatted as YYYY-MM-DD. Required.
base()The base currency you wish you receive the currency conversions for. This will output all currency conversions for that currency. Default: USD.
output()Response output in either JSON or XML. Default: JSON.

Timeframe:

constresult=awaitcurrency.timeframe().startDate('2019-01-01').endDate('2019-01-05').get()

Example with all available methods:

constresult=awaitcurrency.timeframe().startDate('2019-01-01').endDate('2019-01-05').base('GBP').output('JSON').get()

Available methods for timeframe endpoint

MethodsDescription
startDate()The historical date you wish to receive the currency conversions from. This should be formatted as YYYY-MM-DD. Required.
endDate()The historical date you wish to receive the currency conversions until. This should be formatted as YYYY-MM-DD. Required.
base()The base currency you wish you receive the currency conversions for. This will output all currency conversions for that currency. Default: USD.
output()Response output in either JSON or XML. Default: JSON.

OHLC (candlestick data):

constresult=awaitcurrency.ohlc().quote('GBP').date('2024-01-13').get()

Example with all available methods:

constresult=awaitcurrency.ohlc().quote('GBP').date('2024-01-13').interval('1h').base('USD').output('JSON').get()

Available methods for ohlc endpoint

MethodsDescription
quote()The quote currency to retrieve OHLC data for. This will be a three letter ISO 4217 currency code. Required.
date()The date to retrieve OHLC data for. This should be formatted as YYYY-MM-DD. Required.
interval()The time interval for each candle. Allowed values: 5m, 15m, 30m, 1h, 4h, 12h, 1d. Default: 1d.
base()The base currency. Default: USD.
output()Response output in either JSON or XML. Default: JSON.

About

Npm package for CurrencyApi.net

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages