Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC
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.

agent aware

Real signal across most facets with visible, nameable gaps — the contract exists but is thin, or the portal is good while governance and commercial terms are absent.

Kin Score

API Evangelist profiles Frankfurter the way a machine reads it — 80 machine-readable artifacts across 6 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.

Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — Frankfurter scores 47.4/100 (developing), with a separate agent-readiness read of 39/100 (agent aware). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.

Kin Score

This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 47.4/100 · developing
Contract Quality 17.6 / 25
Developer Ergonomics 1.7 / 20
Commercial Clarity 4.2 / 20
Operational Transparency 3.4 / 13
Governance 10.4 / 12
Discoverability 10.0 / 10
Agent readiness — 39/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 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

How we profile Frankfurter

Each block below is one kind of artifact we hold for Frankfurter. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.

APIs 6

Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.

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 collections carry the same runnable value as Postman without locking you to one client — the portable, forkable form of the same exercise.

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

Frankfurter API

OPEN COLLECTION

Frankfurter API

OPEN COLLECTION

Pricing Plans 1

Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.

Published pricing tiers and plan structures.

Rate Limits 1

Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.

Documented rate limits and quota policies.

Frankfurter Rate Limits

2 limits

RATE LIMITS

Features 10

The notable capabilities this provider advertises, captured as structured features so they can be searched and compared instead of read one landing page at a time.

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 within the panel for all 10 ·

Semantic Vocabularies 2

JSON-LD contexts give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.

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

Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.

Frankfurter API Rules

5 rules · 4 warnings

SPECTRAL

Frankfurter API Rules

40 rules · 14 errors · 20 warnings

SPECTRAL

JSON Schema 12

Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.

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 within the panel for all 12 ·

JSON Structure 12

JSON Structure captures the data shapes in a form built for tooling — a complement to JSON Schema that keeps the model machine-legible.

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 within the panel for all 12 ·

Examples 8

Real request and response payloads are what turn a spec from abstract into obvious — and they're one of the twelve things an agent needs to call an API correctly on the first try.

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 within the panel for all 8 ·

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.

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

Agentic Access 1

An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.

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

Frankfurter Agentic Access

10 operations

10 operations · 0 acting

AGENTIC

Use Cases 7

What developers actually build with this provider — captured so the catalogue answers 'what is this for', not just 'what does this expose'.

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 within the panel for all 7 ·

Integrations 12

Pre-built integrations with other platforms tell you where this provider already fits in a stack.

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 within the panel for all 12 ·

Solutions 3

Packaged solutions the provider offers on top of the raw API surface.

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

Every other property we hold for Frankfurter — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.

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

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

← All providers · Data indexed from github.com/api-evangelist/frankfurter · machine-readable index on apis.io