forexrateapi / forexrateapi-php
Official PHP wrapper for ForexRateAPI.com - Foreign exchange rate API and currency conversion API
1.3.0
2026-02-25 13:32 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
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();
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']);
fetchHistorical($date, $base, $currencies)
$date<string> Required. Pass in a string with formatYYYY-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']);
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 formatYYYY-MM-DD.$endDate<string> Required. Specify the end date using the formatYYYY-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);
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 formatYYYY-MM-DD.$dateType<string> Optional. Pass in a date type, overrides date parameter if passed in.
$client->ohlc('USD', 'EUR', '2024-02-05', null);
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 formatYYYY-MM-DD. Otherwise, it will use live exchange rate date if value not passed in.
$client->convert('USD', 'EUR', 100, '2024-02-05');
timeframe($startDate, $endDate, $base, $currencies)
$startDate<string> Required. Specify the start date of your timeframe using the formatYYYY-MM-DD.$endDate<string> Required. Specify the end date of your timeframe using the formatYYYY-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']);
change($startDate, $endDate, $base, $currencies, $dateType)
$startDate<string> Required. Specify the start date of your timeframe using the formatYYYY-MM-DD.$endDate<string> Required. Specify the end date of your timeframe using the formatYYYY-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);
usage()
$client->usage();
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.