Przejdź do treści
Menu
📰 Masz nowe informacje z granic? Prześlij ją do naszej sekcji aktualności i otrzymaj indeksowalny link dofollow + bezpłatne tłumaczenie na 24 języki — 1 artykuł tygodniowo za darmo. Wyślij wiadomości graniczne →

Dokumentacja API

REST + JSON przez HTTPS. Jeden bazowy URL, jeden klucz, przewidywalne koperty.

Raw .md GitHub
Bazowy URLhttps://nakordoni.eu/api/v1/data/
FormatJSON, UTF-8
UwierzytelnianieAuthorization: Bearer NKD-DEV-…
WersjonowanieWersjonowanie w ścieżce i osobno dla każdego endpointu: /api/v1/… jest stabilny; /api/v2/… udostępnia nowe zachowanie tylko dla endpointów, które się zmieniły, a dla pozostałych przezroczyście wraca do v1. Odpowiedzi v1 nigdy się nie zmieniają. Jeśli Twój klucz korzysta z wersji zastąpionej przez nowszą, wyślemy Ci e-mail i pokażemy powiadomienie w portalu dewelopera — nie musisz się o tym dowiadywać z listy zmian.

Na tej stronie

Uwierzytelnianie · Format odpowiedzi · Limity · Przykłady kodu · Excel / Power Query · ERP (BAS / 1C) · Serwer MCP · Atrybucja · Licencja danych i rynki · Aktualność danych · Eksport danych historycznych · Co możesz zbudować
Produkty Kolejki graniczne: Status API · API katalogu przejść granicznych · API kolejek granicznych v2 · API wyszukiwania przejść granicznych · API kolejki granicznej na żywo · Advanced Wait Time API · API wielu przejść granicznych · API alternatywnych przejść granicznych · API kolejki na żywo i aktualności  ·  Prognozy i statystyki: API prognozy kolejki · API godzinowych statystyk przejścia · API „Najlepszy czas przekroczenia"  ·  Paliwo i lokalizacje: API cen paliw w UE · API cen paliwa według miast · API pobliskich stacji paliw · API najtańszego paliwa w pobliżu · API lokalnych cen paliw · API nazw rodzajów paliwa · API punktów POI dla kierowców · API parkingów dla ciężarówek · API pobliskich sklepów · API bezpłatnych pryszniców · API restauracji dla kierowców · API stref przemysłowych · API kursów walut  ·  Planowanie podróży: API planera trasy · API macierzy podróży przez granicę · API zakazów ruchu ciężarówek v2 · API niedziel handlowych · API Kalendarz świąt  ·  Kierowcy i drogi: API stanu dróg v2 · API winiet i opłat drogowych · API punktów internetowych · API granicznych statystyk przewoźników autobusowych · API warunków pogodowych na granicy · Air Alert Proximity API  ·  Your Fleet (NakBus Live): API pojazdów floty · API pozycji floty na żywo · API historii tras floty  ·  Asystent AI: API granicznego asystenta AI · API spersonalizowanego asystenta AI

Uwierzytelnianie

Każde żądanie wymaga Twojego klucza API w nagłówku Authorization (zalecane) lub jako parametr ?key=.

curl "https://nakordoni.eu/api/v1/data/queue?ppid=id_13" \
  -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"

Format odpowiedzi

{
  "ok": true,
  "api_version": "v1",
  "product": "queue",
  "attribution": "Data by nakordoni.eu",
  "data": { ... },
  "usage": { "limit": 1000, "used": 42, "reset": "2026-06-06T00:00:00Z" }
}

Błędy zwracają ok:false z error.code (missing_api_key, invalid_api_key, qps_exceeded, quota_exceeded, unknown_product, product_unavailable, bad_request, internal_error) oraz statusem HTTP 401/403/404/429/500. Nagłówki limitu częstotliwości X-Devapi-Limit i X-Devapi-Remaining są wysyłane w każdej rozliczanej odpowiedzi.

Limity

Explorer
wywołań/dzień dla standardowych API danych1,000
wywołań/dzień dla API prognoz i statystyk200
QPS2

Liczniki dzienne resetują się o północy UTC. Otrzymujesz e-mail przy 80% i 100% limitu.

Płatne plany podnoszą każdy z tych limitów. Aktualne plany i ich limity: Plany

Przykłady kodu

curl

curl "https://nakordoni.eu/api/v1/data/queue?ppid=id_13" \
  -H "Authorization: Bearer $NKD_API_KEY"

JavaScript (fetch)

const res = await fetch('https://nakordoni.eu/api/v1/data/forecast?ppid=id_13&prediction_steps=24', {
  headers: { Authorization: `Bearer ${process.env.NKD_API_KEY}` }
});
const { ok, data, error, usage } = await res.json();
if (!ok) throw new Error(error?.code ?? res.status);
console.log(`forecast points: ${data.length}, calls left today: ${usage.limit - usage.used}`);

Python (requests)

import os, requests

r = requests.get(
    "https://nakordoni.eu/api/v1/data/stats",
    params={"ppid": "id_15", "compare": 1},
    headers={"Authorization": f"Bearer {os.environ['NKD_API_KEY']}"},
    timeout=15,
)
payload = r.json()
print(payload["data"]["daily"], payload["usage"])

Excel (Power Query)

Pobieraj dane o kolejkach, prognozach czy zakazach dla ciężarówek prosto do arkusza dzięki wbudowanemu konektorowi JSON w Power Query — bez kodu, z odświeżaniem według harmonogramu. Ten sam wzorzec nagłówków (Headers) działa dla każdego produktu tego API — wystarczy zmienić URL.

Data → Get Data → From Other Sources → Blank Query, then Home → Advanced Editor and paste:

let
    ApiKey = "NKD-DEV-XXXX-XXXX-XXXX",
    Source = Json.Document(Web.Contents("https://nakordoni.eu/api/v1/data/queue",
        [Query = [ppid = "id_13"], Headers = [Authorization = "Bearer " & ApiKey]])),
    data = Source[data],
    AsTable = Record.ToTable(data)
in
    AsTable

Trzymaj klucz API wewnątrz zapytania M (Home → Advanced Editor), a nie w komórce arkusza — Power Query blokuje żądanie internetowe zbudowane na podstawie innego zapytania lub komórki ("Formula.Firewall"), chyba że poziom prywatności ustawiono na Organizational.

Wiele przejść granicznych w jednej tabeli (dashboardy flotowe) — e.g. every truck crossing UA→EU (crossing_type=9):

let
    ApiKey = "NKD-DEV-XXXX-XXXX-XXXX",
    Source = Json.Document(Web.Contents("https://nakordoni.eu/api/v1/data/border/1/all/9",
        [Headers = [Authorization = "Bearer " & ApiKey]])),
    checkpoints = Source[data],
    AsTable = Table.FromRecords(checkpoints)
in
    AsTable

Data → Refresh All w Excelu lub zaplanowane odświeżanie w Power BI / Excel Online utrzymuje aktualność danych — bez kodu odpytywania (polling).

Integracja z ERP (BAS / BAF i platformy z rodziny 1C)

BAS / BAF i inne platformy z rodziny 1C mogą wywoływać to API bezpośrednio z zadania cyklicznego — HTTPConnection plus ReadJSON, bez warstwy pośredniej. Najczęstszy scenariusz to utrzymywanie aktualnego rejestru informacji z cenami paliw w UE.

Odświeżanie rejestru informacji (ceny paliw, wszystkie kraje w jednym wywołaniu)

// Scheduled job — runs once a day
Connection = New HTTPConnection("nakordoni.eu", 443, , , , 30, New OpenSSLSecureConnection);

Headers = New Map;
Headers.Insert("Authorization", "Bearer NKD-DEV-XXXX-XXXX-XXXX");

Request  = New HTTPRequest("/api/v1/data/fuel", Headers);
Response = Connection.Get(Request);

Reader = New JSONReader;
Reader.SetString(Response.GetBodyAsString("UTF-8"));
Answer = ReadJSON(Reader, True);
Reader.Close();

If Answer["ok"] <> True Then
    // Answer["error"]["code"] says why; Answer["usage"] holds your quota state
    Return;
EndIf;

For Each Row In Answer["data"] Do
    Record = InformationRegisters.FuelPrices.CreateRecordManager();
    Record.Period   = CurrentSessionDate();
    Record.Country  = Row["country"];    // "PL", "DE", "SK", "RO", ...
    Record.Diesel   = Row["diesel"];
    Record.Petrol   = Row["petrol"];
    Record.LPG      = Row["lpg"];
    Record.Currency = Row["currency"];
    Record.Write();
EndDo;

Trzy rzeczy do zrobienia poprawnie: przekaż New OpenSSLSecureConnection na porcie 443, inaczej żądanie polegnie na TLS; wywołuj /api/v1/data/fuel bez parametru country, żeby jedno żądanie zwróciło wszystkie kraje zamiast osobnego wywołania dla każdego; i sprawdzaj ok, zanim sięgniesz po data — błędy wracają jako ok:false z error.code, a nie jako wyjątek. Przykład używa angielskiego zestawu słów kluczowych platformy; zlokalizowane odpowiedniki (HTTPСоединение, ПрочитатьJSON, РегистрыСведений) działają identycznie.

Ceny paliw u źródeł zmieniają się raz na dobę, więc zadanie raz lub dwa razy dziennie w zupełności wystarczy i mieści się głęboko w darmowym limicie Explorer. Dane kolejek na żywo (queue, multi, border) zmieniają się co kilka minut — odpytuj je we własnym rytmie i użyj multi, aby odczytać do 5 przejść jednym żądaniem zamiast w pętli.

Serwer MCP

Wolisz wywoływanie narzędzi zamiast REST? Uruchamiamy prawdziwy serwer MCP (transport Streamable HTTP), udostępniający bezpieczny, tylko do odczytu podzbiór tego API jako narzędzia MCP — ten sam klucz API, ten sam limit, po prostu inny transport.

Endpoint: https://nakordoni.eu/mcp · Server card: /.well-known/mcp/server-card.json

get_api_status      — no key required
list_checkpoints     — country, lang
get_border_queue     — origin, destination, crossing_type, lang
get_live_queue       — ppid, lang
get_queue_forecast   — ppid, prediction_steps

Konfiguracja klienta (Claude Desktop / Claude Code):

{
  "mcpServers": {
    "nakordoni": {
      "url": "https://nakordoni.eu/mcp",
      "headers": { "Authorization": "Bearer NKD-DEV-XXXX-XXXX-XXXX" }
    }
  }
}

Produkty

Partial outage Checked 2026-09-05T04:55:04Z · Live JSON: GET /api/v1/data/status (no key) · full status page

Wybierz endpoint, aby zobaczyć pełną dokumentację, parametry, wersje i żywą piaskownicę.

Standardowy korzysta z domyślnej puli danych  ·  Ciężki korzysta z limitu prognozy i statystyk — zobacz Limity

Kolejki graniczne

Status API Standardowy

Aktualny stan każdego produktu Developer API: online / zdegradowany / offline, opóźnienie odpowiedzi i czas ostatniego sprawdzeni…

API katalogu przejść granicznych StandardowyOnline

Katalog wszystkich monitorowanych przejść granicznych: identyfikatory, nazwy, kraje, współrzędne i status. Użyj go, aby poznać wa…

API kolejek granicznych CiężkiOnlinev2

Wszystkie przejścia na danej granicy dla jednego typu pojazdu w jednym zapytaniu — żywa kolejka, szacowany czas i świeżość danych…

API wyszukiwania przejść granicznych StandardowyOnline

Znajdź PPID przejść granicznych po nazwie w dowolnym języku. Zwraca wszystkie PPID dla tej lokalizacji pogrupowane wg typu pojazd…

API kolejki granicznej na żywo CiężkiOnline

Kolejki w czasie rzeczywistym, szacowany czas oczekiwania i status dla dowolnego przejścia. Zawiera blok snapshot: aktualna kolej…

Advanced Wait Time API CiężkiOnline

Wait time adjusted for live traffic flow and weather, with a full breakdown of each adjustment, plus the same wait_status/trend f…

API wielu przejść granicznych CiężkiOnline

Pobierz status kolejki i świeżość danych dla maksymalnie 5 przejść granicznych w jednym żądaniu. Przydział jest liczony jako ⌈(N …

API alternatywnych przejść granicznych StandardowyOnline

Pobliskie alternatywne przejścia na tej samej granicy z aktualnymi kolejkami i różnicami odległości.

API kolejki na żywo i aktualności StandardowyOnline

Kiedy przejście było ostatnio aktualizowane, przez jakie źródło, oraz ocena świeżości.

Prognozy i statystyki

API prognozy kolejki CiężkiOnline

Prognoza poziomów kolejki na bazie zespołu modeli ML: horyzonty 24-godzinny i 7-dniowy (168 h) z przedziałami ufności. Ten sam mo…

API godzinowych statystyk przejścia CiężkiOnline

Godzinowe historyczne statystyki kolejki dla przejścia i daty: 24 wartości godzinowe, dobowa średnia/min/max, godziny szczytu i n…

API „Najlepszy czas przekroczenia" StandardowyOnline

Statystyki typowego tygodnia dla przejścia: macierz 7×24 dzień-tygodnia×godzina (mediana + zakres p25/p75), najspokojniejszy/najb…

Paliwo i lokalizacje

API cen paliw w UE StandardowyOnline

Ceny paliwa w krajach EU — średnie dla country, najbliższe stacje według współrzędnych lub stacje w pobliżu przejścia granicznego…

API cen paliwa według miast StandardowyOnline

Podsumowanie cen paliwa dla każdego dużego miasta w kraju: najtańsza stacja i średnia z 5 najtańszych.

API pobliskich stacji paliw StandardowyOnlinev2 tylko

Najbliższe stacje paliw względem punktu lub city z aktualnymi cenami dla każdego rodzaju paliwa, posortowane według odległości. P…

API najtańszego paliwa w pobliżu StandardowyOnlinev2 tylko

Najtańsze stacje paliw wokół punktu lub city, uszeregowane według ceny dla wybranego rodzaju paliwa (w przypadku remisu wygrywa n…

API lokalnych cen paliw StandardowyOnlinev2 tylko

Najlepsza dostępna cena paliwa dla dowolnego punktu w Europie, ustalana według trzystopniowej drabiny. Tam, gdzie mamy dane stacy…

API nazw rodzajów paliwa StandardowyOnlinev2 tylko

Tablica nazw, na której opierają się wszystkie produkty paliwowe: nasze kanoniczne kody rodzajów paliwa i to, jak każdy z nich na…

API punktów POI dla kierowców StandardowyOnline

Parkingi dla ciężarówek (14k+), bezpłatne prysznice, usługi i supermarkety w całej Europie ze współrzędnymi. Wyniki są posortowan…

API parkingów dla ciężarówek StandardowyOnlinev2 tylko

Najbliższe parkingi dla ciężarówek, Autohöfe i miejsca postojowe względem punktu lub city — posortowane według odległości z dista…

API pobliskich sklepów StandardowyOnlinev2 tylko

Najbliższe supermarkety i sklepy spożywcze względem punktu lub city — posortowane według odległości z distance_km, nazwą, współrz…

API bezpłatnych pryszniców StandardowyOnlinev2 tylko

Najbliższe bezpłatne prysznice dla kierowców względem punktu lub city — posortowane według odległości z distance_km, nazwą, współ…

API restauracji dla kierowców StandardowyOnlinev2 tylko

Najbliższe restauracje przyjazne kierowcom względem punktu lub city — posortowane według odległości z distance_km, nazwą, współrz…

API stref przemysłowych StandardowyOnlinev2 tylko

Najbliższe strefy przemysłowe i logistyczne względem punktu lub city (ponad 3k+ w całej Europie) — posortowane według odległości …

API kursów walut StandardowyOnline

Kursy wymiany oparte na EUR dla PLN, CZK, HUF, USD, GBP, CHF, NOK i UAH, źródło Frankfurter (ECB), cache 6h. Brak parametrów — za…

Planowanie podróży

API planera trasy CiężkiOnlinev2 tylko

Plan podróży od drzwi do drzwi: trasa, przejścia graniczne na niej z bieżącą kolejką lub prognozą na godzinę przyjazdu oraz posto…

API macierzy podróży przez granicę CiężkiOnline

Czas przejazdu + kolejka graniczna dla wszystkich przejść z danego miejsca wyjazdu. Zwraca czas jazdy, bieżącą kolejkę, łączny sz…

API zakazów ruchu ciężarówek StandardowyOnlinev2

Europejskie ograniczenia ruchu ciężarówek według country i daty, w tym zakazy sezonowe i świąteczne. Każdy zakaz zawiera swój typ…

API niedziel handlowych StandardowyOnline

Przepisy dotyczące niedzielnego handlu detalicznego i najbliższe niedziele handlowe dla każdego regulowanego kraju UE.

API Kalendarz świąt StandardowyOnline

Oficjalne dni wolne od pracy dla każdego kraju europejskiego — daty, nazwy lokalne i typ, z pełną listą dni wolnych dla każdego k…

Kierowcy i drogi

API stanu dróg StandardowyOnlinev2

Zatwierdzone zgłoszenia stanu dróg w pobliżu granic i na głównych korytarzach: dziury, roboty drogowe, zamknięcia, lód, zagrożeni…

API winiet i opłat drogowych StandardowyOnlinev2 tylko

Czy dana country wymaga winiety do podróży autostradami, aktualne ceny w zależności od okresu ważności i gdzie przeczytać więcej …

API punktów internetowych StandardowyOnlinev2 tylko

Sklepy operatorów komórkowych i punkty WiFi przydatne kierowcom w trasie, od najbliższych względem punktu lub city z distance_km.

API granicznych statystyk przewoźników autobusowych StandardowyOnline

Wyniki przekraczania granicy według przewoźnika autobusowego: przejazdy, średni/medianowy/min/max czas oczekiwania w minutach — z…

API warunków pogodowych na granicy StandardowyOffline

Zagrożenie drogowe na przejściu granicznym w jednej skali 0–5: czysta droga, mgła, śnieg, deszcz, gołoledź lub silny wiatr — nazw…

Air Alert Proximity API StandardowyOnlinev2 tylko

Air-raid alerts and airborne objects near ONE border crossing. Anchor on a checkpoint (ppid), a coordinate pair or a city and get…

Your Fleet (NakBus Live)

API pojazdów floty StandardowyOnlinev2 tylko

Twoja własna flota NakBus Live: każdy pojazd zarejestrowany w Twojej firmie z numerem rejestracyjnym, etykietą, przypisaną trasą,…

API pozycji floty na żywo StandardowyOnlinev2 tylko

Gdzie w tej chwili są Twoje autobusy — jeden wiersz na każdy aktywny pojazd z lat/lon, znacznikiem czasu i jego wiekiem, prędkośc…

API historii tras floty CiężkiOnlinev2 tylko

Zarejestrowana trasa GPS Twoich własnych pojazdów: każdy zapisany punkt pozycji w oknie czasowym, w porządku chronologicznym, z p…

Asystent AI

API granicznego asystenta AI CiężkiOnline

Zadaj naszemu produkcyjnemu asystentowi AI dowolne pytanie o przekraczanie granicy (kolejki, prognozy, przepisy, paliwo, trasy) i…

API spersonalizowanego asystenta AI CiężkiOnlinev2 tylko

Twój własny asystent AI, oparty na TWOICH treściach i NASZYCH danych granicznych na żywo. Wskaż nam swoje pliki markdown albo str…

Eksport danych historycznych

Zatwierdzeni deweloperzy mogą pobrać opublikowaną historię kolejek granicznych uśrednioną godzinowo dla maksymalnie 5 przejść (okno ruchome do 90 dni) w postaci spakowanego gzipem CSV, NDJSON lub JSON. To funkcja wyłącznie w portalu — NIE endpoint API; eksporty budujesz i pobierasz w zakładce „Eksport danych” w swoim koncie.

Dostęp przyznajemy na wniosek: otwórz zgłoszenie kategorii Data i napisz, których przejść dotyczy, jakiego okna czasowego i do czego chcesz go użyć. Po zatwierdzeniu w Twoim koncie pojawia się zakładka „Eksport danych”. Domyślny limit: 1 eksport dziennie, do 5 przejść w każdym — poproś nas o jego podniesienie.

Pola — jeden wiersz na przejście graniczne na każdą godzinę UTC

ParametrOpis
ppidIdentyfikator przejścia granicznego
checkpoint_nameNazwa przejścia granicznego
hour_utcGodzina, ISO-8601 UTC
directionnp. UA->PL
vehicle_typesamochód / autobus / ciężarówka / pieszy
avg_queue_lengthŚrednia godzinowa długość kolejki
avg_wait_minutesŚredni godzinowy czas oczekiwania; null tam, gdzie przejście nie ma oficjalnego źródła czasu oczekiwania
sample_countLiczba obserwacji w godzinie

Dane są wyłącznie opublikowane i przed eksportem przechodzą nasze kontrole anomalii i jakości (żadnych surowych danych z pojedynczych zgłoszeń). Wszystkie znaczniki czasu są w UTC. Pliki przechowujemy 10 dni.

Pochodzenie: każdy plik zawiera w nagłówku podpisany odcisk (sha256 + HMAC), więc dowolną kopię można później potwierdzić jako autentyczne dane nakordoni.eu i sprawdzić pod kątem manipulacji — nawet po pobraniu.

# sha256: 3f9c…   # signature: e87b…
ppid,checkpoint_name,hour_utc,direction,vehicle_type,avg_queue_length,avg_wait_minutes,sample_count
id_10,Hrushiv,2026-06-12T02:00:00Z,UA->PL,car,11,,4

Co możesz zbudować

Te same produkty danych renderują wizualizacje na nakordoni.eu — tygodniowe wykresy prognoz, godzinowe profile kolejek, karty statusu na żywo. Przedsmak tego, co zawierają API prognoz i statystyk:

7-day border queue forecast chart built from the Forecast API
Prognoza tygodniowa + godzinowy profil najbardziej obciążonego dnia — Forecast API (prediction_steps=168 / 24)
Hourly queue statistics chart built from the Statistics API
Godzinowy wykres kolejki dla przejścia — Statistics API (stats?ppid=…&compare=1)

Atrybucja

Integracje w planie Explorer muszą pokazywać widoczny link "Data by nakordoni.eu" wszędzie tam, gdzie wyświetlane są dane. To utrzymuje darmowy plan darmowym.

Dokładny kod

Skopiuj ten fragment bez zmian. Link musi pozostać indeksowalny: zwykły HTML <a href>, po którym mogą podążać wyszukiwarki — NIE dodawaj rel="nofollow" ani rel="sponsored", nie renderuj go wyłącznie przez JavaScript i nie ukrywaj przez CSS.

<a href="https://nakordoni.eu/" title="Border queues, forecasts &amp; statistics">Data by nakordoni.eu</a>

Kompaktowy drobny wariant (np. pod wykresem lub widżetem):

<p style="font-size:12px;margin:4px 0">
  Data by <a href="https://nakordoni.eu/">nakordoni.eu</a>
</p>

Możesz linkować do swojej wersji językowej, np. https://nakordoni.eu/pl/ — liczy się każdy indeksowalny link do nakordoni.eu. Tekst kotwicy "Data by nakordoni.eu" musi pozostać po angielsku.

Gdzie umieścić

Okresowo weryfikujemy atrybucję na "stronie wykorzystania danych" podanej przy rejestracji. Brak lub deindeksacja atrybucji w darmowym planie Explorer prowadzi najpierw do przypomnienia, potem do zawieszenia klucza. Klienci planu płatnego mogą pominąć atrybucję.

Licencja danych i rynki

Your API key grants a licence to use our data in the countries you declared when you signed up, and only in those countries. We review every declaration before granting full access, because our data is our own product and we do not license it into markets without knowing where it will be published.

Aktualność danych

To, jak świeże są dane, zależy od Twojego planu. W samej odpowiedzi nie ma żadnego znacznika — każdy plan zwraca te same pola, te same typy i tę samą strukturę odpowiedzi.

Opóźniona odpowiedź nigdy nie jest błędem ani problemem z limitem — to kompletna, poprawna odpowiedź ze starszymi liczbami. Ponowne wysłanie zapytania nie zwróci nowszych danych.

Jeśli Twoja aplikacja potrzebuje aktualnych danych, każdy płatny plan zwraca telemetrię w czasie rzeczywistym.

Uzyskaj darmowy klucz API