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);
    });