Większość bezpłatnych API wygląda podobnie: JSON, token i lista walut. Różnice widać przy aktualizacji danych, po przekroczeniu limitu i wtedy, gdy kod musi znać wiek kursu.
- Przed uruchomieniem zadania sprawdź limit miesięczny i limit na minutę.
- Świeżość w ciągu dnia odróżnia kurs referencyjny od danych poruszających się z rynkiem.
source,market_sessionidata_updated_atpokazują, z jakich danych korzystasz.- Historia dzienna może zaczynać się w 1999 roku, jeśli para ma odpowiednie obserwacje.
/v1/converti MCP ograniczają ilość kodu pomocniczego.
Dlaczego liczą się wymiary, a nie ranking
Ranking pokazuje preferencję autora z dnia publikacji. Porównanie według wymiarów odpowiada na praktyczne pytanie: czy potrzebujesz dziennego punktu odniesienia, czy kursu zmieniającego się w ciągu dnia?
Wymiar 1: bezpłatny limit i limit zapytań
Limit miesięczny mówi, jak długo możesz prototypować bez opłat, a limit minutowy określa, czy zadanie wsadowe wymaga ponowień. Publiczny feed ECB nie ma limitu API, ale jest w XML i aktualizuje się raz w dzień roboczy. Statyczne projekty JSON, takie jak fawazahmed0/exchange-api, nie oferują własnego serwera ani metadanych świeżości. exchangerate.dev przyjmuje anonimowe zapytania z limitem na IP; bezpłatny klucz daje 5 000 zapytań miesięcznie i 10 na minutę.
Najpierw policz zapytania. Pobieranie kursu przy każdym wczytaniu strony zużywa jedno zapytanie na wizytę. Łącz waluty w symbols, gdy możesz.
Wymiar 2: świeżość w ciągu dnia
ECB publikuje fixing około 16:00 CET w dni robocze. live aktualizuje się co około 60 s w tygodniu handlowym. Free i bez klucza: 15 minut opóźnienia; płatne plany: na żywo. market_session pokazuje stan sesji.
Wymiar 3: metadane świeżości
Użyj data_updated_at, nie czasu odpowiedzi. market_daily: zapisany dzienny kurs zamknięcia rynku dla walut bez fixingu EBC.
source:live,ecb_daily,market_dailymarket_session: stan rynku międzybankowego.data_updated_at: czas ostatniego zapisu danych źródłowych, niezależny odtimestamp.is_forward_filled: informuje, że poprzednia wartość została użyta, bo danego dnia nie opublikowano nowej.
Wymiar 4: zakres historii
Free i dostęp bez klucza obejmują ostatnie 30 dni historii dziennej, Basic ostatni rok. Plus i Pro oferują pełną historię od 1999 r. Dla większej głębokości użyj klucza z /v1/{date}/{base} lub /v1/range.
Wymiar 5: wbudowana konwersja
GET /v1/convert/USD/EUR/100 zwraca w jednym żądaniu rate, converted i derived. POST /v1/convert obsługuje konwersje wsadowe i krzyżowe pary wyliczane po stronie serwera.
Wymiar 6: agenci i MCP
Agent AI potrzebuje uporządkowanych definicji narzędzi. Serwer MCP exchangerate.dev działa pod https://api.exchangerate.dev/v1/mcp i udostępnia siedem narzędzi. Checkout wymaga potwierdzenia człowieka i korzysta z tego samego limitu co REST.
Sześć wymiarów obok siebie
| Wymiar | Referencyjny feed ECB | exchangerate.dev (plan bezpłatny) |
|---|---|---|
| Limit miesięczny | Brak limitu API w publicznym feedzie | 5 000/mies., 10/min |
| Świeżość intraday | Ostatni fixing do następnego dnia roboczego | Free i bez klucza: opóźnienie 15 minut |
| Metadane | Znacznik czasu | source, market_session, data_updated_at |
| Historia | Opublikowane serie XML od około 1999 r. | Ostatnie 30 dni historii dziennej |
| Konwersja | Brak endpointu konwersji | /v1/convert i POST wsadowy |
| Agenci / MCP | Brak natywnego serwera MCP | Serwer MCP z siedmioma narzędziami |
Wybierz rozwiązanie do zadania
Jeśli potrzebujesz wyłącznie dziennego kursu referencyjnego i możesz czytać XML, publiczny feed ECB może wystarczyć. Gdy potrzebujesz zmian intraday, metadanych źródła, historii, konwersji lub narzędzi dla agentów, sprawdź pokrycie par i limity bezpłatnego planu exchangerate.dev.
Dobre API to takie, którego ograniczenia pasują do zadania, a nie takie, które ma najdłuższą listę funkcji.