The public API runs at api.frankfurter.dev. If you prefer to host your own instance, you can run Frankfurter with Docker.

Quick Start

The quickest way to get started:

docker run -d -p 8080:8080 lineofflight/frankfurter

This starts Frankfurter on port 8080 with an ephemeral database. Some endpoints may return empty data until their initial backfill completes.

Production

For production, mount a volume to persist the SQLite database 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

Without a mounted volume, the database is ephemeral and rebuilds on each restart.

API Keys

Two data providers require API keys. Both are free and optional.

docker run -d -p 8080:8080 \
  -e DATABASE_URL=sqlite:///app/data/frankfurter.sqlite3 \
  -e FRED_API_KEY=your_key \
  -e TCMB_API_KEY=your_key \
  -v ./data:/app/data \
  --pull always \
  lineofflight/frankfurter
FRED_API_KEY
Federal Reserve data. Register at fred.stlouisfed.org.
TCMB_API_KEY
Turkish Central Bank data. Register at evds3.tcmb.gov.tr.