AkashiDocs
Providers

Frankfurter

Exchange rates published by 100+ central banks (the ECB and others): latest, by date, converted, and as a short daily history.

  • Provider id: frankfurter
  • Tools: 3, at $0.001 per call
  • Categories: Finance & Markets
  • Homepage: frankfurter.dev
  • Provider docs: frankfurter.dev/docs
  • Licence: central-bank reference data
  • Attribution: Frankfurter (rates published by the ECB and other central banks)
ToolPriceWhat it does
frankfurter/convert$0.001Convert an amount between two currencies at the latest (or a dated) central-bank rate.
frankfurter/history$0.001Daily, weekly or monthly exchange-rate history for up to 90 days, with change and range.
frankfurter/rates$0.001Latest or historical exchange rates from a base currency to up to ten others, from central banks.

Inputs are JSON bodies, and unknown fields are rejected with 422 invalid_input (not charged). POST /v1/inspect with a tool's id returns the same input schema, plus the output schema.

Frankfurter Currency Converter

frankfurter/convert · $0.001 per call (local) · Finance & Markets

Convert an amount between two currencies at the latest (or a dated) central-bank rate.

Converts an amount from one currency to another with the rate's publication date, at Frankfurter's blended central-bank rate or one bank's fixing (provider, e.g. ECB). Reference rates: a bank or card will charge a spread on top. For several target currencies use frankfurter/rates; to check the rate against several independent banks use akashi/fx.

Related: frankfurter/rates, akashi/fx.

Input

FieldTypeRequiredDescription
amountnumberyesHow much of the source currency. Greater than 0.
basestringyesConvert from this currency. 3–3 characters. Pattern ^[A-Za-z]{3}$.
quotestringyesConvert to this currency. 3–3 characters. Pattern ^[A-Za-z]{3}$.
datestring (date)noUse the rate of this day (default: latest).
providerstringnoOne central bank's fixing, by Frankfurter provider key (e.g. ECB, FRED, BOE); default: Frankfurter's blend of every bank that publishes the pair. Pattern ^[A-Za-z0-9_]{2,16}$.

Example

Input
{
  "amount": 250,
  "base": "GBP",
  "quote": "NGN"
}
Run it with the CLI
node akashi.mjs run frankfurter/convert --input '{"amount":250,"base":"GBP","quote":"NGN"}'

Frankfurter Rate History

frankfurter/history · $0.001 per call (local) · Finance & Markets

Daily, weekly or monthly exchange-rate history for up to 90 days, with change and range.

A rate series from one currency to up to 5 others between two dates (at most 90 days apart), one point per day, week or month, plus a per-currency summary: first and last value, % change, low and high. The default blend includes weekend points from banks that publish then; provider=ECB gives business days only. For today's rate use frankfurter/rates.

Related: frankfurter/rates, akashi/fx.

Input

FieldTypeRequiredDescription
basestringnoISO 4217, e.g. USD 3–3 characters. Pattern ^[A-Za-z]{3}$. Default "EUR".
quotesarray of stringyes1–5 items. Each item: 3–3 characters. Pattern ^[A-Za-z]{3}$.
startstring (date)yesFirst day, YYYY-MM-DD.
endstring (date)noLast day (default: today; at most 90 days).
groupstringnoOne point per day, week or month. One of day, week, month. Default "day".
providerstringnoOne central bank's fixing, by Frankfurter provider key (e.g. ECB, FRED, BOE); default: Frankfurter's blend of every bank that publishes the pair. Pattern ^[A-Za-z0-9_]{2,16}$.

Example

Input
{
  "base": "USD",
  "quotes": [
    "EUR"
  ],
  "start": "2026-07-01",
  "end": "2026-09-28",
  "group": "week"
}
Run it with the CLI
node akashi.mjs run frankfurter/history --input '{"base":"USD","quotes":["EUR"],"start":"2026-07-01","end":"2026-09-28","group":"week"}'

Frankfurter Exchange Rates

frankfurter/rates · $0.001 per call (local) · Finance & Markets

Latest or historical exchange rates from a base currency to up to ten others, from central banks.

Rates from one currency to up to ten others, latest or as of a date, each with the date it was published. By default Frankfurter blends every central bank that publishes the pair (wide coverage, including weekends where some bank publishes); name a provider such as ECB for one bank's official fixing. Reference rates, not tradable quotes. For a single conversion use frankfurter/convert; for a series use frankfurter/history; for rates cross-checked across several banks with an agreement verdict use akashi/fx.

Related: frankfurter/convert, frankfurter/history, akashi/fx.

Input

FieldTypeRequiredDescription
basestringnoISO 4217, e.g. USD 3–3 characters. Pattern ^[A-Za-z]{3}$. Default "EUR".
quotesarray of stringyesCurrencies to price. 1–10 items. Each item: 3–3 characters. Pattern ^[A-Za-z]{3}$.
datestring (date)noRates published on or before this day (default: latest).
providerstringnoOne central bank's fixing, by Frankfurter provider key (e.g. ECB, FRED, BOE); default: Frankfurter's blend of every bank that publishes the pair. Pattern ^[A-Za-z0-9_]{2,16}$.

Example

Input
{
  "base": "USD",
  "quotes": [
    "EUR",
    "JPY",
    "GBP"
  ]
}
Run it with the CLI
node akashi.mjs run frankfurter/rates --input '{"base":"USD","quotes":["EUR","JPY","GBP"]}'

On this page