Excel
Excel's nearest built-in is the Microsoft 365 Currencies data type: a live blended rate you can't pin to a source or pull history from. Frankfurter's blend is inspectable, and when the source has to be exact you can pin one authority: the ECB reference rate for EU VAT, Poland's NBP, or Brazil's PTAX. You also get historical rates that don't silently change. There's no Apps Script here, so Power Query does the work, with a Windows-only formula for quick one-off conversions.
Power Query
The main path, and it works on Windows and Mac. Go to Data, From Web, paste the CSV endpoint, and load a date,base,quote,rate table you can refresh any time with Data, Refresh All:
https://api.frankfurter.dev/v2/rates.csv?base=USD"es=EURAsk for several quotes at once by separating them with commas:
https://api.frankfurter.dev/v2/rates.csv?base=USD"es=EUR,GBP,JPYConvert an Amount
Power Query loads the rate, not a converted total. Multiply your amount by the loaded rate cell. For a one-off conversion without a query, Windows Excel can call the API inline. Add a named function (Formulas, Name Manager, New) called FRANKFURTER with this definition:
=LAMBDA(amount, from, to, amount * VALUE(TEXTBEFORE(TEXTAFTER(WEBSERVICE("https://api.frankfurter.dev/v2/rate/" & from & "/" & to), """rate"":"), "}")))Then call it from any cell:
=FRANKFURTER(100, "USD", "EUR") WEBSERVICE is Windows-only, and since Excel has no JSON parser in formulas the function reads the rate straight out of the response text. On Mac, multiply against a Power Query rate cell instead.
Pin an Official Provider
By default you get the blend across every provider. Add providers to the query URL to pin a single authority. This matters for tax and accounting: many countries require their own central bank's published rate when converting foreign-currency amounts.
https://api.frankfurter.dev/v2/rates.csv?base=USD"es=EUR&providers=ECBECB- European Central Bank reference rate, the standard for EU VAT and customs.
NBP- Narodowy Bank Polski. Polish VAT and CIT convert at the NBP rate.
CNB- Czech National Bank fixing, used for Czech accounting and tax.
BCB- Banco Central do Brasil PTAX, the reference for Brazilian contracts and tax.
BANXICO- Banco de México FIX rate for settling US dollar obligations.
Browse all providers. A pinned provider follows its own publishing schedule, so its latest rate can trail the blended latest by a day.
Historical Series
Use from for a date range and group=month to collapse it to one row per month, ready to chart. Load it through Power Query and it refreshes like any other query. This is where Frankfurter earns its place in a workbook: long, stable series that don't get silently revised.
https://api.frankfurter.dev/v2/rates.csv?from=1949-12-01&base=USD"es=GBP&providers=BBK&group=month That pulls the US dollar against the pound back to 1949 from the Deutsche Bundesbank archive. You can watch the $2.80 cable peg hold flat for years, then break in 1967. Deep history runs through the Bundesbank's Frankfurt fixings: the dollar against the mark from 1948, most other dollar crosses from 1949 to 1970. The European Central Bank takes over from 1999, so a continuous modern series uses the default blend or providers=ECB.