Dokumentacja /

Dokumentacja API

Skrót kontraktu REST: uwierzytelnianie, limity, pola świeżości, endpointy i błędy.

Uwierzytelnianie i limity

Endpointy danych można testować anonimowo: 12 żądań na minutę i 100 na godzinę dla jednego IP. Klucz uruchamia miesięczny limit konta.

bash · header
Authorization: Bearer YOUR_KEY
X-RateLimit-Remaining: 9999
X-RateLimit-Reset: 1788220800

Pola opisujące świeżość

`source` określa klasę źródła, `market_session` stan rynku, a `data_updated_at` czas zapisania liczby. Zachowaj wszystkie trzy.

Endpointy

GET /v1/latest[/{BASE}]Bieżące kursy, wszystkie lub filtrowane przez symbols.
GET /v1/{YYYY-MM-DD}[/{BASE}]Migawka historyczna dla daty i waluty bazowej.
GET /v1/convert/{FROM}/{TO}[/{AMOUNT}] · POST /v1/convertPrzeliczenie kwoty; pojedynczy GET lub grupowy POST.
GET /v1/rate/{slug}Płaska odpowiedź dla pary podanej jako slug.
GET /v1/rangeSeria dzienna z paginacją i pobieraniem plików.
GET /v1/currenciesLista obsługiwanych walut, bez parametrów.
GET /v1/accountKonto, plan, aktywny klucz i użycie w miesiącu.

Błędy

Każdy błąd ma postać `{ result: "error", code, message }`. Odpowiedź 429 zawiera `Retry-After`; awaria źródła nigdy nie uruchamia danych testowych.

json · error
{
  "result": "error",
  "code": "missing_parameter",
  "message": "missing required parameter: symbols"
}

English complete field-by-field reference →

Użyj z wybranym stosem

To samo żądanie działa z curl, Pythonem i JavaScriptem. Do testów nie potrzebujesz klucza API.

Otwórz szybki start
curl -fsS --max-time 10 "https://api.exchangerate.dev/v1/latest/USD?symbols=EUR,GBP"
Przykładowa odpowiedź
{
  "result": "success",
  "base": "USD",
  "source": "live",
  "sources": {
    "EUR": "live",
    "GBP": "live"
  },
  "market_session": "open",
  "timestamp": "2026-06-15T12:00:00Z",
  "data_updated_at": "2026-06-15T12:00:00Z",
  "effective_at": {
    "EUR": "2026-06-15T12:00:00Z",
    "GBP": "2026-06-15T12:00:00Z"
  },
  "rates": {
    "EUR": 0.86207,
    "GBP": 0.74627
  },
  "derived_symbols": [],
  "notice": "Indicative rates, not for settlement."
}

rates.EUR to liczba EUR za 1 USD. effective_at.EUR oznacza czas obserwacji, a sources.EUR klasę źródła. Wartości i czasy są przykładowe.

Otwórz odpowiedź JSONDokumentacja API