How to get live (spot) forex rate using API in Node.js?

< Back to Guides

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. To get live forex rate using Javascript, we offer three sample code snippets using different method. We offer an offical client library for Node.js. We recommend using the client library. Alternatives includes using the code snippets below using Axios, Native, Request, and Unirest.

For the pure Javascript tutorial, please check out this link.

Instructions

  1. Get a free API key to use by signing up at forexrateapi.com and replace REPLACE_ME with your API key.
  2. Update base value to a currency or remove this query param.
  3. Update currencies value to a list of values or remove this query param. Below is an example usage for foreign exchange conversion API in use.

For 2 and 3, you can find this documented at Offical Documentation

 

Using Offical ForexRateAPI library to fetch live forex rate in Node.js

See more here GitHub Library

await api.fetchLive('USD', ['EUR', 'JPY', 'CAD']);

 

Using Axios to fetch live forex rate in Node.js

var axios = require('axios');

var config = {
  method: 'get',
  url: 'https://api.forexrateapi.com/v1/latest?api_key=REPLACE_ME&base=USD&currencies=EUR,JPY,CAD',
  headers: { }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

 

Using Native to fetch live forex rate in Node.js

var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'GET',
  'hostname': 'api.forexrateapi.com',
  'path': '/v1/latest?api_key=REPLACE_ME&base=USD&currencies=EUR,JPY,CAD',
  'headers': {
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

req.end();

 

Using Request to fetch live forex rate in Node.js

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.forexrateapi.com/v1/latest?api_key=REPLACE_ME&base=USD&currencies=EUR,JPY,CAD',
  'headers': {
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

 

Using Unirest to fetch live forex rate in Node.js

var unirest = require('unirest');
var req = unirest('GET', 'https://api.forexrateapi.com/v1/latest?api_key=REPLACE_ME&base=USD&currencies=EUR,JPY,CAD')
  .end(function (res) {
    if (res.error) throw new Error(res.error);
    console.log(res.raw_body);
  });