forexrateapi/forexrateapi-php

Official PHP wrapper for ForexRateAPI.com - Foreign exchange rate API and currency conversion API

Maintainers

Package info

github.com/forexrateapi/forexrateapi-php

Homepage

pkg:composer/forexrateapi/forexrateapi-php

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.3.0 2026-02-25 13:32 UTC

This package is auto-updated.

Last update: 2026-04-25 18:18:50 UTC


README

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

Composer

$ composer require forexrateapi/forexrateapi-php

Usage

use ForexRateAPI\Client;

$client = new Client('SET_YOUR_API_KEY_HERE');
$result = $client->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
use ForexRateAPI\Client;

// Default (US)
$client = new Client('SET_YOUR_API_KEY_HERE');

// Europe
$client = new Client('SET_YOUR_API_KEY_HERE', Client::BASE_URL_EU);

setServer

You can switch server regions at runtime using the setServer method:

$client = new Client('SET_YOUR_API_KEY_HERE');

// Switch to EU server
$client->setServer('eu');

// Switch back to US server
$client->setServer('us');

Documentation

fetchSymbols()

$client->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.
$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, $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.
$client->hourly('USD', 'EUR', '2024-02-05', '2024-02-05', null, null);

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 get OHLC for specific date using format YYYY-MM-DD.
  • $dateType <string> Optional. Pass in a date type, overrides date parameter if passed in.
$client->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.
$client->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.
$client->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.
$client->change('2024-02-05', '2024-02-06', 'USD', ['AUD', 'CAD', 'GBP', 'JPY'], null);

Link

usage()

$client->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.