Dokumentacja /

Historyczne kursy walut

Dla jednego dnia użyj daty w ścieżce, a dla serii `/v1/range`. Opublikowane dane zaczynają się 1999-01-04.

Pobierz jeden dzień

Dla weekendu lub święta endpoint zwraca ostatni opublikowany fixing i ustawia `is_forward_filled` na true. Nie tworzy fikcyjnej obserwacji.

bash · one date
curl "https://api.exchangerate.dev/v1/2024-01-15/EUR?symbols=USD,GBP"

Pobierz zakres dat

Podaj `symbols`, `start_date` i `end_date`. JSON zwraca maksymalnie 366 wierszy na stronę; gdy `has_more` jest true, przekaż `next_cursor` dalej.

bash · date range
curl "https://api.exchangerate.dev/v1/range?base=USD&symbols=EUR,GBP&start_date=2024-01-01&end_date=2024-06-30"

Pobierz CSV lub Parquet

Dodaj `format=csv` lub `format=parquet`. Plik obejmuje cały żądany zakres i nie używa kursora JSON.

bash · CSV
curl -L "https://api.exchangerate.dev/v1/range?base=USD&symbols=EUR,GBP&start_date=2024-01-01&end_date=2024-12-31&format=csv"   --output usd-rates-2024.csv

Zachowaj pochodzenie danych

Zapisuj `source`, `is_forward_filled` i `derived_symbols` razem z obserwacją, aby później móc ją wyjaśnić.

source · is_forward_filled · derived_symbols

Serie intraday i zakres

/v1/timeseries obsługuje 1m, 5m, 15m, 1h, 4h oraz dzienne dane referencyjne 1d. Nie ma interwału 2h. Krzyżowe pary SGD bez USD nie obsługują 4h; USD/SGD i odwrotny kierunek są dostępne. Zbieranie danych rynkowych rozpoczęło się 2026-09-14. Dane 1m są przechowywane przez 30 dni, a większe interwały nie mają zaplanowanego terminu usunięcia. Retencja nie oznacza już zgromadzonej długości historii.

Historyczne pary krzyżowe wymagają rzeczywistych obserwacji zamknięcia w tym samym przedziale UTC, oddalonych o najwyżej 5 sekund. effective_at wskazuje starszą obserwację. Luki nie są wypełniane; otwarty przedział może się zmieniać. 1d korzysta z dziennych danych referencyjnych całego katalogu. Tabela liczy unikalne pary; oba kierunki są obsługiwane.

intervalUnikalne pary
1m91
5m91
15m91
1h91
4h79
1d465
curl · EUR/JPY · 15m
curl "https://api.exchangerate.dev/v1/timeseries?base=EUR&symbols=JPY&interval=15m&from=2026-09-14T12:00:00Z&to=2026-09-14T13:00:00Z"

Obsługiwane okno bez obserwacji zwraca HTTP 200 z data: [], has_more: false i next_cursor: null. Nieznany interwał zwraca unsupported_interval; para poza zakresem zwraca unsupported_pair_interval i rejected_pairs (HTTP 400). Żądania mieszane są odrzucane w całości.

AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR

Szczegóły zakresu i limitów

API kursów intraday