API wymiany walut dla programistów

CurrencyRateAPI umożliwia błyskawiczny dostęp do aktualnych i historycznych kursów walut, pochodzących bezpośrednio z zaufanych banków centralnych, w tym Europejskiego Banku Centralnego.

Nasz interfejs API RESTful, stworzony z myślą o programistach, dostarcza czyste odpowiedzi JSON i umożliwia łatwą integrację ze stronami internetowymi, aplikacjami lub systemami wewnętrznymi w ciągu kilku minut — bez zbędnej złożoności.

GET https://currencyrateapi.com/api/latest?
    base=USD HTTP/1.1

{
    "success": true,
    "base": "usd",
    "date": "2026-01-18",
    "rates": {
        "GBP": 0.8820,
        "JPY": 132.36,
        "EUR": 0.8133
    },
    "last_update_unix": 1737214206
}

Użycie API

Użyj tego żądania, aby pobrać pełną listę obsługiwanych walut wraz z odpowiadającymi im 3-literowymi kodami

GET https://currencyrateapi.com/api/codes HTTP/1.1

Skorzystaj z tego zapytania, aby uzyskać najnowsze kursy wymiany GBP i JPY w stosunku do USD

GET https://currencyrateapi.com/api/latest?base=USD&codes=GBP,JPY HTTP/1.1

Skorzystaj z tego zapytania, aby uzyskać historyczne kursy wymiany USD, EUR i CAD w stosunku do GBP na dzień 25 maja 2020 r.

GET https://currencyrateapi.com/api/2020-05-25?base=GBP&codes=USD,EUR,CAD HTTP/1.1

Języki programowania

CurrencyRateAPI można zintegrować z dowolnym projektem i obsługuje wszystkie główne języki programowania
Zaprojektowane z myślą o elastyczności i łatwości użytkowania, nasze API idealnie wpasowuje się w aplikacje internetowe, mobilne i zaplecza — niezależnie od Twojego stosu technologicznego
$baseCurrency = 'USD';
$codes = 'EUR,CAD,JPY';

$url = 'https://currencyrateapi.com/api/latest?codes=' . $codes .
       '&base=' . $baseCurrency;

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$jsonResponse = curl_exec($ch);
curl_close($ch);

$objResponse = json_decode($jsonResponse);
echo "1 " . $baseCurrency . " is " . $objResponse->rates->EUR . " Euros";
/* Outputs 1 USD is 0.8133 Euros */
base = 'USD'
codes = 'EUR,CAD,JPY'

url = (
    f'https://currencyrateapi.com/api/latest?codes={codes}'
    f'&base={base}'
)

response = requests.get(url)
data = response.json()

print(f"1 {base} is {data['rates']['EUR']} Euros")
const base = 'USD';
const codes = 'EUR,CAD,JPY';

const url = `https://currencyrateapi.com/api/latest?codes=${codes}` +
            `&base=${base}`;

(async () => {
  try {
    const res = await fetch(url);
    const data = await res.json();
    console.log(
      `1 ${base} is ${data.rates.EUR} Euros`
    );
  } catch (err) {
    console.error('Error:', err);
  }
})();
base = 'USD'
codes = 'EUR,CAD,JPY'

url = URI(
  "https://currencyrateapi.com/api/latest?codes=#{codes}" \
  "&base=#{base}"
)

response = Net::HTTP.get(url)
data = JSON.parse(response)

puts "1 #{base} is #{data['rates']['EUR']} Euros"
String base = "USD";
String codes = "EUR,CAD,JPY";
String url = "https://currencyrateapi.com/api/latest?codes=" +
             codes + "&base=" + base;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create(url))
    .build();

HttpResponse<String> response =
    client.send(request, HttpResponse.BodyHandlers.ofString());

JSONObject data = new JSONObject(response.body());
System.out.println(
    "1 " + base + " is " +
    data.getJSONObject("rates").getDouble("EUR") + " Euros"
);
base := "USD"
codes := "EUR,CAD,JPY"
url := "https://currencyrateapi.com/api/latest?codes=" +
       codes + "&base=" + base

resp, err := http.Get(url)
if err != nil {
    panic(err)
}
defer resp.Body.Close()

var data struct {
    Rates map[string]float64 `json:"rates"`
}

if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
    panic(err)
}

fmt.Printf(
    "1 %s is %.6f Euros\n",
    base, data.Rates["EUR"],
)
string base = "USD";
string codes = "EUR,CAD,JPY";

string url =
    $"https://currencyrateapi.com/api/latest?codes={codes}" +
    $"&base={base}";

using HttpClient client = new HttpClient();
string response = await client.GetStringAsync(url);

using JsonDocument doc = JsonDocument.Parse(response);
double eur = doc.RootElement
                .GetProperty("rates")
                .GetProperty("EUR")
                .GetDouble();

Console.WriteLine($"1 {base} is {eur} Euros");

Często zadawane pytania

Najczęściej zadawane pytania dotyczące CurrencyRateAPI, limitów użytkowania, czasu sprawności i sposobu rozpoczęcia korzystania z klucza API
Czym jest CurrencyRateAPI i jak działa?
API kursów walut to szybka i niezawodna usługa RESTful, która dostarcza dokładne kursy wymiany dla 1131 walut globalnych w formacie JSON. Zaprojektowana zarówno dla deweloperów, startupów, jak i ugruntowanych firm, oferuje prosty i wydajny interfejs do dostępu do danych finansowych w czasie rzeczywistym i historycznych – niezależnie od tego, czy tworzysz narzędzia wewnętrzne, aplikacje, czy platformy dla klientów.
Kto utrzymuje i obsługuje usługę Currency Rate API?
Interfejs API kursów walut jest w pełni opracowany, utrzymywany i obsługiwany przez nasz zespół, który koncentruje się na zapewnieniu stabilnego i przyjaznego dla programistów interfejsu danych. Usługa została stworzona z myślą o potrzebach startupów, małych firm i aplikacji korporacyjnych, które wymagają niezawodnego dostępu do danych o kursach walut.
Jaki jest typowy czas sprawności i dostępność interfejsu API?
API kursów walut utrzymuje stały czas sprawności na poziomie 99,9%, w oparciu o 12-miesięczną średnią kroczącą. Usługa jest monitorowana 24/7, aby zapewnić wysoką dostępność, niezawodność i nieprzerwany dostęp do danych o kursach walut.
Czy mogę pobrać kursy wymiany na konkretną datę?
Tak, możesz zażądać historycznych kursów wymiany dla dowolnej daty, począwszy od 4 stycznia 1999 r., korzystając z punktu końcowego historii. Jeśli dane dla żądanej daty będą niedostępne, API automatycznie zwróci kursy dla najbliższej, wcześniejszej daty (w ciągu 8 dni).