Swap allows you to retrieve currency exchange rates from various services such as Fixer, Currency Data or Exchange Rates Data and optionally cache the results.
![]() |
Fixer is a simple and lightweight API for foreign exchange rates that supports up to 170 world currencies. |
![]() |
Currency Data provides reliable exchange rates and currency conversions for your business up to 168 world currencies. |
![]() |
Exchange Rates Data provides reliable exchange rates and currency conversions for your business with over 15 data sources. |
$ composer require php-http/curl-client nyholm/psr7 php-http/message florianv/laravel-swapIf you use cache, add also PSR-6 adapter and PSR-16 bridge cache dependencies :
$ composer require cache/illuminate-adapter cache/simple-cache-bridgeThese dependencies are not required with Laravel 5.8 or greater which implements PSR-16.
If you don't use auto-discovery, add the ServiceProvider to the providers array in config/app.php:
// /config/app.php
'providers' => [
Swap\Laravel\SwapServiceProvider::class
],If you want to use the facade to log messages, add this to your facades in app.php:
'aliases' => [
'Swap' => Swap\Laravel\Facades\Swap::class
]
Copy the package config to your local config with the publish command:
$ php artisan vendor:publish --provider="Swap\Laravel\SwapServiceProvider"Configure the Service Provider and alias:
// /boostrap/app.php
// Register the facade
$app->withFacades(true, [
Swap\Laravel\Facades\Swap::class => 'Swap'
]);
// Load the configuration
$app->configure('swap');
// Register the service provider
$app->register(Swap\Laravel\SwapServiceProvider::class);Copy the configuration to /config/swap.php if you wish to override it.
// Get the latest EUR/USD rate
$rate = Swap::latest('EUR/USD');
// 1.129
$rate->getValue();
// 2016-08-26
$rate->getDate()->format('Y-m-d');
// Get the EUR/USD rate yesterday
$rate = Swap::historical('EUR/USD', Carbon\Carbon::yesterday());The complete documentation can be found here.
Here is the list of the currently implemented services:
| Service | Base Currency | Quote Currency | Historical |
|---|---|---|---|
| Fixer | EUR (free, no SSL), * (paid) | * | Yes |
| Currency Data | USD (free), * (paid) | * | Yes |
| Exchange Rates Data | USD (free), * (paid) | * | Yes |
| Abstract | * | * | Yes |
| coinlayer | * Crypto (Limited standard currencies) | * Crypto (Limited standard currencies) | Yes |
| Fixer | EUR (free, no SSL), * (paid) | * | Yes |
| currencylayer | USD (free), * (paid) | * | Yes |
| exchangeratesapi | USD (free), * (paid) | * | Yes |
| European Central Bank | EUR | * | Yes |
| National Bank of Georgia | * | GEL | Yes |
| National Bank of the Republic of Belarus | * | BYN (from 01-07-2016), BYR (01-01-2000 - 30-06-2016), BYB (25-05-1992 - 31-12-1999) |
Yes |
| National Bank of Romania | RON, AED, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EGP, EUR, GBP, HRK, HUF, INR, JPY, KRW, MDL, MXN, NOK, NZD, PLN, RSD, RUB, SEK, TRY, UAH, USD, XAU, XDR, ZAR | RON, AED, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EGP, EUR, GBP, HRK, HUF, INR, JPY, KRW, MDL, MXN, NOK, NZD, PLN, RSD, RUB, SEK, TRY, UAH, USD, XAU, XDR, ZAR | Yes |
| National Bank of Ukranie | * | UAH | Yes |
| Central Bank of the Republic of Turkey | * | TRY | Yes |
| Central Bank of the Republic of Uzbekistan | * | UZS | Yes |
| Central Bank of the Czech Republic | * | CZK | Yes |
| Central Bank of Russia | * | RUB | Yes |
| Bulgarian National Bank | * | BGN | Yes |
| WebserviceX | * | * | No |
| 1Forge | * (free but limited or paid) | * (free but limited or paid) | No |
| Cryptonator | * Crypto (Limited standard currencies) | * Crypto (Limited standard currencies) | No |
| CurrencyDataFeed | * (free but limited or paid) | * (free but limited or paid) | No |
| Open Exchange Rates | USD (free), * (paid) | * | Yes |
| Xignite | * | * | Yes |
| Currency Converter API | * | * | Yes (free but limited or paid) |
| xChangeApi.com | * | * | Yes |
| fastFOREX.io | USD (free), * (paid) | * | No |
| exchangerate.host | * | * | Yes |
| Array | * | * | Yes |
The MIT License (MIT). Please see LICENSE for more information.



