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.
- Easy to follow documentation
Signup for a free or paid account here.
NodeJs wrapper for CurrencyApi.net endpoints.
For an easy to following developer guide, check out our NodeJs Developer Guide.
Alternatively keep reading below.
- Minimum NodeJs v8 (npm v5 and above)
- Working on NodeJs v18
- Free or Paid account with CurrencyApi.net
- 100% coverage
npm install currencyapi-node
then include the package with:
const CurrencyApi = require('./currencyapi-node')
const currency = new CurrencyApi('API_KEY');
const result = await currency.rates().get()
or
currency.rates().get()
.then(console.log)
Example with all available methods (methods can be chained):
const result = await currency
.rates()
.base('USD')
.output('JSON')
.get()
Available methods for rates endpoint
Methods | Description |
---|---|
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. |
const result = await currency.currencies().get()
Example with all available methods:
const result = await currency
.currencies()
.output('XML')
.get()
Available methods for currencies endpoint
Methods | Description |
---|---|
output() |
Response output in either JSON or XML. Default: JSON. |
const result = await currency
.convert()
.from('BTC')
.to('USD')
.amount(100)
.get()
Available methods for convert endpoint
Methods | Description |
---|---|
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. |
const result = await currency.history().date('2019-01-01').get()
Example with all available methods:
const result = await currency
.history()
.date('2019-01-01')
.base('GBP')
.output('JSON')
.get()
Available methods for historical endpoint
Methods | Description |
---|---|
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. |
const result = await currency.timeframe().startDate('2019-01-01').endDate('2019-01-05').get()
Example with all available methods:
const result = await currency
.timeframe()
.startDate('2019-01-01')
.endDate('2019-01-05')
.base('GBP')
.output('JSON')
.get()
Available methods for timeframe endpoint
Methods | Description |
---|---|
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. |