Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
165 lines (164 sloc) 5.55 KB
---
layout: default
title: Currency data API
description: >
A free, open-source API for current and historical foreign exchange rates, currency conversion and time series.
---
<section class="hero is-medium is-light">
<div class="hero-body">
<div class="container">
<div class="columns is-vcentered">
<div class="column is-6">
<h1 class="title">
<strong>Frankfurter</strong> is a free, open-source <strong>currency data API</strong> that tracks <strong>reference exchange rates</strong> published by the European Central Bank.
</h1>
<div class="columns">
<div class="column">
<a class="button is-link is-large is-fullwidth" href="/docs">
Get started
</a>
</div>
<div class="column">
<a class="button is-link is-large is-fullwidth is-outlined" href="//github.com/hakanensari/frankfurter" target="_blank">
View source code
</a>
</div>
</div>
</div>
<div class="column is-offset-1 is-5 content">
<!--googleoff: index-->
<pre class="snippet"><code class="js">
// Click or touch here to run the code
const host = 'frankfurter.app';
fetch(`https://${host}/latest`)
.then(res => res.json())
.then((data) => {
alert(JSON.stringify(data, null, 4));
});
</code></pre>
<!--googleon: index-->
</div>
</div>
</div>
</div>
</section>
<section class="proof section has-background-dark">
<div class="container">
<div class="columns">
<div class="column is-2 is-offset-1 has-text-centered-mobile">
<p class="image container is-128x128">
<img class="is-rounded" src="https://avatars1.githubusercontent.com/u/31693" alt="">
</p>
</div>
<div class="column is-8 has-text-white">
<div class="content is-size-5">
<p>
I have been using Frankfurter for several years now to enable multi-currency ecommerce in web apps. It's close enough to the perfect microservice—lightweight, reusable, easy to set up if you prefer to deploy privately.
</p>
<p>
<a class="has-text-white" href="//github.com/hakanensari">
<strong class="has-text-white">Hakan Ensari</strong>
</a>
</p>
</div>
</div>
</div>
</div>
</section>
<section class="section content is-medium has-text-centered">
<div class="container">
<div class="columns">
<div class="column is-offset-1 is-10">
<p class="title">
Why Frankfurter
</p>
<p class="has-text-left">
Frankfurter (formerly <a href="//web.archive.org/web/20180305161411/http://fixer.io/" rel="nofollow">Fixer</a>) is an open-source API for current and historical foreign exchange rates published daily by the European Central Bank. It does not require an API key or limit access. It's a perfect match for web and mobile apps where you do not want to expose keys and generate individual hits from many clients.
</p>
</div>
</div>
<br>
<div class="columns is-size-6">
<div class="column">
<p class="title">
<i class="fal fa-chart-bar"></i>
</p>
<p class="subtitle">
Powerful API
</p>
<p>
Fetch current and historical rates. Download time series for any date range.
</p>
</div>
<div class="column">
<p class="title">
<i class="fal fa-server"></i>
</p>
<p class="subtitle">
Deploy anywhere
</p>
<p>
Use our free hosted service. Self-host with Docker. One-click deploy to Heroku.
</p>
</div>
<div class="column">
<p class="title">
<i class="fal fa-bullseye-arrow"></i>
</p>
<p class="subtitle">
Robust
</p>
<p>
Battle-tested by thousands of developers since 2012.
HTTPS by default.
</p>
</div>
</div>
<a class="button is-medium is-text has-text-link" href="/docs">
<span>Get Started</span>
<span class="icon">
<i class="fal fa-arrow-right"></i>
</span>
</a>
<div class="example">
<div class="columns has-text-left is-vcentered">
<div class="column is-4 is-offset-1">
<p>
<span class="fromText has-text-grey"></span>
<br>
<span class="toText title"></span>
</p>
<div class="field is-grouped">
<p class="control is-expanded">
<input class="from input" type="text">
</p>
<p class="control">
<span class="select is-link">
<select class="from" name="from">
</select>
</span>
</p>
</div>
<div class="to field is-grouped">
<p class="control is-expanded">
<input class="to input" type="text">
</p>
<p class="control">
<span class="select is-link">
<select class="to" name="to">
</select>
</span>
</p>
</div>
</div>
<div class="column is-5 is-offset-1">
<canvas class="chart"></canvas>
</div>
</div>
<p class="is-size-6">
<em>Example app built with Frankfurter</em>
</p>
</div>
</div>
</section>
<script async src="/javascripts/quote.js"></script>
You can’t perform that action at this time.