Kod waluty to trzyliterowe oznaczenie zgodne ze standardem ISO 4217 – na przykład PLN dla polskiego złotego, EUR dla euro i USD dla dolara amerykańskiego. W wielu systemach uzupełnia się go o trzycyfrowy kod numeryczny, taki jak 985 dla PLN. Poniżej wyjaśniamy, jak sprawdzić te oznaczenia w tabelach NBP, przez publiczne API i na dokumentach finansowych.
Co to jest kod waluty?
Międzynarodowy standard ISO 4217 porządkuje oznaczenia walut, które są używane w systemach bankowych, księgowych i na rynkach finansowych. Dzięki temu pojęcia takie jak „dolar” stają się jednoznaczne – kod USD oznacza dolara amerykańskiego, CAD dolara kanadyjskiego, a AUD dolara australijskiego. Bez tego systemu transakcje międzynarodowe i dokumenty finansowe wymagałyby dłuższych, rozwiniętych nazw.
Trzyliterowy zapis bywa też uzupełniany o kod numeryczny. Jest to trzycyfrowa liczba, która ułatwia przetwarzanie danych w systemach informatycznych i rozliczeniach. Na przykład PLN ma numer 985, EUR – 978, USD – 840, a CHF – 756. Oba typy oznaczeń są spójne i często pojawiają się razem w tabelach walut oraz komunikatach SWIFT.
Kod waluty w standardzie ISO 4217 to trzyliterowe oznaczenie, któremu często towarzyszy trzycyfrowy kod numeryczny – np. PLN ma numer 985, EUR 978, a USD 840.
Kod ISO a symbol waluty – czym się różnią?
Kod ISO to oficjalne, trzyliterowe oznaczenie, natomiast symbol waluty to znak graficzny. Symbol jest krótszy, ale nie zawsze jednoznaczny. Taki sam znak $ funkcjonuje dla dolara amerykańskiego, kanadyjskiego, australijskiego, nowozelandzkiego, singapurskiego i hongkońskiego. Podobnie ¥ oznacza zarówno japońskiego jena, jak i chińskiego juana.
Wiele symboli ma rodowód historyczny. Zapis £ dla funta szterlinga pochodzi od przekreślonej litery L i rzymskiej jednostki masy libra, która ważyła 0,453 kg. Symbol € nawiązuje do greckiego epsilonu i pierwszej litery słowa Europa, a dwie poziome linie miały oddawać stabilność. Z kolei znak $ wywodzi się od hiszpańskiej monety ośmiorealówki, zapisywanej w księgach podobnie jak cyfra 8 – stąd późniejsze przekreślone S.
W codziennej praktyce przy identyfikacji waluty bezpieczniej opierać się na kodzie ISO niż na samym symbolu. Dotyczy to zwłaszcza wymiany walut, faktur zagranicznych i systemów ERP, gdzie duże znaczenie ma jednoznaczność danych. Poniższe zestawienie pokazuje najczęściej spotykane waluty wraz z kodami i symbolami:
| Kraj lub obszar | Waluta | Kod ISO | Symbol |
| Polska | polski złoty | PLN | zł |
| Strefa euro | euro | EUR | € |
| Stany Zjednoczone | dolar amerykański | USD | $ |
| Wielka Brytania | funt szterling | GBP | £ |
| Szwajcaria | frank szwajcarski | CHF | CHF |
| Czechy | korona czeska | CZK | Kč |
| Węgry | forint węgierski | HUF | Ft |
| Japonia | jen japoński | JPY | ¥ |
| Chiny | juan chiński | CNY | ¥ |
| Turcja | lira turecka | TRY | ₺ |
Jak sprawdzić kod waluty w API NBP?
Narodowy Bank Polski udostępnia publiczne Web API, które zwraca informacje o kursach, tabelach i kodach walut. Punktem wejścia jest adres https://api.nbp.pl/api/. Od 1 sierpnia 2025 r. cała komunikacja musi przebiegać przez HTTPS; starszy protokół HTTP nie jest już wspierany.
Serwis odpowiada w formacie JSON lub XML. Gdy klient nie wskaże formatu, domyślnie otrzymuje JSON. Wybór można przekazać parametrem ?format=json albo ?format=xml, a także nagłówkiem HTTP Accept.
Od 1 sierpnia 2025 r. cała komunikacja z API NBP odbywa się wyłącznie po HTTPS, a domyślnym formatem zwracanych danych jest JSON.
Jakie tabele udostępnia API NBP?
API oferuje trzy typy tabel kursowych: A, B i C. Tabela A zawiera kursy średnie, tabela B dotyczy kursów średnich walut mniej popularnych, a tabela C publikuje kursy kupna i sprzedaży. W zapytaniach typ tabeli podaje się w adresie jako parametr {table}.
Przykładowe wywołanie dla pełnej tabeli A to: https://api.nbp.pl/api/exchangerates/tables/a/. Można też pobrać ostatnie 5 tabel typu A przez adres kończący się na /exchangerates/tables/a/last/5/. Wszystkie daty w API zapisuje się w formacie RRRR-MM-DD, zgodnym z ISO 8601.
Jak pobrać kurs jednej waluty?
Do pobrania kursu jednej waluty stosuje się wzory z segmentem {code}, czyli trzyliterowym kodem ISO 4217. Najczęściej używane zapytania wyglądają następująco:
- aktualny kurs franka szwajcarskiego: https://api.nbp.pl/api/exchangerates/rates/a/chf/
- dzisiejszy kurs dolara z tabeli C: https://api.nbp.pl/api/exchangerates/rates/c/usd/today/
- 10 ostatnich notowań funta: https://api.nbp.pl/api/exchangerates/rates/a/gbp/last/10/?format=json
- kurs euro z konkretnego dnia: https://api.nbp.pl/api/exchangerates/rates/a/eur/2012-01-02/
Zakres dat w pojedynczym zapytaniu nie może być dłuższy niż 93 dni. Jeśli potrzebujesz szerszego przedziału, dzielisz go na kilka wywołań. Można również użyć adresu https://api.nbp.pl/api/exchangerates/rates/a/gbp/2012-01-01/2012-01-31/, aby otrzymać notowania z całego stycznia 2012 roku.
Jakie błędy może zwrócić API?
Brak danych dla poprawnie określonego zakresu zwraca komunikat 404 Not Found. Błędnie sformułowane zapytanie kończy się statusem 400 Bad Request, podobnie jak próba pobrania zbyt dużej serii danych. Limity dotyczą również liczby zwracanych pozycji, dlatego parametr {topCount} pozwala ograniczyć wynik do wskazanej liczby kursów.
Gdzie kody walut mają znaczenie w praktyce?
Kody walut pojawiają się w przelewach zagranicznych, fakturach, deklaracjach celnych i systemach księgowych. W programach finansowych to właśnie kod z pola dokumentu decyduje, jak system rozpozna walutę i przeliczy kwotę. Pełna nazwa, np. „dolar amerykański”, bywa zbyt długa i podatna na pomyłki w rejestrach importowanych między różnymi programami.
W praktyce może się zdarzyć, że kontrahent zagraniczny wysyła fakturę w euro. Po zaciągnięciu jej do lokalnego systemu program widzi kod EUR, ale nie ma przypisanego kursu wymiany. W efekcie dokument potrafi wyświetlić komunikat o zerowym lub ujemnym kursie waluty, a użytkownik musi ręcznie uzupełnić przelicznik. Sam kod waluty nie wystarczy tam, gdzie potrzebna jest wartość kursu z konkretnego dnia.
Kody przydają się też podczas sprawdzania notowań w kalkulatorach walutowych. Kalkulator NBP pobiera kursy publikowane codziennie, z wyjątkiem weekendów i świąt, i pozwala przeliczać kwoty po kursach od 1 stycznia 2002 r. W tabeli średnich kursów z 12 sierpnia 2026 r. euro kosztowało 4,3033 zł, dolar amerykański 3,7300 zł, a frank szwajcarski 4,5892 zł.
FAQ – najczęściej zadawane pytania
Co oznacza kod waluty zgodny z ISO 4217?
To oficjalne, trzyliterowe oznaczenie przypisane do danej waluty, używane w bankowości i dokumentach finansowych.
Czy kod waluty zawsze wystarcza zamiast symbolu waluty?
Kod ISO jest jednoznaczny i bezpieczniejszy przy identyfikacji waluty, natomiast symbol graficzny bywa niejednoznaczny i używany przez kilka krajów.
Jakie dodatkowe oznaczenie może towarzyszyć trzyliterowemu kodowi?
Często obok kodu literowego pojawia się trzycyfrowy numer, ułatwiający przetwarzanie danych i rozliczenia.
Gdzie szukać kodów walut za pomocą API NBP?
Należy użyć publicznego punktu wejścia https://api.nbp.pl/api/ i wywołań z odpowiednimi ścieżkami określającymi tabelę i kod waluty.
Jakie formaty odpowiedzi zwraca API NBP i który jest domyślny?
API zwraca JSON lub XML, a jeśli nie określono formatu, serwer domyślnie przesyła dane w formacie JSON.
Jakie typy tabel kursowych udostępnia API NBP i co zawierają?
Są trzy rodzaje: A z kursami średnimi, B z kursami średnimi dla mniej popularnych walut oraz C z kursami kupna i sprzedaży.
Jakie kody błędów może zwrócić API NBP przy braku danych lub błędnym zapytaniu?
Brak danych dla prawidłowego zakresu skutkuje 404 Not Found, a niepoprawne zapytanie albo zbyt duży zakres zwraca 400 Bad Request.
Jakie ograniczenia dotyczą pobierania notowań w zapytaniach do API?
Pojedyncze zapytanie nie może obejmować okresu dłuższego niż 93 dni; większe zakresy trzeba dzielić na kilka wywołań.