Currency convertor
Find a file
BadMark d0a43e357a
Some checks failed
CI/CD Pipeline / test (push) Has been cancelled
CI/CD Pipeline / publish (push) Has been cancelled
CI/CD Pipeline / release (push) Has been cancelled
up
2026-05-21 01:38:14 -06:00
.agents/skills up 2026-05-21 01:38:14 -06:00
.claude up 2026-05-21 01:38:14 -06:00
.github up 2026-05-21 01:38:14 -06:00
bin up 2026-05-21 01:38:14 -06:00
config up 2026-05-21 01:38:14 -06:00
db up 2026-05-21 01:38:14 -06:00
lib up 2026-05-21 01:38:14 -06:00
spec up 2026-05-21 01:38:14 -06:00
.dockerignore up 2026-05-21 01:38:14 -06:00
.gitignore up 2026-05-21 01:38:14 -06:00
.irbrc up 2026-05-21 01:38:14 -06:00
.rubocop.yml up 2026-05-21 01:38:14 -06:00
.rubocop_todo.yml up 2026-05-21 01:38:14 -06:00
AGENTS.md up 2026-05-21 01:38:14 -06:00
boot.rb up 2026-05-21 01:38:14 -06:00
CHANGELOG.md up 2026-05-21 01:38:14 -06:00
CLAUDE.md up 2026-05-21 01:38:14 -06:00
config.ru up 2026-05-21 01:38:14 -06:00
Dockerfile up 2026-05-21 01:38:14 -06:00
Gemfile up 2026-05-21 01:38:14 -06:00
Gemfile.lock up 2026-05-21 01:38:14 -06:00
LICENSE up 2026-05-21 01:38:14 -06:00
mise.toml up 2026-05-21 01:38:14 -06:00
Procfile up 2026-05-21 01:38:14 -06:00
Rakefile up 2026-05-21 01:38:14 -06:00
README.md first commit 2026-05-21 01:38:00 -06:00

Frankfurter

Frankfurter is an open-source currency data API that tracks daily exchange rates from institutional sources.

Deployment

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

Using Docker

The quickest way to get started:

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

For 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 BAM_API_KEY=your_key \
  -e BANXICO_API_KEY=your_key \
  -e BCCH_USER=your_email \
  -e BCCH_PASS=your_password \
  -e BOT_API_KEY=your_key \
  -e FRED_API_KEY=your_key \
  -e TCMB_API_KEY=your_key \
  -v ./data:/app/data \
  --pull always \
  lineofflight/frankfurter

Without a mounted volume, the database is ephemeral and some endpoints may return empty data until their initial backfill completes.

Some data providers require API keys. All are free and optional:

Contributing

See AGENTS.md for development setup and guidelines.

Built a library or tool with Frankfurter? Share it in Show and Tell