Compare the options
Columns compare where each route works, rate limitations, historical access, and usage constraints. The API route requires setup; the built-in options use spreadsheet features. A displayed rate does not establish suitability for trading, and built-in history may have restrictions on programmatic access.
| Provider | Where it works | Rates | History | Limits |
|---|---|---|---|---|
| exchangerate.dev | Google Sheets through an Apps Script FXRATE() function; Excel through Power Query on Windows and Mac | 144 currencies; Free and keyless calls 15 minutes late | Free 30 days; Basic 1 year; Plus and Pro from 1999; Excel download from the history tool | No add-in; Free 5,000 requests/month; keyless 10/minute and 100/hour per IP |
| GOOGLEFINANCE in Google Sheets | Google Sheets formula | Quotes may be delayed up to 20 minutes; source and currency count not stated | DAILY or WEEKLY intervals; cannot be read through the Sheets API or Apps Script | Not intended for professional financial use; dates are treated as noon UTC |
| Excel Currencies data type | Excel for Microsoft 365 (Windows and Mac) with a Microsoft 365 account | Provided as is and may lag; data provider not named | Not described on its help page | Not for trading or investment decisions |
The shortlist
exchangerate.dev
- Best fit: Custom Sheets functions and Excel Power Query
- Price from: $19/month Basic; 100,000 requests
- Free tier: 5,000 requests/month; commercial use with a visible credit link
- Update frequency: About 60 seconds for all 144 currencies on trading days, 15 minutes late on Free; ECB daily fallback
- Coverage: 144 currencies
- Conversion: Single-amount and batch conversion endpoints
- MCP: Yes, nine tools, every plan including Free
- Where it works: Google Sheets through an Apps Script FXRATE() function; Excel through Power Query on Windows and Mac
- Rates: 144 currencies; Free and keyless calls 15 minutes late
- History: Free 30 days; Basic 1 year; Plus and Pro from 1999; Excel download from the history tool
- Limits: No add-in; Free 5,000 requests/month; keyless 10/minute and 100/hour per IP
exchangerate.dev suits a workbook that needs an API route in Sheets or Excel. Its Sheets tutorial builds an Apps Script FXRATE() function using anonymous latest-rate calls and a ten-minute cache. The Excel tutorial uses Power Query on Windows and Mac, with the key in a header. The trade-off is setup: these are tutorials, not an add-in. Free and keyless rates are fifteen minutes late. Free provides 5,000 monthly requests; bound Apps Script code is visible to spreadsheet editors, so consider who can access it.
Sources: Plans and limits, API reference, Historical data, MCP server.
GOOGLEFINANCE in Google Sheets
- Best fit: Built-in formulas inside Google Sheets
- Where it works: Google Sheets formula
- Rates: Quotes may be delayed up to 20 minutes; source and currency count not stated
- History: DAILY or WEEKLY intervals; cannot be read through the Sheets API or Apps Script
- Limits: Not intended for professional financial use; dates are treated as noon UTC
GOOGLEFINANCE in Google Sheets suits a workbook that can use a built-in formula rather than maintain an API integration. Google documents daily or weekly historical intervals and warns that quotes may be delayed up to twenty minutes. The trade-off is automation: historical results cannot be read through the Sheets API or Apps Script. Dates are treated as noon UTC, which can shift the displayed day. Google does not state the rate source or currency count on the help page and says the data is not intended for professional financial use.
Sources: GOOGLEFINANCE help.
Excel Currencies data type
- Best fit: Linked currency data inside Microsoft 365
- Where it works: Excel for Microsoft 365 (Windows and Mac) with a Microsoft 365 account
- Rates: Provided as is and may lag; data provider not named
- History: Not described on its help page
- Limits: Not for trading or investment decisions
Excel Currencies data type suits a workbook using Excel for Microsoft 365 on Windows or Mac with a Microsoft 365 account. It offers a linked currency-pair workflow within Excel rather than a separate API tutorial. The trade-off is the published data limitation: values are provided as is, may lag, and are not for trading or investment decisions. Microsoft does not name the data provider on the help page or describe historical access there. Check the required workbook workflow rather than assuming a history export is included.
Sources: Currency pairs help.
Choose by how the workbook runs
Check where the file opens, how it refreshes, and whether another system needs to read its historical results. Those requirements can decide the integration route.
| If you need | Start with |
|---|---|
| Workbook environment | Confirm whether the workbook runs in Sheets or Excel and which account opens it. Check Microsoft 365 access before choosing the Currencies data type. |
| Refresh behaviour | Decide how old a displayed rate may be. Include formula delays, API plan delays, and the tutorial’s cache when planning refresh behaviour. |
| Historical automation | Check whether history must be read by a script or external system. GOOGLEFINANCE historical results cannot be retrieved through Apps Script or the Sheets API. |
| Code and credentials | Review who can edit the spreadsheet and see bound scripts. For the API route, follow the tutorial’s authentication and caching guidance. |
How we chose
We compared the documented spreadsheet workflows, supported environments, refresh caveats, historical access, automation restrictions, and setup requirements. Sources were checked on 18 Oct 2026. This is a documented-feature comparison, not a benchmark of rate accuracy, formula speed, or workbook performance. exchangerate.dev publishes this comparison and appears as the API tutorial option. Microsoft’s unnamed provider and unstated historical features are left qualified; no first-party add-in is implied by the tutorials. exchangerate.dev and Narwhal API are owned and operated by Nusantara Ventures, LLC.
Sources checked October 18, 2026. Prices and entitlements can change.
Related comparisons
- Best exchange rate APIs for developers: The broader comparison of developer exchange-rate services
- Best currency APIs (2026): Currency coverage and amount conversion in apps
- Best forex APIs (2026): Streaming, candles, history, and execution requirements
- Free exchange rate API comparison: A closer look at free-plan limits and trade-offs
- Best free exchange rate APIs (2026): Free quotas, freshness, keyless access, and commercial terms
- Best currency converter APIs (2026): Amount conversion endpoints, plan access, and app integration
- ExchangeRate-API alternatives (2026): Alternatives for daily rates, conversion, history, and MCP
- currencyapi alternatives (2026): Commercial terms, free access, update plans, and conversion
- Fixer alternatives (2026): Base selection, conversion access, and alternatives to Fixer
- Open Exchange Rates alternatives (2026): Free bases, amount endpoints, MCP, and billing periods
- Best historical exchange rate APIs (2026): Archive depth, date ranges, and historical plan access
- Best currency APIs with MCP (2026): MCP connections, tool access, quotas, and rate terms
- OANDA API alternatives: Observation types, historical depth, and alternatives to OANDA
- Frankfurter alternatives: Daily rates, newer observations, conversion, and keyless access
- Currencylayer alternatives: Commercial terms, source currencies, conversion, and update plans
- exchangerate.host alternatives: Free access, date ranges, and alternatives to exchangerate.host
- XE API alternatives: Annual billing, update intervals, and alternatives to XE
- XE vs Wise exchange rates: Converter displays, transfer quotes, and rates in code