Historical exchange rates by date
Choose your currencies and a past date to see the exchange rate. You can also browse a whole year, compare a date range, and download the daily rates for your spreadsheet.
Download daily rates
CSV or Excel, one row per published day with the rate and its source.
Preview
| Date | 1 USD / EUR | Converted amount (100.000 USD) | Source |
|---|---|---|---|
| 2025-01-02 | 0.96890 | €96.89 | ECB |
| 2025-01-03 | 0.97097 | €97.10 | ECB |
| 2025-01-06 | 0.95914 | €95.91 | ECB |
| 2025-01-07 | 0.96219 | €96.22 | ECB |
| 2025-01-08 | 0.97220 | €97.22 | ECB |
| 2025-01-09 | 0.97040 | €97.04 | ECB |
| 2025-01-10 | 0.97050 | €97.05 | ECB |
| 2025-01-13 | 0.98058 | €98.06 | ECB |
| 2025-01-14 | 0.97609 | €97.61 | ECB |
| 2025-01-15 | 0.97087 | €97.09 | ECB |
| 2025-01-16 | 0.97352 | €97.35 | ECB |
| 2025-01-17 | 0.97106 | €97.11 | ECB |
| 2025-01-20 | 0.96937 | €96.94 | ECB |
| 2025-01-21 | 0.96553 | €96.55 | ECB |
| 2025-01-22 | 0.95758 | €95.76 | ECB |
| 2025-01-23 | 0.96117 | €96.12 | ECB |
| 2025-01-24 | 0.95493 | €95.49 | ECB |
| 2025-01-27 | 0.94967 | €94.97 | ECB |
| 2025-01-28 | 0.95960 | €95.96 | ECB |
| 2025-01-29 | 0.96191 | €96.19 | ECB |
| 2025-01-30 | 0.96126 | €96.13 | ECB |
| 2025-01-31 | 0.96219 | €96.22 | ECB |
| 2025-02-03 | 0.97333 | €97.33 | ECB |
| 2025-02-04 | 0.96759 | €96.76 | ECB |
| 2025-02-05 | 0.95951 | €95.95 | ECB |
The range shows published observations. Missing dates stay missing; weekends are not added to the table. Daily reference rates are indicative. Your bank or payment provider may use a different rate and add fees.
Request these dates through the API
Use the dated endpoint for one day, or /v1/range for a series. JSON ranges return pages of up to 366 rows; follow next_cursor while has_more is true. Each request supports up to 1,830 days.
curl "https://api.exchangerate.dev/v1/range?base=USD&symbols=EUR&start_date=2025-01-01&end_date=2025-12-31"How to look up a historical rate
- Choose the two currencies and the amount you want to convert.
- Select a year, a date range or one date, then download CSV or Excel, or check the preview.
- Check the observation dates and source before using the result. Downloads include the rate and its source for each row.
What happens on weekends and holidays?
A lookup for one date may use the most recent earlier observation when no new rate was published that day. We label that carried-forward value. A range contains actual publication dates, with no extra weekend rows.
How far back does the data go?
Daily reference history begins in 1999 for many currencies. The available start date varies by pair, and some dates have no observation. A blank period means we have no rate for that selection.