0.0
The project is in a healthy, maintained state
Official ForexRateAPI Ruby client.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 1.0, >= 1.0.0
 Project Readme

ForexRateAPI

forexrateapi is the official Ruby 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

Add to Gemfile.

gem 'forexrateapi'

Usage

api_key = 'SET_YOUR_API_KEY_HERE'
client = ForexRateAPI::Client.new(api_key: api_key)

# Or use EU server:
# client = ForexRateAPI::Client.new(api_key: api_key, server: 'eu')

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
# Default (US)
client = ForexRateAPI::Client.new(api_key: 'SET_YOUR_API_KEY_HERE')

# Europe
client = ForexRateAPI::Client.new(api_key: 'SET_YOUR_API_KEY_HERE', server: 'eu')

Documentation

fetchSymbols()

client.fetchSymbols()

Link


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.
client.setServer('eu')

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.
client.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.
client.fetchHistorical('2024-02-05', 'USD', ['AUD', 'CAD', 'GBP', 'JPY'])

Link


hourly(base, currency, start_date, end_date, math, date_type)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currency <string> Required. Specify currency you would like to get hourly rates for.
  • start_date <string> Required. Specify the start date using the format YYYY-MM-DD.
  • end_date <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.
  • date_type <string> Optional. Pass in a date type, overrides date parameters if passed in.
client.hourly('USD', 'EUR', '2024-02-05', '2024-02-05')

Link


ohlc(base, currency, date, date_type)

  • 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 get OHLC for specific date using format YYYY-MM-DD.
  • date_type <string> Optional. Pass in a date type, overrides date parameter if passed in.
client.ohlc('USD', 'EUR', '2024-02-05', nil)

Link


convert(from_currency, to_currency, amount, date)

  • from_currency <string> Optional. Pass in a base currency, defaults to USD.
  • to_currency <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.
client.convert('USD', 'EUR', 100, '2024-02-05')

Link


timeframe(start_date, end_date, base, currencies)

  • start_date <string> Required. Specify the start date of your timeframe using the format YYYY-MM-DD.
  • end_date <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.
client.timeframe('2024-02-05', '2024-02-06', 'USD', ['AUD', 'CAD', 'GBP', 'JPY'])

Link


change(start_date, end_date, base, currencies, date_type)

  • start_date <string> Required. Specify the start date of your timeframe using the format YYYY-MM-DD.
  • end_date <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.
  • date_type <string> Optional. Pass in a date type, overrides date parameters if passed in.
client.change('2024-02-05', '2024-02-06', 'USD', ['AUD', 'CAD', 'GBP', 'JPY'])

Link


usage()

client.usage()

Link


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.