This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Exchange rates library for PHP

3.1.0 2017-03-27 05:29 UTC



Currency exchange rates library for PHP

Build status Total Downloads Scrutinizer Version

Swap allows you to retrieve currency exchange rates from various services such as Fixer or Yahoo and optionally cache the results. It is integrated to other libraries like moneyphp/money and provides a Symfony Bundle and a Laravel Package.


$ composer require florianv/swap php-http/message php-http/guzzle6-adapter
use Swap\Builder;

// Build Swap with
$swap = (new Builder())
// Get the latest EUR/USD rate
$rate = $swap->latest('EUR/USD');

// 1.129

// 2016-08-26

// Get the EUR/USD rate 15 days ago
$rate = $swap->historical('EUR/USD', (new \DateTime())->modify('-15 days'));


The complete documentation can be found here.


Here is the list of the currently implemented services.

Service Base Currency Quote Currency Historical
Fixer * * Yes
European Central Bank EUR * Yes
Google * * No
Open Exchange Rates USD (free), * (paid) * Yes
Xignite * * Yes
Yahoo * * No
WebserviceX * * No
National Bank of Romania RON * No
Central Bank of the Republic of Turkey * TRY No
Central Bank of the Czech Republic * CZK No
Russian Central Bank * RUB Yes
currencylayer USD (free), * (paid) * Yes




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