Frankfurter is a free and open-source currency data API that tracks reference exchange rates published by institutional and non-commercial sources like the European Central Bank. Check the website for a detailed walkthrough.
The API is publicly available at https://api.frankfurter.dev.
The simplest way to run Frankfurter locally is with Docker:
docker run -d -p 80:8080 lineofflight/frankfurter
Once the container is running, open your browser and go to http://localhost
.
Cloud Provider | Deploy Button |
---|---|
AWS | |
DigitalOcean | |
Render |
Generated by DeployStack.io
- beancount-exchangerates: a Beancount price source plugin using this API
- frankfurte-rs: Rust library and CLI to interface with this API
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.
- Migrate to SQLite
- Add API versioning in path
- Multiple Data Sources
- Add GraphQL endpoint
- Deploy as a blockchain oracle
If you notice a currency missing from our data, please open an issue and include a suggested source with the missing data. We're looking for non-commercial sources like the European Central Bank that publish current and historical daily rates at the end of each working day.