CurrencyRateAPI
Narzędzie szybkiego uruchamiania
Chcesz przetestować API bez zagłębiania się w całą dokumentację? Przejdź do Panelu sterowania, gdzie znajdziesz narzędzie Szybkie uruchamianie — prosty sposób na przetestowanie wszystkich dostępnych punktów końcowych jednym kliknięciem.
Kliknij poniższy przycisk, aby zarejestrować się bezpłatnie i rozpocząć korzystanie z narzędzia Quick Launch Tool.
Rozpoczęcie pracy
Kluczowe terminy i koncepcje, których będziesz potrzebować, aby rozpocząć pracę z interfejsem API kursów walut:
| Definicja | Opis |
|---|---|
| Symbol | Trzyliterowy kod waluty (np. USD, EUR). Obsługujemy standardowe kody ISO 4217 dla walut fiducjarnych oraz różne kody dla kryptowalut . |
| Waluta bazowa | Waluta, od której rozpoczyna się konwersja. Na przykład, jeśli 1 USD = X EUR, to USD jest walutą bazową. Domyślną walutą bazową jest EUR. |
| Waluta docelowa | Waluta, na którą przeliczana jest waluta bazowa. W tym samym przykładzie, EUR jest walutą docelową. |
| Kryptowaluty | Oprócz tradycyjnych walut fiducjarnych, nasze API przetwarza i udostępnia kursy wymiany dla szerokiej gamy popularnych kryptowalut. |
| Podstawowy adres URL | Główny adres URL używany dla wszystkich punktów końcowych API. Wszystkie żądania są wysyłane do tej ścieżki bazowej. |
Odpowiedź API
Kursy wymiany walut podawane przez CurrencyRateAPI są domyślnie podawane w euro. Wszystkie dane są zwracane w standardowym formacie JSON i można je łatwo przeanalizować w dowolnym języku programowania.
Przykładowa odpowiedź:
Poniżej znajdziesz przykładową odpowiedź API zawierającą szereg powszechnie używanych walut świata, wszystkie w odniesieniu do waluty EUR i ze znacznikiem czasu, w którym zostały otrzymane.
{
"success": true,
"base": "eur",
"date": "2025-08-25",
"rates": {
"usd": "1.1697",
"gbp": "0.8659",
"cad": "1.6171"
},
"last_update_unix": "1769067006"
}
Jak pokazano powyżej, odpowiedź API dla kursów wymiany w czasie rzeczywistym obejmuje kilka kluczowych pól:
- success wskazuje, czy żądanie zostało zrealizowane pomyślnie.
- base Zwraca 3-literowy kod waluty bazowej użytej w tym żądaniu.
- date zwraca rzeczywistą datę, dla której podano kursy wymiany (format RRRR-MM-DD).
- rates przechowuje listę żądanych walut i ich aktualne kursy wymiany.
- last_update_unix pokazuje znacznik czasu (w formacie Unix) najnowszych dostępnych danych w systemie.
Dostępne punkty końcowe
CurrencyRateAPI zawiera kilka punktów końcowych API, z których każdy oferuje określoną funkcjonalność. Dostępność niektórych punktów końcowych zależy od Twojego planu subskrypcji.
- Punkt końcowy listy walut. Ten punkt końcowy zwraca pełną listę wszystkich obsługiwanych walut.
/api/codes(Alternatywny:/api/currencies) - Punkt końcowy najnowszych stawek. Ten punkt końcowy zwraca dane o kursach wymiany w czasie rzeczywistym dla wszystkich obsługiwanych walut.
/api/latest - Punkt końcowy stawek historycznych. Ten punkt końcowy zwraca historyczne dane dotyczące kursów walut na konkretny dzień.
/api/YYYY-MM-DD(Alternatywny:/api/history?date=YYYY-MM-DD). Dane historyczne są dostępne od 4 stycznia 1999 r.
Metodologia kursów walutowych
Aby zapewnić dokładność i spójność danych, CurrencyRateAPI stosuje rygorystyczną metodologię zarządzania kursami wymiany i ich dostarczania:
- Średnie stawki rynkowe: Domyślnie API zwraca stawki
mid. Stanowią one średnią arytmetyczną między rynkowymi cenami kupna (bid) i sprzedaży (ask) lub oficjalnymi stawkami referencyjnymi banków centralnych. - Finalizacja na koniec dnia (EOD): Historyczne stawki udostępniane przez API są ustalane na koniec dnia w formacie UTC (uniwersalny czas koordynowany).
- Obliczanie współczynnika krzyżowego: W przypadku par walutowych, które nie są bezpośrednio dostępne w naszych źródłach, system automatycznie oblicza bardzo dokładne kursy krzyżowe, wykorzystując główne waluty światowe jako punkt pomostowy (pivot).
- Inteligentny mechanizm awaryjny: Jeżeli dane na żądaną datę są niedostępne (np. z powodu zamknięcia rynku w weekendy lub święta), system automatycznie wyszukuje najnowszy obowiązujący kurs w przesuwającym się 8-dniowym oknie .
- Wysoka precyzja: Aby zapobiec błędom zaokrągleń w obliczeniach finansowych, kursy wymiany są przechowywane i przetwarzane z dokładnością do 18 miejsc po przecinku .
Punkty końcowe
Obsługiwany punkt końcowy symboli
https://currencyrateapi.com/api/codes
Ten punkt końcowy zwraca pełną listę wszystkich obsługiwanych walut. Możesz również użyć aliasu /api/currencies.
Czytelną listę wszystkich obsługiwanych walut znajdziesz także na naszej stronie Obsługiwane waluty .
Podstawowe waluty: Domyślnie niektóre inne punkty końcowe (takie jak /latest i /{YYYY-MM-DD}) zwracają ograniczony zestaw głównych walut globalnych, aby zminimalizować ruch. Te „podstawowe” waluty to:
USD, EUR, GBP, CHF, JPY, CAD, AUD, NZD, SEK, NOK, DKK, ISK, PLN, CZK, HUF, RON, HRK, RSD,
MKD, MDL, TRY, SGD, HKD, KRW, TWD, ILS, AED, SAR, QAR, KWD, BHD, OMR, ZAR
Odpowiedź API:
{
"success": true,
"currencies": {
"EUR": {
"entity": "EUROPEAN UNION",
"currency": "Euro",
"alphabetic_code": "EUR",
"numeric_code": 978,
"minor_unit": 2,
"title": "Euro",
"symbol": "€",
"data_from": "1999-01-04"
},
"BTC": {
"entity": "CRYPTOCURRENCY",
"currency": "Bitcoin",
"alphabetic_code": "BTC",
"title": "Bitcoin",
"symbol": "₿",
"is_crypto": true,
"data_from": "2024-03-02"
},
[...]
}
}
Obiekty odpowiedzi:
| Klawisz | Opis |
|---|---|
| success | Zwraca wartość true w przypadku pomyślnego żądania. Jeśli wartość wynosi false, w odpowiedzi zostanie uwzględniony obiekt błędu. |
| currencies | Zwraca wszystkie obsługiwane waluty wraz ze szczegółowymi informacjami o każdej z nich. |
| entity | Kraj lub region, w którym używana jest dana waluta, lub „KRYPTOWALUTA” w przypadku aktywów cyfrowych. |
| currency | Pełna oficjalna nazwa waluty. |
| alphabetic_code | Standardowy 3-literowy kod alfabetyczny (ISO 4217 dla walut fiducjarnych). |
| numeric_code | Kod numeryczny ISO 4217, jeśli ma zastosowanie. |
| minor_unit | Liczba miejsc dziesiętnych używana w określeniu waluty. |
| withdrawal_date | Data wycofania waluty z obiegu, jeśli ma zastosowanie. |
| title | Krótki tytuł wyświetlany dla waluty. |
| symbol | Symbol graficzny waluty (np. $, €, ₿). |
| is_crypto | Flaga ( true ), jeśli waluta jest kryptowalutą. |
| data_from | Najwcześniejsza data, dla której dostępne są dane o kursie wymiany tej waluty. |
Najnowsze stawki Punkt końcowy
https://currencyrateapi.com/api/latest?
base=USD&
quote=GBP,JPY,EUR
Parametry żądania:
| Parametr | Opis |
|---|---|
| base | [Fakultatywny] Wprowadź 3-literowy kod ISO waluty, aby ustawić walutę bazową do przeliczenia. Domyślnie jest to EUR. |
| quote | [Fakultatywny] Wprowadź listę kodów walut rozdzielonych przecinkami, aby ograniczyć odpowiedź do określonych walut. (Alternatywnie: codes) |
| extended_list | [Fakultatywny] Jeśli ustawiono wartość 1, API zwraca pełną listę dostępnych walut. Domyślnie zwracana jest tylko minimalna lista, aby zmniejszyć ruch. |
| precision | [Fakultatywny] Ustawia liczbę miejsc dziesiętnych w stawkach wyjściowych (0–18). Wartość domyślna zwraca pełną dostępną precyzję bez notacji naukowej. |
Odpowiedź API:
{
"success": true,
"base": "usd",
"date": "2026-01-22",
"rates": {
"gbp": "0.74350935478637",
"jpy": "158.00358051914",
"eur": "0.8518613169776"
},
"last_update_unix": "1769067006"
}
Obiekty odpowiedzi:
| Klawisz | Opis |
|---|---|
| success | Zwraca wartość true w przypadku pomyślnego żądania. Jeśli wartość wynosi false, w odpowiedzi zostanie uwzględniony obiekt błędu. |
| base | Zwraca 3-literowy kod waluty bazowej. |
| date | Zwraca rzeczywistą datę, dla której podano kursy wymiany. |
| rates | Zwraca dane o kursach wymiany dla walut określonych w żądaniu. |
| last_update_unix | Zwraca znacznik czasu Unix wskazujący, kiedy zwrócone dane zostały ostatnio zaktualizowane. |
Punkt końcowy historycznych stawek
https://currencyrateapi.com/api/2025-08-25?
base=EUR&
quote=USD,GBP,CAD
Format alternatywny: /api/history?date=2025-08-25...
Parametry żądania:
| Parametr | Opis |
|---|---|
| date | [Wymagany] Data historyczna, dla której żądane są kursy walut. Format: RRRR-MM-DD. Można ją podać w ścieżce URL (np. /api/2025-08-25) lub jako parametr zapytania (np. /api/history?date=2025-08-25). |
| base | [Fakultatywny] Wprowadź 3-literowy kod waluty, aby ustawić walutę bazową do przeliczenia. Domyślnie jest to EUR. |
| quote | [Fakultatywny] Wprowadź listę kodów walut rozdzielonych przecinkami, aby ograniczyć odpowiedź do określonych walut. (Alternatywnie: codes) |
| extended_list | [Fakultatywny] Jeśli ustawiono wartość 1, API zwraca pełną listę dostępnych walut. Domyślnie zwracana jest tylko minimalna lista, aby zmniejszyć ruch. |
| precision | [Fakultatywny] Ustawia liczbę miejsc dziesiętnych w stawkach wyjściowych (0–18). Wartość domyślna zwraca pełną dostępną precyzję bez notacji naukowej. |
Odpowiedź API:
{
"success": true,
"base": "eur",
"date": "2025-08-25",
"rates": {
"usd": "1.1697",
"gbp": "0.8659",
"cad": "1.6171"
},
"last_update_unix": "1769067006"
}
Obiekty odpowiedzi:
| Klawisz | Opis |
|---|---|
| success | Zwraca wartość true w przypadku pomyślnego żądania. Jeśli wartość wynosi false, w odpowiedzi zostanie uwzględniony obiekt błędu. |
| base | Zwraca 3-literowy kod waluty bazowej. |
| date | Zwraca rzeczywistą datę, dla której podano kursy wymiany. |
| rates | Zwraca dane o kursach wymiany walut w dniu określonym w żądaniu. |
| last_update_unix | Zwraca znacznik czasu Unix wskazujący, kiedy zwrócone dane zostały ostatnio zaktualizowane. |
Przykładowy kod
PHP (cURL)
// Set API Endpoint (can be 'latest' or a date 'YYYY-MM-DD')
$endpoint = 'latest';
// Initialize CURL:
$ch = curl_init('https://currencyrateapi.com/api/'.$endpoint.'?base=USD"e=GBP,JPY');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
// Decode JSON response:
$exchangeRates = json_decode($json, true);
// Access the exchange rate values, e.g. GBP:
echo $exchangeRates['rates']['GBP'];
JavaScript (pobieranie)
// Set endpoint (can be 'latest' or a date 'YYYY-MM-DD')
const endpoint = 'latest';
const params = '?base=USD"e=GBP,JPY';
// Get exchange rates via the selected endpoint:
fetch('https://currencyrateapi.com/api/' + endpoint + params)
.then(response => {
return response.json();
})
.then(json => {
// Exchange rate data is stored in json.rates
console.log(json.rates.GBP);
// Timestamp can be accessed in json.last_update_unix
console.log(json.last_update_unix);
})
.catch(error => {
console.error('Fetch error:', error);
});