Przejdź do głównej zawartości

GET /rates

GET /rates # najnowszy snapshot
GET /rates/YYYY-MM-DD # snapshot historyczny dla wskazanej daty
{
"version": "2026-05-27",
"source": "European Commission TEDB",
"rates": {
"DE": {
"country": "Germany",
"currency": "EUR",
"flag": "https://flagcdn.com/de.svg",
"standard": 19,
"reduced": [7],
"super_reduced": null,
"parking": null
}
}
}
  • versiondata sytuacji, na którą obowiązują stawki. To data publikacji samego TEDB, a nie data zapytania. Dla endpointu najnowszych stawek zmienia się raz dziennie. Dla endpointów historycznych równa się parametrowi ścieżki.
  • source — zawsze "European Commission TEDB".
  • rates[CC] — po jednym wpisie dla każdego kraju UE-27, który ma zarejestrowaną stawkę STANDARD. Kraje bez aktualnej stawki STANDARD są pomijane, a nie zwracane jako null.
    • country — popularna nazwa angielska.
    • currency — ISO 4217.
    • flag — URL do SVG z flagą hostowanego na zewnętrznym CDN-ie. Zacache’uj u siebie, jeśli potrzebujesz gwarancji stabilności.
    • standard — pojedyncza wartość procentowa lub null, jeśli brak.
    • reduced — tablica wartości procentowych, posortowana rosnąco. Może być pusta. Niektóre kraje publikują więcej niż jedną stawkę obniżoną (np. Francja ma 5,5 i 10).
    • super_reduced — pojedyncza wartość lub null. Stosowana m.in. przez Hiszpanię i Włochy.
    • parking — pojedyncza wartość lub null. Stosowana m.in. przez Luksemburg i Austrię.

Wszystkie pola stawek to liczby JSON wyrażone w punktach procentowych (nie punktach bazowych, nie ułamkach). 19 oznacza 19%.

  • Najnowszy (/rates) — Cache-Control: public, max-age=3600, stale-while-revalidate=86400. Świeża odpowiedź jest co najwyżej godzinę stara; stale odpowiedzi do jednego dnia wstecz mogą być serwowane, gdy w tle odświeżamy dane.
  • Historyczny (/rates/YYYY-MM-DD) — Cache-Control: public, max-age=31536000, immutable. Snapshoty nigdy się nie zmieniają; cache’uj je na zawsze.
StatusBodyPrzyczyna
404{"error": "no data yet"}Endpoint najnowszych danych, na tym deployu nie uruchomił się jeszcze żaden cron. Powinno występować wyłącznie przy pierwszym uruchomieniu.
404{"error": "snapshot not found"}Endpoint historyczny, brak snapshotu dla wskazanej daty.
401{"error": "INVALID_KEY"}Brakujący lub nieprawidłowy token bearer.
429{"error": "RATE_LIMITED"} lub {"error": "QUOTA_EXCEEDED"}Zobacz limity i kwoty.

TEDB publikuje raz dziennie roboczo. Cron Stawki odpytuje go codziennie o 07:00 UTC. Zatem /rates opóźnia się względem TEDB o maksymalnie jeden dzień. Pole version jest miarodajną odpowiedzią — porównaj je z własnym zegarem, jeśli potrzebujesz dolnej granicy świeżości.