Open Source Alternatives
  • Alternatives
  • Categories
    Categories by size1,263 projects
    • Developer Tools650
    • AI & Machine Learning535
    • Business & Productivity305
    • Web Development217
    • Security & Monitoring196
    • Communication & Collaboration168
    • IT Management160
    • Design & Creative138
    • DevOps & CI/CD135
    • LLMOps & AI Tooling135
    Browse all 21 categoriesCloud & Hosting, Product & Project Management and 9 more
  • Blog
  • Advertise
SearchNotion, Slack, password manager.../
Submit
Open Source Alternatives
  • Alternatives
    • Developer Tools650
    • AI & Machine Learning535
    • Business & Productivity305
    • Web Development217
    • Security & Monitoring196
    • Communication & Collaboration168
    • Browse all 21 categories
  • Blog
  • Advertise
Submit your project

New open source projects by email

The projects we add and every new guide. Free, unsubscribe any time.

Open Source Alternatives LogoOpen Source Alternatives

Handpicked Open Source Alternatives to Paid Softwares

Add Open Source Alternatives as a preferred source on Google

Product

  • Categories
  • Tag
  • Advertise

Resources

  • Blog
  • Collection
  • Submit

Company

  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Sitemap

Alternatives

  • Claude Code
  • Jira
  • Notion
  • Slack
  • Linear
  • Wispr Flow
  • All alternatives
© 2026 Open Source Alternatives. All rights reserved.
Open SourceAlternatives
Home/Categories/APIs & Integration/Frankfurter
icon of Frankfurter

Frankfurter

Open source alternative to Open Exchange Rates, Fixer, CurrencyAPI, Currencylayer and Exchange Rates API

  • 2.1K stars
  • MIT
  • Active this week
  • Last commit 2 days ago

Last verified Nov 15, 2026

Serve exchange rate data for 219 currencies from 111 central banks, with daily history back to 1948 and no API key required.

Visit websiteGitHub2.1K starsDeploy on Hostinger
image of Frankfurter
TL;DR

Frankfurter is an open source MIT-licensed exchange rate API that provides reference rates for 219 currencies from 111 central banks and official sources, with daily history back to 1948. It replaces paid services like Open Exchange Rates, Fixer, and Currencylayer, delivering the same data at zero cost with no API key required. Self-hosting via Docker gives teams that need data ownership or higher reliability a path off the managed dependency. Best for SaaS billing, e-commerce pricing, tax reporting, ERP systems, and academic research; not suited for live forex trading or exotic currencies.

Read the full breakdownHide the full breakdownWho it is for, how it works, trade-offs, the quick start and the FAQ
who it's for

Who Frankfurter is for#

SaaS teams billing in multiple currencies

Frankfurter provides accurate daily mid-market reference rates for invoice generation, revenue reporting, and financial analytics. The historical feed goes back to 1948, covering any period a finance team is likely to query.

Skip if:

Skip if your billing system needs real-time rates updated faster than once per day, or if your pricing requires bid/ask spreads rather than mid-market references.

E-commerce developers displaying localized prices

Fetch rates once daily and cache them locally to show prices in a visitor's currency without per-request API fees. Frankfurter explicitly encourages storing daily observations locally for caching and analytics, keeping API traffic light.

Skip if:

Skip if you are in a jurisdiction where import pricing requires the central bank's official declared rate on the transaction date, and that rate is not among Frankfurter's 111 sources.

Researchers analyzing historical exchange rate data

The daily history back to 1948 and the time-series endpoint with grouping by week or month make it straightforward to analyze decades of monetary history. NDJSON streaming keeps memory usage low for large date range requests.

Skip if:

Skip if you need intraday data, since Frankfurter returns daily observations only from most providers.

Backend developers who need a simple currency layer

The public API requires no authentication, no SDK, and no monthly registration. A plain `curl` or `fetch` call returns JSON. For teams that want zero external dependencies, the Docker image is a one-command deploy on any server.

Skip if:

Skip if your production environment requires a commercially backed SLA with uptime guarantees, since the public API is a community-hosted instance with no SLA.

the problem

The problem it solves#

Most applications that handle money need reliable exchange rates: invoicing in multiple currencies, displaying prices by region, calculating taxes, or reporting financials. The options have historically meant either building against a paid API subscription or scraping central bank sites that weren't designed for programmatic access.

Paid exchange rate APIs charge monthly fees even for modest call volumes, often with tiered pricing that restricts history depth, rate-of-change data, or the number of currencies available at lower price points. Developer teams with tight budgets or privacy requirements end up either over-paying for capabilities they only partially use or accepting data gaps when they hit rate limits.

how Frankfurter solves it

How it solves it#

219-currency coverage from central banks

Rates for 219 fiat currencies and 39 other assets, blended from 111 central banks and official providers. Each blended rate names which providers contributed, so you can filter to a specific source for compliance or audit purposes.

Daily history back to 1948

The default EUR-based blended feed goes back to January 1948, covering decades of currency regime changes and monetary history. Use the /v2/coverage endpoint to find the exact date range a given currency pair supports before building a query.

No API key and no call quotas

The public instance at api.frankfurter.dev is free for all uses including commercial. There are no monthly or daily caps; requests are rate-limited to prevent abuse but not metered. For high-volume needs, the Docker image lets you run your own instance.

Self-hosting with Docker

Run your own instance with a single `docker run` command. Mount a volume for SQLite persistence and add optional free API keys for providers that require registration (Bank of Morocco, Federal Reserve, Bank of Thailand, and others). The deploy guide covers production configuration.

Multiple output formats

By default the API returns JSON. Append `.csv` or set the Accept header to `text/csv` for spreadsheet-friendly output. For large time series, request NDJSON (application/x-ndjson) to stream results line by line without buffering the full dataset in memory.

MCP server for AI agents

The project ships an MCP (Model Context Protocol) server, so AI agents can query exchange rates and time series without custom glue code. Point the agent at the project's llms.txt file for LLM-readable documentation of the API.

strengths · trade-offs

Strengths and trade-offs#

Strengths

  • MIT license with no usage restrictionsThe MIT license lets you fork, modify, and use Frankfurter commercially without restrictions. The hosted API at api.frankfurter.dev is also free for commercial use. Most paid alternatives restrict commercial use to higher-tier subscriptions that cost $50 or more per month.
  • Official reference rates from central banksRates come directly from 111 central banks and official sources through each provider's authorized API or publication feed. The blended feed labels which providers contributed to each rate, letting compliance-sensitive applications filter to a specific official source.
  • Deep historical coverage since 1948With daily history back to 1948, Frankfurter covers monetary union transitions, currency reforms, and legacy codes that most paid APIs don't include. The /v2/coverage endpoint reports the exact date range any given currency pair supports.
  • No personal data collected or loggedThe public instance does not log IP addresses, request URLs, or personal data. It runs behind Cloudflare for caching and DDoS protection, which provides only aggregate traffic statistics. This means queries qualify as Data Not Collected under Apple and Google Play privacy label guidelines.

Trade-offs

  • -Reference rates, not live market quotesFrankfurter publishes mid-market reference rates that update once or a few times per day. It is not suited for live forex trading, real-time arbitrage, or applications that need sub-minute rate freshness. The project FAQ explicitly states it isn't built for exotic currencies with high intraday volatility.
  • -Provider API keys needed for some data sourcesFor the self-hosted instance to include data from the Federal Reserve, Bank of Morocco, Bank of Thailand, and a few others, you must register for a free API key with each provider. A bare Docker instance without keys will return empty results from those providers until their initial backfill completes.
  • -No built-in currency conversion endpointFrankfurter has no built-in convert endpoint. You fetch the exchange rate and do the arithmetic client-side. The website provides a short JavaScript snippet for this, and the calculation is trivial, but integrations expecting a single-call conversion API will need a small wrapper function.
versus alternatives

Frankfurter vs alternatives#

Frankfurter vs Open Exchange Rates

Open Exchange Rates is a paid JSON API covering 200+ currencies with commercial-use licensing tiers. Both provide daily reference rates and historical data via REST, so the core overlap is significant.

FeatureFrankfurterOpen Exchange Rates
LicenseMITProprietary
Self-hostingYes (Docker)No
PricingFreeFrom $12/month
History depthBack to 1948Varies by plan
API key requiredNo (public instance)Yes

Frankfurter is the better choice when you need no-cost access, self-hosting for data ownership, or historical rates back to the 1940s. Open Exchange Rates is worth considering when you need an SLA-backed service with premium support, guaranteed uptime, or hourly rate updates on paid plans, and your budget allows for a subscription.

Frankfurter vs Fixer

Fixer covers 170 currencies with real-time, hourly, and historical data, operating as a managed service with no self-hosting path.

FeatureFrankfurterFixer
LicenseMITProprietary
Self-hostingYesNo
PricingFreeFrom $14.99/month
Currency count219170
API key requiredNoYes

Frankfurter covers more currencies than Fixer (219 vs 170) and requires no signup. Fixer is worth considering for teams that need a commercially supported SLA, intraday rate updates, or integration with existing Fixer client libraries already in their stack.

Frankfurter vs CurrencyAPI

CurrencyAPI covers 170+ fiat currencies, 16 cryptocurrencies, metals, and accounting averages, with enterprise customers including SAP and Heineken.

FeatureFrankfurterCurrencyAPI
LicenseMITProprietary
Self-hostingYesNo
PricingFreeFree tier, then paid
Crypto coverageThin (mainstream only)16 currencies
OHLC dataNoYes

For applications that need OHLC (open/high/low/close) data or broad cryptocurrency coverage beyond the handful of mainstream coins Frankfurter provides, CurrencyAPI is the stronger choice. For standard fiat currency conversion, billing, and reporting with no budget for a data subscription, Frankfurter covers the same use cases at no cost.

install · quick start

Quick start#

bash
Deploy the API server with Docker for self-hosted exchange rate data.
```bash
docker run -d --init -p 8080:8080 lineofflight/frankfurter
```
tech stack · detected from GitHub

What it's built on#

Languages
Ruby
Databases
SQLite
frequently asked

FAQ#

Is Frankfurter free for commercial use?

Yes. The hosted API at api.frankfurter.dev is free for all commercial applications with no usage caps. Blended rates (the default) are Frankfurter's own calculations and carry no provider licensing restrictions. If you query a specific provider's endpoint directly, that provider's terms apply.

Can I self-host Frankfurter on my own server?

Yes. The Docker image at lineofflight/frankfurter runs the full API stack. A single docker run -d --init -p 8080:8080 lineofflight/frankfurter command starts an instance. For production, mount a volume to persist the SQLite database across restarts and add optional API keys for providers that require registration (FRED, Bank of Thailand, Bank of Morocco, and others).

Does Frankfurter support real-time rates for forex trading?

No. Frankfurter publishes reference rates from central banks and official sources, which update once or a few times per day. The project FAQ states it is not built for live trading or exotic currencies with high intraday swings. Applications that need tick-level or minute-level rate data should use a dedicated forex data provider.

What currencies and assets does the API cover?

The API covers 219 fiat currencies and 39 other assets, including precious metals (gold, silver, platinum, palladium) and some mainstream cryptocurrencies (BTC, ETH, SOL, XRP, and stablecoins). The project notes that crypto coverage is thin. Use the /v2/currencies endpoint to see the full list with provider coverage details.

Does the Frankfurter API log requests or collect personal data?

No. The public instance does not log IP addresses, request URLs, or personal data. The project documentation states this explicitly and notes that queries qualify as Data Not Collected under Apple and Google Play guidelines. The public instance runs behind Cloudflare, which provides only aggregate traffic statistics.

also worth a look

Similar open-source tools#

FckSignups

InCustomer Support

Open-source tools that work instantly, no signup required

  • 4,586 GitHub stars
  • GPL-3.0Licence GPL-3.0

Btcpayserver

Alternative toBitPay

Bitcoin payment processor, self-hosted, zero fees, no third party.

  • 7,921 GitHub stars
  • MITLicence MIT

Fastapi

Alternative toAWS API Gateway

High-performance Python API framework with auto OpenAPI documentation

  • 104,678 GitHub stars
  • MITLicence MIT

Unkey

Alternative toKong Konnect

Unified API keys, gateways, and observability for developers.

  • 5,483 GitHub stars
  • FSL-1.1-ALv2Licence FSL-1.1-ALv2

autumn

Alternative toOrb

Open-source billing layer over Stripe for usage and credits

  • 2,831 GitHub stars
  • Apache-2.0Licence Apache-2.0

Embabel

Alternative toGoogle Gemini Enterprise Agent Platform

Agentic AI framework for the JVM

  • 4,558 GitHub stars
  • Apache-2.0Licence Apache-2.0
by category

Open source tools in these categories#

93

APIs & Integration

n8n, Firecrawl, iptv
41

Finance & Fintech

TradingAgents, MiroFish, OpenBB
89

Backend Development

dify, graphify, Rust
650

Developer Tools

REA (Reverse Engineer Anything), Skills for Real Engineers, superpowers
Hostinger

Self-host Frankfurter on a Hostinger VPS

Keep it running 24/7, even when your laptop is off. A Hostinger VPS gives it a server of its own.

  1. 01

    Choose a plan

    Starts from $6.49/mo

  2. 02

    Apply

    Extra 10% off yearly plans

  3. 03

    Install Frankfurter

    On a server that stays on

  4. 04

    Start building

    Focus on the app, not the server

Deploy on Hostinger

Sponsors

Inbox Zero

Alternative toSuperhuman

AI email assistant that drafts replies and clears your inbox

  • 13,025 GitHub stars
  • AGPL-3.0Licence AGPL-3.0
  • #Email

rakazo

Alternative toGrok Bot

AI teammates you own: your keys, your model, your machine.

  • 8,291 GitHub stars
  • Apache-2.0Licence Apache-2.0
  • #AI Agents

SnitchFeed

Live monitoring on LinkedIn, X, Reddit & more. Agentic social listening for startups.

Marketing & Growth

Advertise your product

New open source projects by email

The projects we add and every new guide. Free, unsubscribe any time.

Find open source alternatives to paid software

/
  • Claude Code to OpenCode
  • Jira to Windshift
  • Notion to AppFlowy
  • Slack to Mattermost
  • Linear to GitLab
  • Wispr Flow to Handy
  • Arc to Zen Browser
  • CapCut to Concat
  • Grok Bot to rakazo
  • Superhuman to Inbox Zero
  • Discord to Stoat
  • Airtable to AITable
  • Datadog to SigNoz
  • Muse to OpenClaw
  • Railway to Coolify
  • GitHub Copilot to Cline
  • Confluence to Wiki.js
  • Microsoft Teams to Rocket.Chat
  • 1Password to KeePassXC
  • Firebase to Supabase
  • Pinecone to Qdrant
  • Zapier to n8n
  • Devin AI to OpenHands
  • Asana to Leantime
  • Claude Code to OpenCode
  • Jira to Windshift
  • Notion to AppFlowy
  • Slack to Mattermost
  • Linear to GitLab
  • Wispr Flow to Handy
  • Arc to Zen Browser
  • CapCut to Concat
  • Grok Bot to rakazo
  • Superhuman to Inbox Zero
  • Discord to Stoat
  • Airtable to AITable
  • Datadog to SigNoz
  • Muse to OpenClaw
  • Railway to Coolify
  • GitHub Copilot to Cline
  • Confluence to Wiki.js
  • Microsoft Teams to Rocket.Chat
  • 1Password to KeePassXC
  • Firebase to Supabase
  • Pinecone to Qdrant
  • Zapier to n8n
  • Devin AI to OpenHands
  • Asana to Leantime