Frankfurter is a free and open-source currency data API that tracks reference exchange rates published by the European Central Bank.
Check the website for a detailed walkthrough.
The simplest way to run Frankfurter is with Docker:
docker run -d -p 8080:8080 \
-e "DATABASE_URL=<postgres_url>" \
--name frankfurter lineofflight/frankfurter
For a complete setup including PostgreSQL:
- Copy the docker-compose.yml file
- Run:
docker compose up --wait
Frankfurter is built with Ruby. To contribute:
- Fork.
- Install dependencies with
bundle install
. - Run tests with
bundle exec rake
. - Push your changes to a feature branch.
- Open a pull request.
-
Infrastructure
- Migrate from PostgreSQL to SQLite for simpler deployment.
- Add API versioning in URL path.
-
Data Sources
- Add support for multiple data providers.
- IMF
- Other central banks
- Add support for multiple data providers.
-
Features
- Add GraphQL endpoint.
- Deploy as a blockchain oracle.