TypeScript icon, indicating that this package has built-in type declarations

4.0.0 • Public • Published

Euro Exchange Rates by ECB

Actions Status codecov npm version

Retrieve Euro foreign exchange reference rates from an API provided by the European Central Bank. This module is intended to run on the server via Node.js, not in the browser.

The API provides exchange rates updated daily for the following currencies:

  • USD: US dollar
  • JPY: Japanese yen
  • BGN: Bulgarian lev
  • CZK: Czech koruna
  • DKK: Danish krone
  • GBP: Pound sterling
  • HUF: Hungarian forint
  • PLN: Polish zloty
  • RON: Romanian leu
  • SEK: Swedish krona
  • CHF: Swiss franc
  • ISK: Icelandic krona
  • NOK: Norwegian krone
  • HRK: Croatian kuna
  • RUB: Russian rouble
  • TRY: Turkish lira
  • AUD: Australian dollar
  • BRL: Brazilian real
  • CAD: Canadian dollar
  • CNY: Chinese yuan renminbi
  • HKD: Hong Kong dollar
  • IDR: Indonesian rupiah
  • ILS: Israeli shekel
  • INR: Indian rupee
  • KRW: South Korean won
  • MXN: Mexican peso
  • MYR: Malaysian ringgit
  • NZD: New Zealand dollar
  • PHP: Philippine piso
  • SGD: Singapore dollar
  • THB: Thai baht
  • ZAR: South African rand


$ yarn add ecb-euro-exchange-rates


TS typings are available and you’ll get auto-completion for the supported currencies.

import * as exchangeRates from 'ecb-euro-exchange-rates';

const result = await exchangeRates.fetch();
console.log('Last update: ' + result.time);
console.log('USD: ' + result.rates.USD);

Historic rates are available via fetchHistoric90d (fetches previous 90 days) and fetchHistoric (fetches all rates back to 1999).


Use Volta.

Install NPM dependencies with yarn.

To execute the tests, run yarn test.

For the best development experience, make sure that your editor supports ESLint and EditorConfig.

Linting of code and commit message happens on commit via Husky.

Releasing to NPM

Commit all changes and run the following:

$ npm login
$ yarn version --<update_type>
$ npm publish

… where <update_type> is one of patch, minor, or major. This will update the package.json, and create a tagged Git commit with the version number.


Pull requests are very welcome. Feel free to discuss bugs or new features by opening a new issue.

Copyright Philipp Katz, LineUpr GmbH, 2018 – 2024

Package Sidebar


npm i ecb-euro-exchange-rates

Weekly Downloads






Unpacked Size

10.7 kB

Total Files


Last publish


  • qqilihq