Frankfurter website screenshot

Frankfurter

Frankfurter is an open-source (MIT) currency exchange rates API that blends foreign-exchange reference rates published by 50+ central banks and monetary authorities. It hosts a free, no-key public endpoint at api.frankfurter.dev (current v2 and frozen v1) and ships as a Docker image for unlimited self-hosting. Historical data extends back to 1948 and covers 201 currencies; the API serves JSON, NDJSON, and CSV.

Frankfurter publishes 6 APIs on the APIs.io network, including Currencies API, current-rates API, historical-rates API, and 3 more. Tagged areas include Currency Exchange, Foreign Exchange, FX, Open Source, and MIT.

The Frankfurter catalog on APIs.io includes 2 JSON-LD contexts and 2 Spectral governance rulesets.

Frankfurter’s developer surface includes documentation, tooling, and 18 more developer resources.

43.3/100 developing ▬ flat Agent 28/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreemiumOpen⚡ Free to try
6 APIs 10 Features 7 Use Cases
Currency ExchangeForeign ExchangeFXOpen SourceMITSelf-HostedPublic APIs

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 43.3/100 · developing
Contract Quality 17.5 / 25
Developer Ergonomics 1.7 / 20
Commercial Clarity 4.2 / 20
Operational Transparency 3.4 / 13
Governance 8.3 / 12
Discoverability 8.2 / 10
Agent readiness — 28/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/frankfurter: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 6

Individual APIs this provider publishes, each with its own machine-readable definition.

Frankfurter Currencies API

Supported currency reference data

Frankfurter current-rates API

Latest foreign exchange rates

Frankfurter historical-rates API

Historical exchange rates for specific dates and periods

Frankfurter metadata API

API reference data like available currencies

Frankfurter Providers API

Central-bank and institutional data providers

Frankfurter Rates API

Blended currency exchange rates

Open Collections 2

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Frankfurter API

OPEN COLLECTION

Frankfurter API

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Frankfurter Rate Limits

2 limits

RATE LIMITS

Features 10

Notable capabilities this provider offers.

Blended Reference Rates

Combines daily FX rates from 50+ central banks and monetary authorities into a consensus-filtered, outlier-rejecting blend.

Multi-Format Output

JSON, NDJSON (streamed), and CSV from the same endpoint.

Historical Time Series

Daily rates back to 1948 with optional week/month downsampling.

201 Currencies

Active and legacy currency coverage with ISO 4217 metadata.

Per-Provider Expansion

`expand=providers` exposes each provider's individual quote so callers can audit the blend, with `excluded: true` flags on outliers and peg overrides.

No Authentication

No keys, no accounts, no monthly or daily caps.

Self-Hostable

Single Docker image with optional SQLite volume mount.

Free Upstream Provider Keys

Optional, no-cost provider keys for Bank Al-Maghrib, Banco de México, Banco Central de Chile, Bank of Thailand, US Federal Reserve, and the Turkish Central Bank widen self-hoste...

Open CORS

GET and OPTIONS allowed from any origin — direct browser use.

Open Source (MIT)

Full source on GitHub; community contributions and fork-friendly.

Scroll for all 10

Semantic Vocabularies 2

JSON-LD contexts and semantic vocabularies used across these APIs.

Frankfurter V1 Context

3 classes · 4 properties

JSON-LD

Frankfurter V2 Context

4 classes · 22 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

Frankfurter API Rules

5 rules · 4 warnings 1 info

SPECTRAL

Frankfurter API Rules

40 rules · 14 errors 20 warnings 6 info

SPECTRAL

JSON Schema 12

Standalone JSON Schema definitions for this provider's data models.

amount

0 properties

JSON SCHEMA

baseIn

0 properties

JSON SCHEMA

base

0 properties

JSON SCHEMA

currencies

0 properties

JSON SCHEMA

date

0 properties

JSON SCHEMA

ratesByDate

0 properties

JSON SCHEMA

ratesOnDate

4 properties

JSON SCHEMA

rates

0 properties

JSON SCHEMA

CurrencyDetail

6 properties

JSON SCHEMA

Currency

6 properties

JSON SCHEMA

Provider

11 properties

JSON SCHEMA

Rate

5 properties

JSON SCHEMA

Scroll for all 12

JSON Structure 12

JSON Structure definitions describing this provider's data shapes.

V1 Amount Structure

0 properties

JSON STRUCTURE

V1 Base In Structure

0 properties

JSON STRUCTURE

V1 Base Structure

0 properties

JSON STRUCTURE

V1 Currencies Structure

0 properties

JSON STRUCTURE

V1 Date Structure

0 properties

JSON STRUCTURE

V1 Rates By Date Structure

0 properties

JSON STRUCTURE

V1 Rates On Date Structure

4 properties

JSON STRUCTURE

V1 Rates Structure

0 properties

JSON STRUCTURE

V2 Currency Detail Structure

6 properties

JSON STRUCTURE

V2 Currency Structure

6 properties

JSON STRUCTURE

V2 Provider Structure

11 properties

JSON STRUCTURE

V2 Rate Structure

5 properties

JSON STRUCTURE

Scroll for all 12

Examples 8

Example request and response payloads for these APIs.

V1 Currencies Example

4 fields

EXAMPLE

V1 Rates By Date Example

3 fields

EXAMPLE

V1 Rates Example

4 fields

EXAMPLE

V1 Rates On Date Example

4 fields

EXAMPLE

V2 Currency Example

6 fields

EXAMPLE

V2 Provider Example

11 fields

EXAMPLE

V2 Rate Example

5 fields

EXAMPLE

Scroll for all 8

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Frankfurter Agentic Access

10 operations

10 operations · 0 acting

AGENTIC

Use Cases 7

What developers build with this provider.

Treasury and Payments Pricing

Embed blended FX rates into invoicing, payouts, and conversion.

E-commerce Storefront Localization

Convert displayed prices into the visitor's currency on page load.

Reporting and Analytics

Backfill historical FX into BI dashboards and finance reports.

Reference Data Maintenance

Sync ISO 4217 currency tables and provider metadata into ERPs.

AI Assistant Tooling

Equip Claude and other MCP-capable agents with the official Frankfurter MCP server (get_rates, convert, list_currencies, list_providers).

Private FX Service

Self-host inside a VPC for compliance-sensitive workloads.

Academic and Research

Long historical series for FX econometric studies.

Scroll for all 7

Integrations 12

Pre-built integrations with other platforms and tools.

European Central Bank

Primary upstream provider (ECB reference rates).

US Federal Reserve

Optional upstream provider via free FED API key.

Bank of Canada

Upstream provider (BOC) included in the blend.

Banco Central do Brasil

Upstream provider (BCB).

Turkish Central Bank

Optional upstream provider via free TCMB key.

Bank of Thailand

Optional upstream provider via free BOT key.

Banco Central de Chile

Optional upstream provider via free BCCh key.

Banco de México

Optional upstream provider via free Banxico key.

Bank Al-Maghrib (Morocco)

Optional upstream provider via free BAM key.

Model Context Protocol

Official MCP server (lineofflight/frankfurter-mcp) registered at the MCP registry.

Docker Hub / GHCR

Container distribution for self-hosting.

GitHub Discussions

Community 'Show and Tell' for libraries and tools built on Frankfurter.

Scroll for all 12

Solutions 3

Packaged solutions this provider offers.

Public Hosted (Free)

api.frankfurter.dev — no key, soft fair-use limits, ideal for prototypes and low-volume production.

Self-Hosted FOSS

Run lineofflight/frankfurter via Docker; no application-level rate limit.

MCP Tooling

Drop the Frankfurter MCP server into any Claude / agent stack for natural-language FX access.

Resources

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 2

Pagination, idempotency, versioning, errors, and events

Build 6

SDKs, sample code, and the tooling you integrate with

Access & Security 1

Authentication, authorization, and security posture

Operate 3

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 3

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: frankfurter
accessModel:
  pricing: freemium
  onboarding: open
  trial: false
  try_now: true
  public: true
  label: Freemium · Open access
  confidence: medium
  source:
  - plans
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/frankfurter.png
name: Frankfurter
description: Frankfurter is an open-source (MIT) currency exchange rates API that blends foreign-exchange reference rates
  published by 50+ central banks and monetary authorities. It hosts a free, no-key public endpoint at api.frankfurter.dev
  (current v2 and frozen v1) and ships as a Docker image for unlimited self-hosting. Historical data extends back to 1948
  and covers 201 currencies; the API serves JSON, NDJSON, and CSV.
url: https://frankfurter.dev
specificationVersion: '0.20'
created: '2026-05-28'
modified: '2026-05-29'
x-source: public-apis/public-apis
x-type: opensource
x-category: Currency Exchange
x-tier: 2
x-tier-reason: Open-source, MIT-licensed, self-hostable; reconciled against upstream OpenAPI specs and lineofflight GitHub
  org.
tags:
- Currency Exchange
- Foreign Exchange
- FX
- Open Source
- MIT
- Self-Hosted
- Public APIs
apis:
- aid: frankfurter:frankfurter-currencies-api
  name: Frankfurter Currencies API
  description: Supported currency reference data
  humanURL: https://frankfurter.dev/docs
  baseURL: https://api.frankfurter.dev/v2
  tags:
  - Currencies
  properties:
  - type: OpenAPI
    url: openapi/frankfurter-currencies-api-openapi.yml
  - type: Documentation
    url: https://frankfurter.dev/docs
  - type: JSONSchema
    url: json-schema/v2-rate-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-detail-schema.json
  - type: JSONSchema
    url: json-schema/v2-provider-schema.json
  - type: JSONStructure
    url: json-structure/v2-rate-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-detail-structure.json
  - type: JSONStructure
    url: json-structure/v2-provider-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v2-context.jsonld
  - type: Examples
    url: examples/v2-rate-example.json
  - type: Examples
    url: examples/v2-currency-example.json
  - type: Examples
    url: examples/v2-currency-detail-example.json
  - type: Examples
    url: examples/v2-provider-example.json
  - type: JSONSchema
    url: json-schema/v1-rates-on-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-by-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-schema.json
  - type: JSONSchema
    url: json-schema/v1-currencies-schema.json
  - type: JSONSchema
    url: json-schema/v1-amount-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-in-schema.json
  - type: JSONSchema
    url: json-schema/v1-date-schema.json
  - type: JSONStructure
    url: json-structure/v1-rates-on-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-by-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-structure.json
  - type: JSONStructure
    url: json-structure/v1-currencies-structure.json
  - type: JSONStructure
    url: json-structure/v1-amount-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-in-structure.json
  - type: JSONStructure
    url: json-structure/v1-date-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v1-context.jsonld
  - type: Examples
    url: examples/v1-rates-on-date-example.json
  - type: Examples
    url: examples/v1-rates-by-date-example.json
  - type: Examples
    url: examples/v1-currencies-example.json
- aid: frankfurter:frankfurter-current-rates-api
  name: Frankfurter current-rates API
  description: Latest foreign exchange rates
  humanURL: https://frankfurter.dev/docs
  baseURL: https://api.frankfurter.dev/v2
  tags:
  - current-rates
  properties:
  - type: OpenAPI
    url: openapi/frankfurter-current-rates-api-openapi.yml
  - type: Documentation
    url: https://frankfurter.dev/docs
  - type: JSONSchema
    url: json-schema/v2-rate-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-detail-schema.json
  - type: JSONSchema
    url: json-schema/v2-provider-schema.json
  - type: JSONStructure
    url: json-structure/v2-rate-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-detail-structure.json
  - type: JSONStructure
    url: json-structure/v2-provider-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v2-context.jsonld
  - type: Examples
    url: examples/v2-rate-example.json
  - type: Examples
    url: examples/v2-currency-example.json
  - type: Examples
    url: examples/v2-currency-detail-example.json
  - type: Examples
    url: examples/v2-provider-example.json
  - type: JSONSchema
    url: json-schema/v1-rates-on-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-by-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-schema.json
  - type: JSONSchema
    url: json-schema/v1-currencies-schema.json
  - type: JSONSchema
    url: json-schema/v1-amount-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-in-schema.json
  - type: JSONSchema
    url: json-schema/v1-date-schema.json
  - type: JSONStructure
    url: json-structure/v1-rates-on-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-by-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-structure.json
  - type: JSONStructure
    url: json-structure/v1-currencies-structure.json
  - type: JSONStructure
    url: json-structure/v1-amount-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-in-structure.json
  - type: JSONStructure
    url: json-structure/v1-date-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v1-context.jsonld
  - type: Examples
    url: examples/v1-rates-on-date-example.json
  - type: Examples
    url: examples/v1-rates-by-date-example.json
  - type: Examples
    url: examples/v1-currencies-example.json
- aid: frankfurter:frankfurter-historical-rates-api
  name: Frankfurter historical-rates API
  description: Historical exchange rates for specific dates and periods
  humanURL: https://frankfurter.dev/docs
  baseURL: https://api.frankfurter.dev/v2
  tags:
  - historical-rates
  properties:
  - type: OpenAPI
    url: openapi/frankfurter-historical-rates-api-openapi.yml
  - type: Documentation
    url: https://frankfurter.dev/docs
  - type: JSONSchema
    url: json-schema/v2-rate-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-detail-schema.json
  - type: JSONSchema
    url: json-schema/v2-provider-schema.json
  - type: JSONStructure
    url: json-structure/v2-rate-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-detail-structure.json
  - type: JSONStructure
    url: json-structure/v2-provider-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v2-context.jsonld
  - type: Examples
    url: examples/v2-rate-example.json
  - type: Examples
    url: examples/v2-currency-example.json
  - type: Examples
    url: examples/v2-currency-detail-example.json
  - type: Examples
    url: examples/v2-provider-example.json
  - type: JSONSchema
    url: json-schema/v1-rates-on-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-by-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-schema.json
  - type: JSONSchema
    url: json-schema/v1-currencies-schema.json
  - type: JSONSchema
    url: json-schema/v1-amount-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-in-schema.json
  - type: JSONSchema
    url: json-schema/v1-date-schema.json
  - type: JSONStructure
    url: json-structure/v1-rates-on-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-by-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-structure.json
  - type: JSONStructure
    url: json-structure/v1-currencies-structure.json
  - type: JSONStructure
    url: json-structure/v1-amount-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-in-structure.json
  - type: JSONStructure
    url: json-structure/v1-date-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v1-context.jsonld
  - type: Examples
    url: examples/v1-rates-on-date-example.json
  - type: Examples
    url: examples/v1-rates-by-date-example.json
  - type: Examples
    url: examples/v1-currencies-example.json
- aid: frankfurter:frankfurter-metadata-api
  name: Frankfurter metadata API
  description: API reference data like available currencies
  humanURL: https://frankfurter.dev/docs
  baseURL: https://api.frankfurter.dev/v2
  tags:
  - metadata
  properties:
  - type: OpenAPI
    url: openapi/frankfurter-metadata-api-openapi.yml
  - type: Documentation
    url: https://frankfurter.dev/docs
  - type: JSONSchema
    url: json-schema/v2-rate-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-detail-schema.json
  - type: JSONSchema
    url: json-schema/v2-provider-schema.json
  - type: JSONStructure
    url: json-structure/v2-rate-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-detail-structure.json
  - type: JSONStructure
    url: json-structure/v2-provider-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v2-context.jsonld
  - type: Examples
    url: examples/v2-rate-example.json
  - type: Examples
    url: examples/v2-currency-example.json
  - type: Examples
    url: examples/v2-currency-detail-example.json
  - type: Examples
    url: examples/v2-provider-example.json
  - type: JSONSchema
    url: json-schema/v1-rates-on-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-by-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-schema.json
  - type: JSONSchema
    url: json-schema/v1-currencies-schema.json
  - type: JSONSchema
    url: json-schema/v1-amount-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-in-schema.json
  - type: JSONSchema
    url: json-schema/v1-date-schema.json
  - type: JSONStructure
    url: json-structure/v1-rates-on-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-by-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-structure.json
  - type: JSONStructure
    url: json-structure/v1-currencies-structure.json
  - type: JSONStructure
    url: json-structure/v1-amount-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-in-structure.json
  - type: JSONStructure
    url: json-structure/v1-date-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v1-context.jsonld
  - type: Examples
    url: examples/v1-rates-on-date-example.json
  - type: Examples
    url: examples/v1-rates-by-date-example.json
  - type: Examples
    url: examples/v1-currencies-example.json
- aid: frankfurter:frankfurter-providers-api
  name: Frankfurter Providers API
  description: Central-bank and institutional data providers
  humanURL: https://frankfurter.dev/docs
  baseURL: https://api.frankfurter.dev/v2
  tags:
  - Providers
  properties:
  - type: OpenAPI
    url: openapi/frankfurter-providers-api-openapi.yml
  - type: Documentation
    url: https://frankfurter.dev/docs
  - type: JSONSchema
    url: json-schema/v2-rate-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-detail-schema.json
  - type: JSONSchema
    url: json-schema/v2-provider-schema.json
  - type: JSONStructure
    url: json-structure/v2-rate-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-detail-structure.json
  - type: JSONStructure
    url: json-structure/v2-provider-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v2-context.jsonld
  - type: Examples
    url: examples/v2-rate-example.json
  - type: Examples
    url: examples/v2-currency-example.json
  - type: Examples
    url: examples/v2-currency-detail-example.json
  - type: Examples
    url: examples/v2-provider-example.json
  - type: JSONSchema
    url: json-schema/v1-rates-on-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-by-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-schema.json
  - type: JSONSchema
    url: json-schema/v1-currencies-schema.json
  - type: JSONSchema
    url: json-schema/v1-amount-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-in-schema.json
  - type: JSONSchema
    url: json-schema/v1-date-schema.json
  - type: JSONStructure
    url: json-structure/v1-rates-on-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-by-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-structure.json
  - type: JSONStructure
    url: json-structure/v1-currencies-structure.json
  - type: JSONStructure
    url: json-structure/v1-amount-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-in-structure.json
  - type: JSONStructure
    url: json-structure/v1-date-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v1-context.jsonld
  - type: Examples
    url: examples/v1-rates-on-date-example.json
  - type: Examples
    url: examples/v1-rates-by-date-example.json
  - type: Examples
    url: examples/v1-currencies-example.json
- aid: frankfurter:frankfurter-rates-api
  name: Frankfurter Rates API
  description: Blended currency exchange rates
  humanURL: https://frankfurter.dev/docs
  baseURL: https://api.frankfurter.dev/v2
  tags:
  - Rates
  properties:
  - type: OpenAPI
    url: openapi/frankfurter-rates-api-openapi.yml
  - type: Documentation
    url: https://frankfurter.dev/docs
  - type: JSONSchema
    url: json-schema/v2-rate-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-schema.json
  - type: JSONSchema
    url: json-schema/v2-currency-detail-schema.json
  - type: JSONSchema
    url: json-schema/v2-provider-schema.json
  - type: JSONStructure
    url: json-structure/v2-rate-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-structure.json
  - type: JSONStructure
    url: json-structure/v2-currency-detail-structure.json
  - type: JSONStructure
    url: json-structure/v2-provider-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v2-context.jsonld
  - type: Examples
    url: examples/v2-rate-example.json
  - type: Examples
    url: examples/v2-currency-example.json
  - type: Examples
    url: examples/v2-currency-detail-example.json
  - type: Examples
    url: examples/v2-provider-example.json
  - type: JSONSchema
    url: json-schema/v1-rates-on-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-by-date-schema.json
  - type: JSONSchema
    url: json-schema/v1-rates-schema.json
  - type: JSONSchema
    url: json-schema/v1-currencies-schema.json
  - type: JSONSchema
    url: json-schema/v1-amount-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-schema.json
  - type: JSONSchema
    url: json-schema/v1-base-in-schema.json
  - type: JSONSchema
    url: json-schema/v1-date-schema.json
  - type: JSONStructure
    url: json-structure/v1-rates-on-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-by-date-structure.json
  - type: JSONStructure
    url: json-structure/v1-rates-structure.json
  - type: JSONStructure
    url: json-structure/v1-currencies-structure.json
  - type: JSONStructure
    url: json-structure/v1-amount-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-structure.json
  - type: JSONStructure
    url: json-structure/v1-base-in-structure.json
  - type: JSONStructure
    url: json-structure/v1-date-structure.json
  - type: JSONLD
    url: json-ld/frankfurter-v1-context.jsonld
  - type: Examples
    url: examples/v1-rates-on-date-example.json
  - type: Examples
    url: examples/v1-rates-by-date-example.json
  - type: Examples
    url: examples/v1-currencies-example.json
common:
- type: AgenticAccess
  url: agentic-access/frankfurter-agentic-access.yml
- type: DomainSecurity
  url: security/frankfurter-domain-security.yml
- type: Website
  url: https://frankfurter.dev
- type: Documentation
  url: https://frankfurter.dev/docs
- type: GitHubOrganization
  url: https://github.com/lineofflight
- type: GitHubRepository
  title: Frankfurter (canonical)
  url: https://github.com/lineofflight/frankfurter
- type: GitHubRepository
  title: Frankfurter MCP Server
  url: https://github.com/lineofflight/frankfurter-mcp
- type: License
  title: MIT License
  url: https://github.com/lineofflight/frankfurter/blob/main/LICENSE
- type: ContainerImage
  title: Docker (Frankfurter)
  url: https://hub.docker.com/r/lineofflight/frankfurter
- type: ContainerImage
  title: Docker (Frankfurter MCP)
  url: https://ghcr.io/lineofflight/frankfurter-mcp
- type: Tools
  title: MCP Server
  url: https://github.com/lineofflight/frankfurter-mcp
- type: Tools
  title: Hosted MCP Endpoint
  url: https://mcp.frankfurter.dev/
- type: Tools
  title: MCP Registry Listing
  url: https://github.com/modelcontextprotocol/registry
- type: PublicAPIsListing
  url: https://github.com/public-apis/public-apis
- type: Issues
  url: https://github.com/lineofflight/frankfurter/issues
- type: Forums
  url: https://github.com/lineofflight/frankfurter/discussions
- type: SpectralRules
  url: rules/frankfurter-spectral-rules.yml
- type: Vocabulary
  url: vocabulary/frankfurter-vocabulary.yml
- type: Plans
  url: plans/frankfurter-plans-pricing.yml
- type: RateLimits
  url: rate-limits/frankfurter-rate-limits.yml
- type: Features
  data:
  - name: Blended Reference Rates
    description: Combines daily FX rates from 50+ central banks and monetary authorities into a consensus-filtered, outlier-rejecting
      blend.
  - name: Multi-Format Output
    description: JSON, NDJSON (streamed), and CSV from the same endpoint.
  - name: Historical Time Series
    description: Daily rates back to 1948 with optional week/month downsampling.
  - name: 201 Currencies
    description: Active and legacy currency coverage with ISO 4217 metadata.
  - name: Per-Provider Expansion
    description: '`expand=providers` exposes each provider''s individual quote so callers can audit the blend, with `excluded:
      true` flags on outliers and peg overrides.'
  - name: No Authentication
    description: No keys, no accounts, no monthly or daily caps.
  - name: Self-Hostable
    description: Single Docker image with optional SQLite volume mount.
  - name: Free Upstream Provider Keys
    description: Optional, no-cost provider keys for Bank Al-Maghrib, Banco de México, Banco Central de Chile, Bank of Thailand,
      US Federal Reserve, and the Turkish Central Bank widen self-hosted coverage.
  - name: Open CORS
    description: GET and OPTIONS allowed from any origin — direct browser use.
  - name: Open Source (MIT)
    description: Full source on GitHub; community contributions and fork-friendly.
- type: UseCases
  data:
  - name: Treasury and Payments Pricing
    description: Embed blended FX rates into invoicing, payouts, and conversion.
  - name: E-commerce Storefront Localization
    description: Convert displayed prices into the visitor's currency on page load.
  - name: Reporting and Analytics
    description: Backfill historical FX into BI dashboards and finance reports.
  - name: Reference Data Maintenance
    description: Sync ISO 4217 currency tables and provider metadata into ERPs.
  - name: AI Assistant Tooling
    description: Equip Claude and other MCP-capable agents with the official Frankfurter MCP server (get_rates, convert, list_currencies,
      list_providers).
  - name: Private FX Service
    description: Self-host inside a VPC for compliance-sensitive workloads.
  - name: Academic and Research
    description: Long historical series for FX econometric studies.
- type: Integrations
  data:
  - name: European Central Bank
    description: Primary upstream provider (ECB reference rates).
  - name: US Federal Reserve
    description: Optional upstream provider via free FED API key.
  - name: Bank of Canada
    description: Upstream provider (BOC) included in the blend.
  - name: Banco Central do Brasil
    description: Upstream provider (BCB).
  - name: Turkish Central Bank
    description: Optional upstream provider via free TCMB key.
  - name: Bank of Thailand
    description: Optional upstream provider via free BOT key.
  - name: Banco Central de Chile
    description: Optional upstream provider via free BCCh key.
  - name: Banco de México
    description: Optional upstream provider via free Banxico key.
  - name: Bank Al-Maghrib (Morocco)
    description: Optional upstream provider via free BAM key.
  - name: Model Context Protocol
    description: Official MCP server (lineofflight/frankfurter-mcp) registered at the MCP registry.
  - name: Docker Hub / GHCR
    description: Container distribution for self-hosting.
  - name: GitHub Discussions
    description: Community 'Show and Tell' for libraries and tools built on Frankfurter.
- type: Solutions
  data:
  - name: Public Hosted (Free)
    description: api.frankfurter.dev — no key, soft fair-use limits, ideal for prototypes and low-volume production.
  - name: Self-Hosted FOSS
    description: Run lineofflight/frankfurter via Docker; no application-level rate limit.
  - name: MCP Tooling
    description: Drop the Frankfurter MCP server into any Claude / agent stack for natural-language FX access.
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com