Where Does Exchange Rate Data Come From? Sources, Accuracy, and Compliance
When a developer asks "where does the data come from?", they are usually not asking out of curiosity. They are asking because an auditor, compliance officer, or product manager wants to know if the rates in their application are legally defensible. The data source determines everything: accuracy, update frequency, auditability, and whether you can use it in regulated financial applications.
The Four Tiers of Exchange Rate Data
Not all exchange rate data is created equal. Here is the hierarchy, from most to least authoritative:
Tier 1: Central Banks Most Authoritative
The European Central Bank (ECB), Federal Reserve, Bank of England, and other central banks publish official reference rates. These are the gold standard for regulatory and tax reporting.
- ECB: ~30 currencies, updated daily at 16:00 CET
- Federal Reserve: ~25 currencies, updated daily at 12:00 ET
- Limitations: Very few currencies, once-daily updates, published with delays
- Best for: Accounting, tax filings, regulatory compliance reports
Tier 2: Licensed Financial Data Providers Production-Grade
Reuters (Refinitiv), Bloomberg, and ICE provide real-time interbank rates sourced directly from Tier 1 banks and market makers. These feeds cost thousands per month when accessed directly.
- Coverage: 150–200+ currencies
- Update frequency: Seconds to minutes
- Data type: Mid-market (interbank) rates
- Best for: Trading, payments, e-commerce, any production app that needs real-time accuracy
Tier 3: Aggregated / Derived Data Varies Widely
Some APIs aggregate rates from multiple unnamed sources, apply their own averaging, or derive rates from commercial exchange services. The quality varies dramatically.
- Transparency: Often unclear which sources are used
- Risk: May include retail spreads or outdated data
- Best for: Non-critical displays, hobby projects
Tier 4: Scraped / Unverified Data Not Recommended
Some free APIs scrape exchange rates from public websites, Google, or other APIs. This data has no provenance, no audit trail, and may violate the source's terms of service.
- Reliability: Can break without notice when the source changes
- Legal risk: May violate terms of service of scraped sources
- Best for: Personal projects only
What Major APIs Actually Use
| API | Primary Source | Tier | Disclosed? |
|---|---|---|---|
| AllRatesToday | Reuters (Refinitiv) / Interbank feeds | Tier 2 | Yes |
| Frankfurter | European Central Bank (ECB) | Tier 1 | Yes |
| Open Exchange Rates | "Multiple commercial sources" | Tier 2–3 | Partially |
| ExchangeRate-API | "Central Banks and financial institutions" | Tier 1–3 | Partially |
| Fixer.io | "European Central Bank and commercial feeds" | Tier 1–3 | Partially |
| CurrencyAPI | Not specified | Unknown | No |
Key insight: Many APIs use vague language like "multiple commercial sources" without naming them. If you need data that will withstand an audit, look for APIs that explicitly name their sources.
Why Data Source Matters for Compliance
If your application handles money, the data source is not just a technical detail — it is a compliance requirement.
Financial Reporting (IFRS / GAAP)
International Financial Reporting Standards (IFRS) and Generally Accepted Accounting Principles (GAAP) require that exchange rates used in financial statements be traceable to a recognized source. Central Bank rates (Tier 1) are always accepted. Rates from a named provider like Reuters (Tier 2) are typically accepted. Rates from unnamed or scraped sources may be challenged by auditors.
Payment Services (PSD2 / PSP Regulations)
In the EU, Payment Services Directive 2 (PSD2) requires transparency in currency conversion. If you process cross-border payments, you must disclose the exchange rate and its source. Using an API that doesn't disclose its source makes this compliance requirement impossible to fulfill.
Tax Reporting
Tax authorities in most countries accept Central Bank rates or recognized market rates for currency conversion. Using rates from an undisclosed source could result in rejected filings or audit findings.
How AllRatesToday Sources Its Data
AllRatesToday sources exchange rates from Reuters (Refinitiv) and interbank market feeds via the Wise (TransferWise) infrastructure. This means:
- Source: Tier 2 — licensed financial data from Reuters/Refinitiv
- Rate type: Mid-market (interbank) — no spread or markup
- Coverage: 160+ currencies including major, minor, and exotic pairs
- Update frequency: Every 60 seconds
- Same data as: Google Finance, XE, Bloomberg rate displays
The API response includes timestamps for every rate, giving you a verifiable audit trail:
{
"source": "USD",
"target": "EUR",
"rate": 0.9234,
"time": "2026-04-09T14:30:00Z"
} For audit trails: Store the rate, timestamp, and source currency pair for every conversion your application performs. This gives auditors a complete record of which rate was used and when.
Choosing the Right Source for Your Use Case
| Use Case | Recommended Source | Why |
|---|---|---|
| Financial statements | Central Bank (Tier 1) | Required by IFRS/GAAP for end-of-period rates |
| Tax reporting | Central Bank (Tier 1) | Accepted by all tax authorities |
| Payment processing | Reuters/Refinitiv (Tier 2) | Real-time accuracy, named source for PSD2 |
| E-commerce pricing | Reuters/Refinitiv (Tier 2) | Live rates prevent margin erosion |
| Dashboard / display | Tier 1 or Tier 2 | Either works; Tier 2 gives fresher data |
| Personal project | Any | Accuracy is less critical |
Questions to Ask Your API Provider
Before committing to an exchange rate API, ask these questions:
- What is the primary data source? Accept named sources (ECB, Reuters, Bloomberg). Be wary of "multiple sources" without specifics.
- Are the rates mid-market or retail? Mid-market rates have no spread. Retail rates include a hidden markup.
- How often is the data refreshed from the source? Not how fast the API responds — how fresh the underlying data is.
- Can I get a data provenance statement? For regulated industries, you may need written confirmation of the data source for auditors.
- What happens if the source goes down? Does the API serve stale data, return errors, or fail over to a secondary source?
Transparent, Traceable Exchange Rates
AllRatesToday sources mid-market rates from Reuters/Refinitiv. Named source, timestamped responses, audit-ready data. Free tier available.
Get Your Free API Key