Use GOOGLEFINANCE when the answer belongs in a spreadsheet cell. Use a dedicated exchange-rate API when your application needs JSON, documented quotas, historical ranges, or source and observation fields.
GOOGLEFINANCE as a Google Sheets function, not a backend REST API.GOOGLEFINANCE for spreadsheet-native workflows where its documented limits are acceptable.What Google offers for currency conversion
Google Search can display a currency converter, and Google Sheets provides the documented GOOGLEFINANCE function. The Sheets function is convenient for a person working in a spreadsheet, but Google notes that quotes may be delayed and that historical GOOGLEFINANCE data cannot be downloaded through the Sheets API or Apps Script.
=GOOGLEFINANCE("CURRENCY:USDEUR")Why an application backend needs a different contract
A production backend needs a documented URL, response schema, authentication method, request limits, error behavior, and a stable way to determine when the underlying rate was observed. A search result or spreadsheet formula does not provide that server contract.
Use a JSON exchange-rate endpoint instead
The first request can be made without a key. The server receives a documented JSON response rather than scraping a search page or trying to automate a spreadsheet.
curl "https://api.exchangerate.dev/v1/latest/USD?symbols=EUR"For a past date, start with the historical exchange-rate lookup. It is a quicker way to check the result and see the API request you can use in your backend.
When GOOGLEFINANCE is still the right choice
Keep using GOOGLEFINANCE when the workflow is intentionally spreadsheet-native, a person can inspect the result, and the documented quote delay and historical restrictions are acceptable. A dedicated API is useful when the value must leave the sheet, drive application behavior, or carry audit-friendly source metadata.
