Get exchange rates
Returns exchange rates blended across providers. Without date params, returns the latest rates. Each record is a single currency pair. The response includes an identity record for the base currency (base equals quote, rate 1), subject to the quotes filter like any other record. Daily date ranges of any length are served, including full history. Limit: requests using providers or expand=providers recompute the blend per date, so at daily granularity they return 422 for ranges longer than 5 years. With providers naming at most 5 providers, a quotes list of at most 5 currencies lifts the cap; without providers, expand=providers ranges compute every currency regardless of quotes, so aggregate with group=week or group=month, add providers, or split the range into shorter requests.
Query parameters
Specific date (YYYY-MM-DD). Cannot be combined with from/to.
Start of date range (YYYY-MM-DD)
End of date range (YYYY-MM-DD). Defaults to today.
Base currency (default: EUR)
Comma-separated list of quote currencies to include
Comma-separated list of data providers to include
Downsample rates by time period. Only applies to date ranges.
Comma-separated list of optional fields to include per record. Currently supports providers, which adds an array of { key, date, rate } objects per record showing each provider's individual observation date and rate. Outliers excluded from the blend (and providers whose rate was overridden by a currency peg) are flagged with excluded: true. The field is omitted on synthesized peg rows where no provider published the quote. In CSV output, the providers column is encoded as KEY:RATE pairs joined by |, with a trailing * on excluded entries (e.g. ECB:0.92|FED:1.50*).
Response
Exchange rates