Currency exchange rates library for Laravel and Lumen

2.1.0 2019-10-10 14:48 UTC

This package is auto-updated.

Last update: 2020-01-14 06:49:56 UTC


Build status Total Downloads Scrutinizer Version

Swap allows you to retrieve currency exchange rates from various services such as Fixer or currencylayer and optionally cache the results.



$ composer require php-http/curl-client nyholm/psr7 php-http/message florianv/laravel-swap

Laravel 5.7 or lesser

If you use cache, add also PSR-6 adapter and PSR-16 bridge cache dependencies :

$ composer require cache/illuminate-adapter cache/simple-cache-bridge

These dependencies are not required with Laravel 5.8 or greater which implements PSR-16.

Laravel 5.5+

If you don't use auto-discovery, add the ServiceProvider to the providers array in config/app.php:

// /config/app.php
'providers' => [

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

// Register the service provider

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

// 2016-08-26

// Get the EUR/USD rate yesterday
$rate = Swap::historical('EUR/USD', Carbon\Carbon::yesterday());


The complete documentation can be found here.

Sponsors 😍

We are proudly supported by the following echange rate providers offering free plans up to 1,000 requests per day:

68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f737761702e6173736574732f66697865725f69636f6e2e706e673f763d32 Fixer

Fixer is a simple and lightweight API for foreign exchange rates that supports up to 170 world currencies. They provide real-time rates and historical data, however, EUR is the only available base currency on the free plan.

68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f737761702e6173736574732f63757272656e63796c617965725f69636f6e2e706e67 currencylayer

Currencylayer provides reliable exchange rates and currency conversions for your business up to 168 world currencies. They provide real-time rates and historical data, however, USD is the only available base currency on the free plan.


Here is the list of the currently implemented services:

Service Base Currency Quote Currency Historical
Fixer EUR (free, no SSL), * (paid) * Yes
currencylayer USD (free), * (paid) * Yes
European Central Bank EUR * Yes
National Bank of Romania RON * Yes
Central Bank of the Republic of Turkey * TRY Yes
Central Bank of the Czech Republic * CZK Yes
Central Bank of Russia * RUB 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)
Array * * Yes



The MIT License (MIT). Please see LICENSE for more information.