Skip to content

Currency exchange rates library | Official Node.js API wrapper for ForexRateAPI

License

Notifications You must be signed in to change notification settings

forexrateapi/forexrateapi-nodejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ForexRateAPI

forexrateapi is the official Node.js wrapper for ForexRateAPI.com. This allows you to quickly integrate our foreign exchange rate API and currency conversion API into your application. Check https://forexrateapi.com documentation for more information.

Installation

NPM

$ npm i forexrateapi

Usage

const api = require('forexrateapi');

api.setAPIKey('SET_YOUR_API_KEY_HERE');
await api.fetchLive('USD', ['AUD', 'CAD', 'GBP', 'JPY']);

Server Regions

ForexRateAPI provides two regional endpoints. Choose the one closest to your servers for optimal performance.

Region Base URL
United States (default) https://api.forexrateapi.com/v1
Europe https://api-eu.forexrateapi.com/v1
api.setAPIKey('SET_YOUR_API_KEY_HERE');

// Default is US server
// Switch to EU server:
api.setServer('eu');

Documentation

setAPIKey(apiKey)

In order to use this library, you must first call this function with an API key.

api.setAPIKey('SET_YOUR_API_KEY_HERE');

setServer(server)

  • server <string> Pass 'eu' to use the EU server (api-eu.forexrateapi.com), or 'us' for the US server. Defaults to US if not specified.
api.setServer('eu');

fetchSymbols()

await api.fetchSymbols();

Link


fetchLive(base, currencies, math)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <Array<string>> Optional. Pass in an array of currencies to return values for.
  • math <string> Optional. Pass in a math expression to apply to the rates.
await api.fetchLive('USD', ['AUD', 'CAD', 'GBP', 'JPY']);

Link


fetchHistorical(date, base, currencies)

  • date <string> Required. Pass in a string with format YYYY-MM-DD
  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <Array<string>> Optional. Pass in an array of currencies to return values for.
await api.fetchHistorical('2024-02-05', 'USD', ['AUD', 'CAD', 'GBP', 'JPY']);

Link


hourly(base, currency, startDate, endDate, math, dateType)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currency <string> Required. Specify currency you would like to get hourly rates for.
  • startDate <string> Required. Specify the start date using the format YYYY-MM-DD.
  • endDate <string> Required. Specify the end date using the format YYYY-MM-DD.
  • math <string> Optional. Pass in a math expression to apply to the rates.
  • dateType <string> Optional. Pass in a date type, overrides date parameters if passed in.
await api.hourly('USD', 'EUR', '2024-02-05', '2024-02-05');

Link


ohlc(base, currency, date, dateType)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currency <string> Required. Specify currency you would like to get OHLC for.
  • date <string> Required. Specify date to use historical midpoint value for conversion with format YYYY-MM-DD. Otherwise, it will use live exchange rate date if value not passed in.
  • dateType <string> Optional. Pass in a date type, overrides date parameter if passed in.
await api.ohlc('USD', 'EUR', '2024-02-05', null);

Link


convert(from, to, amount, date)

  • from <string> Optional. Pass in a base currency, defaults to USD.
  • to <string> Required. Specify currency you would like to convert to.
  • amount <number> Required. The amount to convert.
  • date <string> Optional. Specify date to use historical midpoint value for conversion with format YYYY-MM-DD. Otherwise, it will use live exchange rate date if value not passed in.
await api.convert('USD', 'EUR', 100, '2024-02-05');

Link


timeframe(startDate, endDate, base, currencies)

  • startDate <string> Required. Specify the start date of your timeframe using the format YYYY-MM-DD.
  • endDate <string> Required. Specify the end date of your timeframe using the format YYYY-MM-DD.
  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <Array<string>> Optional. Pass in an array of currencies to return values for.
await api.timeframe('2024-02-05', '2024-02-06', 'USD', ['AUD', 'CAD', 'GBP', 'JPY']);

Link


change(startDate, endDate, base, currencies, dateType)

  • startDate <string> Required. Specify the start date of your timeframe using the format YYYY-MM-DD.
  • endDate <string> Required. Specify the end date of your timeframe using the format YYYY-MM-DD.
  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <Array<string>> Optional. Pass in an array of currencies to return values for.
  • dateType <string> Optional. Pass in a date type, overrides date parameters if passed in.
await api.change('2024-02-05', '2024-02-06', 'USD', ['AUD', 'CAD', 'GBP', 'JPY']);

Link


usage()

await api.usage();

Link


Official documentation


FAQ

  • How do I get an API Key?

    Free API Keys are available here.

  • I want more information

    Checkout our FAQs here.

Support

For support, get in touch using this form.

About

Currency exchange rates library | Official Node.js API wrapper for ForexRateAPI

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors