Guides, tutorials, and references

How to read exchange rates, build a time series, tell live spot from a reference fix, and wire the API into Next.js, Python, Java, C#, PHP, spreadsheets, or an LLM agent.

ReferenceTop 5 best-performing currencies this weekA completed-week ranking of the five strongest currencies against USD.Updated weeklyReferenceTop 10 most volatile currencies this weekA completed-week ranking of the fixed ten-currency universe by daily volatility.Updated weeklyGuideHow Do Currency Converter Apps Keep Exchange Rates Up to Date?A currency converter stays current by fetching a complete rate observation, caching successful responses, refreshing on a controlled schedule, and preserving the market timestamp when a refresh fails or the market is closed.8 min readGuideIRS yearly average exchange rates, recomputed from daily dataThe IRS has no official exchange rate — it accepts any posted rate used consistently. We recomputed its 2025 yearly average table from daily data and matched it within a tenth of a percent, then computed two currencies the table stops short of.5 min readTutorialHow to get live exchange rates in Excel with Power QueryPaste one Power Query M script into Excel and load a refreshable FX table. It works on Mac and Windows, needs no add-in, and fits comfortably inside the free tier.5 min readTutorialBuild a multi-currency invoice tracker in ExcelDownload a ready-to-use Excel workbook for invoices in EUR, GBP, JPY, and IDR, with dated FX snapshots, formula-driven USD reporting, and an audit trail.8 min readTutorialBuild a Python exchange-rate alert with USD/IDRBuild a Python standard-library monitor that alerts once when USD/IDR crosses a percentage threshold, persists state safely, and respects rate freshness and API limits.8 min readTutorialUse live exchange rates from Gemini CLI with MCPConnect Gemini CLI to exchangerate.dev over Streamable HTTP, discover its tools, and ask for current USD/JPY or USD/KRW rates without writing a REST client.6 min readTutorialBuild an Excel FX tracker with Gemini and Power QueryUse Gemini to draft and explain a Power Query step, then let Excel fetch indicative exchange rates from exchangerate.dev. The workbook stays macro-free and keeps the observed timestamp and market session beside each value.8 min readBlogWhy falling oil strengthened the Indian rupeeBrent fell 4.82% on August 25 and the rupee gained 0.35% against the dollar. The link makes economic sense, but our five-year study found that large oil drops usually produced almost no median same-day move in USD/INR. This time, oil landed alongside central-bank support and a softer dollar.4 min readBlogWhy the yen barely moved after Himino called for timely BOJ hikesBank of Japan Deputy Governor Ryozo Himino argued for timely rate increases, yet the yen barely moved as a group. In our five-pair basket, three crosses rose and two fell between the August 26 daily reference and a 21:40 JST snapshot. The median move was 0.08% toward a weaker yen.6 min readBlogIs Venezuela switching to the US dollar in 2026?No. One lawmaker is drafting a full-dollarization proposal with Steve Hanke. Venezuela has not approved the switch, set a conversion rate, or scheduled the bolívar's withdrawal.4 min readGuideHow to get a free exchange rate API key (and when you don’t need one)You can call the exchangerate.dev API with no key at all — 12 requests a minute, straight from curl or a browser. A free key takes about a minute to create and raises that to 10,000 calls a month with your own quota. This guide shows both paths and where each one stops.4 min readBlogWhy the US reportedly bought yen with eurosThe US reportedly sold euros rather than dollars when it joined Japan's July 31 yen intervention. That directly pressured EUR/JPY, but it did not predetermine what EUR/USD or USD/JPY would do next.4 min readTutorialGet exchange rates in n8n with the HTTP Request nodeBuild a small n8n workflow that fetches current FX rates, exposes each rate as an expression, and runs on a schedule. No community node is required.4 min readTutorialLoad exchange rates into Power BI with Power QueryPaste a Power Query M query into Power BI Desktop, turn the JSON response into a currency table, and keep scheduled refresh working after publication.5 min readComparisonexchangerate.host alternatives, now that it requires a keyexchangerate.host used to answer requests with no signup at all. It is now operated by APILayer, and the free plan caps out at 100 requests a month behind a key. Here is what changed and where developers are moving.7 min readComparisonHit Fixer's 100-call limit? Here is the rest of the fieldFixer's free plan is listed at 100 calls a month and leaves out conversion on the public pricing matrix. That matrix does not clearly state the free plan's base-currency rule, so verify it in Fixer's documentation before building around it. Here is what else is out there.7 min readComparisonOpen Exchange Rates alternatives, once the free plan hits USD-onlyThe free Open Exchange Rates plan gives you 1,000 requests a month, but every one of them is priced in USD. No conversion endpoint, no time series, no other base currency, until you pay $12 a month or more. Here is what that actually costs you, and three other places to look.7 min readComparisonFixer vs ExchangeRate-API: which free tier actually fits your projectFixer caps its free plan at 100 calls a month; its public pricing matrix does not clearly state the free plan's base-currency rule. ExchangeRate-API takes a different approach entirely, splitting a keyed tier from a keyless one with its own rules. The right pick depends on what you are building, not which name sounds more established.7 min readComparisonFixer vs Open Exchange Rates: choose by quota, features, and base currencyOpen Exchange Rates gives a prototype ten times the free monthly allowance. Fixer becomes more interesting when its Basic conversion endpoint matches the job. The deciding input is the request you need to run, not the longer feature list.7 min readBlogUSD/JPY moved above 163. The daily rows don't say when.The ECB-derived USD/JPY cross was 162.74 on July 21 and 163.07 on July 22. Somewhere inside that window, the pair moved through 163. The daily series leaves the time blank.4 min readTutorialExchange rates in Next.js and TypeScriptFetch live exchange rates from a Next.js Server Component, keep the API key off the client, and cache the response without hiding when the underlying rate last changed.6 min readTutorialExchange rates in Java and Spring BootBuild a typed Spring Boot client for live FX rates with RestClient, BigDecimal, environment-based authentication, and explicit freshness fields.6 min readTutorialExchange rates in C# and .NETCreate a typed .NET FX client with IHttpClientFactory, decimal rates, cancellation, a bounded timeout, and source-aware response handling.6 min readTutorialExchange rates in PHP and LaravelFetch and cache live exchange rates with Laravel’s HTTP client, bearer authentication, bounded timeouts, and freshness metadata.6 min readMethodology38 days of exchangerate.dev performance: freshness and availabilityA measured performance report covering data age, observed change intervals, attempted-request availability, metadata coverage, and collector coverage.9 min readBlogWhy the yen stayed weak after a rate hike and ¥11.7tn interventionJapan raised its policy rate to 1% and spent ¥11.7 trillion intervening in foreign exchange, yet USD/JPY was back above 162 by mid-July. The rate gap still matters, but oil, positioning, and fiscal-risk perceptions complete the explanation.7 min readGuideWhy banks, Google, and FX APIs show different exchange ratesThe rates can differ even when nobody is wrong. A reference rate, a card rate, and a dealer quote answer different questions.5 min readMethodologyWas gold up, or was your currency down?From 10 July 2025 to 10 July 2026, USD gold rose 23.93%. The same gold position gained 26.95% in EUR, 37.97% in IDR, and 45.50% in TRY after the local-currency FX leg was included.7 min readCase StudyHow goldprice.dev prices gold in local currenciesHow goldprice.dev combines USD metal prices with exchangerate.dev FX rates to serve local-currency gold prices without hiding freshness boundaries.7 min readBlogWhich currencies are at record lows against the dollar (July 2026)Four currencies sit at or within touching distance of their weakest level ever recorded against the US dollar. Here is the record watch as of 12 July 2026, straight from our own rate history.5 min readBlogWhy the Turkish lira keeps hitting record lowsUSD/TRY is around 46.99, a fresh record. The move is two things stacked together: a structural policy of managed depreciation, and a run of 2026 shocks that forced the central bank to burn reserves defending it.6 min readBlogWhy the Israeli shekel is outperforming in 2026The shekel is the strongest performer in our 33-pair set, up close to 10% against the dollar over the past year. The drivers are a falling risk premium and steady capital inflows, not a high interest rate.6 min readGuideExchange rate API on Stack Overflow: developer troubleshooting, answeredThe FX-API errors developers hit on Stack Overflow, fixed: 401 auth, 429 rate limits, CORS from the browser, stale weekend rates, converting an amount, and pulling historical or time-series data.6 min readGuideExchange rate API problems developers bring to RedditFive Reddit threads from 2018 to 2025 tell the same story at different stages of a project: first someone wants free data, then they need history, and eventually the dependency or its limits become the real problem.6 min readGuideCan you predict exchange rates? The forty-year wallThe most-cited result in international finance says no. Here is where that wall holds, where it cracks, and how to check any forecasting claim before you believe it.6 min readTutorialCan you beat a random walk at FX forecasting? Run the test in 30 linesThe classic result says a "no change" forecast beats every model out of sample. Here is the code to put that to the test yourself, against live daily rates.7 min readBlogWe tried to beat the random walk on five currency pairs. Here is the scoreboardWe ran the FX-forecasting test on five years of live data across five pairs. The random walk won. The more interesting result is how easily a couple of defensible choices could have made it look like we had beaten it.8 min readBlogWhy USD/IDR just hit an all-time highThe rupiah set a record low in June 2026. Here is what actually drove it: the market mechanics first, the politics second, and a clear line between what is verified and what is framing.7 min readTutorialLive exchange rates in Google SheetsPaste one Apps Script function into Google Sheets, then use =FXRATE("USD","EUR") to fetch a pair from exchangerate.dev. The example uses anonymous access, a ten-minute cache, and no secret stored in the spreadsheet.5 min readTutorialHow to get exchange rates in PythonRead live and historical FX rates in Python with a few lines of code. No key to start, 10,000 calls a month once you sign up, and every response tells you how fresh the rate is.5 min readTutorialCurrency conversion in JavaScript and Node.jsFetch live exchange rates and convert amounts in JavaScript using the global fetch API. Works in Node 18+, Deno, Bun, and modern browsers. No key to start, 10,000 calls a month on the free tier.5 min readTutorialGet exchange rates in Go with net/httpBuild a small, typed Go client for exchangerate.dev with net/http, context timeouts, environment-based authentication, and explicit freshness fields.6 min readTutorialGet exchange rates in Swift with URLSessionBuild a concurrency-safe Swift client with URLSession, Codable, URLComponents, and an explicit freshness model for exchange-rate responses.6 min readTutorialGet exchange rates in Zapier with Webhooks by ZapierBuild a Zap that fetches current FX rates with Webhooks by Zapier, maps the JSON fields, and sends the observation to a spreadsheet, CRM, or notification.5 min readGuideHistorical FX rates and time series in one callPull a multi-currency FX series across a date range with a single request to /v1/range. Daily history back to 1999, returned as a data array of daily rows ready to load into pandas.6 min readGuideHow to backfill FX rates without look-ahead biasWhen you reconstruct a historical EUR/USD series for analytics or backtesting, the rate you query must be the one that was knowable on each simulated date, not a value published later. Here is the pattern.6 min readReferenceReading source and market_session in your pipelineEvery exchangerate.dev response carries two freshness fields: source and market_session. Together they tell you exactly what you are looking at, and whether to accept that rate or wait for a fresher one.5 min readGuideIndicative vs executable FX rates: what a rates API actually gives youEvery FX rate you read from an API is one of two things: a reference price for analysis and display, or a dealer quote you can trade on. These are not interchangeable. Knowing the difference determines whether you are building the right thing.6 min readGuideECB reference rates, explainedThe European Central Bank publishes one official FX reference rate per business day. Here is what that means, how it differs from live spot data, and how to read it from the API.6 min readBlogWhat ECB-based FX APIs miss between fixesThe ECB publishes its reference fix once per business day around 16:00 CET. Any API sourced only from that fix is stale the moment the market moves after 16:00 — and stays stale until the next day's fix. Here's what that means for a "latest" endpoint, and how intraday-sourced data differs.5 min readComparisonHow to compare free exchange-rate APIs in 2026Picking a free FX data source is not just about the price. Six dimensions matter: quota, intraday freshness, freshness metadata, history depth, a conversion endpoint, and agent support. Here is how to think through each one.6 min readGuideGive your LLM agent live FX rates over MCPexchangerate.dev runs a Model Context Protocol server so an LLM agent can request currency rates as structured tool calls, without writing a line of REST client code.6 min read

Compare FX APIs

Browse the provider-vs-provider comparison hub or read the latest OANDA vs exchangerate.dev comparison.