Frankfurter is an open-source currency data API that tracks daily exchange rates from institutional sources.
The public API runs at https://api.frankfurter.dev. If you prefer to host your own instance, you can run Frankfurter with Docker.
The quickest way to get started:
docker run -d -p 8080:8080 lineofflight/frankfurterFor production, mount a volume to persist the SQLite database across container restarts and set any optional API keys:
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/frankfurterWithout a mounted volume, the database is ephemeral and some endpoints may return empty data until their initial backfill completes.
Two data providers require API keys. Both are free and optional:
FRED_API_KEY— Federal Reserve data. Register at fred.stlouisfed.org.TCMB_API_KEY— Turkish Central Bank data. Register at evds3.tcmb.gov.tr.
See AGENTS.md for development setup and guidelines.
Built a library or tool with Frankfurter? Share it in Show and Tell