Skip to content

lineofflight/frankfurter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

580 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frankfurter

Build

Frankfurter is a free and open-source currency data API that tracks reference exchange rates published by central banks.

The API is publicly available at https://api.frankfurter.dev.

Deployment

Using Docker

docker run -d -p 8080:8080 \
  -e FRED_API_KEY=your_key \
  -e TCMB_API_KEY=your_key \
  --pull always \
  lineofflight/frankfurter

Both API keys are optional. The app runs without them.

  • FRED_API_KEY enables Federal Reserve (FRED) data. Register at fred.stlouisfed.org for a free key.
  • TCMB_API_KEY enables Turkish Central Bank data. Register at evds3.tcmb.gov.tr for a free key.

Data is fetched asynchronously on startup, so some endpoints may return empty results briefly until the initial backfill completes. To avoid this, you can mount a volume to persist data across container restarts:

docker run -d -p 8080:8080 \
  -e DATABASE_URL=sqlite:///app/data/frankfurter.sqlite3 \
  -v ./data:/app/data \
  --pull always \
  lineofflight/frankfurter

One-Click Deploy

Cloud Provider Deploy Button
AWS
DigitalOcean
Render

Generated by DeployStack.io

Libraries / Tools

Contributing

Frankfurter is built with Ruby. To contribute:

  1. Fork.
  2. Install dependencies with bundle install.
  3. Run tests with APP_ENV=test bundle exec rake.
  4. Push your changes to a feature branch.
  5. Open a pull request.

Roadmap

  • Migrate to SQLite
  • Add API versioning in path
  • Multiple data providers (ECB, BOC, TCMB)
  • v2 API with normalized response format
  • Deploy as a blockchain oracle