Guide/Exchange rate API on Reddit

Exchange rate API problems developers bring to Reddit

Five 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.

ERexchangerate.dev·Updated Sep 1, 2026·6 min read

The provider names change; the failure modes do not. One 2024 post starts after a repository-backed currency feed disappeared. A 2021 post asks for unlimited free requests. Threads from 2018 and 2023 need historical data, not a latest-rate widget. Those are separate engineering requirements, and choosing one API by its free-tier headline will not resolve them.

Key points
The 2024 shutdown thread is an uptime warning: keep the last successful response and a documented fallback.
The 2021 unlimited-free request is really a capacity question. Calculate calls from users, refreshes, retries, and environments.
The 2018 and 2023 history threads need range retrieval, local storage, and observation metadata.
465 pairs, daily history from 1999-01-04, and source plus market_session fields cover those jobs, but the rates remain indicative reference data.

Five threads, five years of the same constraints

These posts are useful as dated problem reports, not as a current provider ranking. Reddit comments age quickly, but each original question exposes a requirement that still belongs in an API evaluation.

Three decisions before choosing a provider

DecisionEvidence from the threadsWhat to build
How will the app behave when the feed is unavailable?The 2024 thread started with a vanished dependency.Set a timeout, retain the last successful response, and document a fallback before launch.
How many upstream calls will this design make?The 2021 thread asks for no limits without defining traffic.Count scheduled refreshes, retries, users, and environments. Cache by base and refresh interval.
Does the product need latest data or a historical dataset?The 2018 and 2023 threads need ranges and research data.Fetch ranges in batches, persist them, and store source and observation time with every series.

Before launch, run one failure drill: block the upstream hostname or force a timeout. The application should return the last successful value with a visible stale flag, preserve its original observation time, and alert after repeated failures. If it instead spins forever or returns zero, the fallback is not ready.

How exchangerate.dev fits these use cases

exchangerate.dev is designed for software that needs a documented REST response rather than a consumer conversion page. The first latest-rate request can be made without a key and is capped per IP. A free key provides 10,000 calls per month at 12 requests per minute; paid plans raise the limits. Check the current pricing before designing a production budget.

465 pairs are covered with daily history back to 1999-01-04. Actively traded currencies update about every 60 seconds during the trading week; reference data is daily. Each response exposes source, market_session, timestamp, and notice, so an application can distinguish a live aggregate from a daily reference or a value carried across a weekend.

curl · try the no-key requestcopy
curl https://api.exchangerate.dev/v1/latest/USD

For a production integration, send a bearer token in the Authorization header, cache the response at the cadence your product needs, and retain the source and timestamp alongside any stored value. See the API reference for request and response details.

What I would ship for each job

  • A personal widget: one cached anonymous request, a visible “updated at” time, and a last-good value for brief outages.
  • A SaaS dashboard: a server-side key, one scheduled upstream refresh, a timeout, and no direct provider call from the browser.
  • A historical chart: a one-time range import plus incremental updates. Do not refetch the whole history on every page view.
  • A backtest: one versioned dataset with source, observation time, missing-day policy, and transformations recorded.
  • A payment or trade: the executable quote from the institution that will settle it, not a public indicative feed.
The thread worth planning for is the 2024 one
A convenient endpoint can disappear after your code ships. Cache latest responses, persist historical imports, expose freshness to the user, and know what the application will do before the next successful request.
ER
exchangerate.dev
Integration guides for developers.

Keep reading

GuideBest sites and APIs to get live exchange ratesRead GuideFree exchange rate APIs comparedRead
More ComparisonsFixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.devCurrencylayer vs ExchangeRate-API
LearnReading source and market_session in your pipelineIndicative vs executable FX rates: what a rates API actually gives youECB reference rates, explained
Live RatesEUR/USDGBP/USDUSD/JPY