API-Dokumentation
REST + JSON über HTTPS. Eine Basis-URL, ein Schlüssel, vorhersehbare Envelopes.
| Basis-URL | https://nakordoni.eu/api/v1/data/ |
|---|---|
| Format | JSON, UTF-8 |
| Auth | Authorization: Bearer NKD-DEV-… |
| Versionierung | Pfad-Versionierung, pro Endpoint: /api/v1/… ist stabil und seine Antworten ändern sich nie. Ein höherer Versionspfad (/api/v2/…, /api/v4/…) liefert das neue Verhalten nur für die Endpoints, die sich geändert haben, und fällt für alle übrigen transparent auf die darunterliegende Version zurück. Jedes Produkt zeigt die höchste Version, die es dokumentiert — richten Sie sich danach, nicht nach diesem Hinweis. Wenn eine neuere Version die von Ihrem Schlüssel aufgerufene ablöst, senden wir Ihnen eine E-Mail und zeigen einen Hinweis im Entwicklerportal — Sie müssen es nicht dem Changelog entnehmen. |
Auf dieser Seite
Authentifizierung
Jede Anfrage benötigt Ihren API-Schlüssel im Authorization-Header (empfohlen) oder als Parameter ?key=.
curl "https://nakordoni.eu/api/v1/data/queue?ppid=id_13" \ -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
Antwortformat
{
"ok": true,
"api_version": "v1",
"product": "queue",
"attribution": "Data by nakordoni.eu",
"terms": "https://nakordoni.eu/en/p/developer_api_terms",
"data": { ... },
"usage": { "limit": 1000, "used": 42, "reset": "2026-06-06T00:00:00Z" }
}
Fehler geben ok:false mit error.code (missing_api_key, invalid_api_key, qps_exceeded, quota_exceeded, unknown_product, product_unavailable, not_approved, bad_request, duplicate_request, market_not_allowed, internal_error, status_unavailable, timeout) und HTTP-Status 400/401/403/404/429/500/503/504 zurück. Die Ratenbegrenzungs-Header X-Devapi-Limit und X-Devapi-Remaining werden bei jeder abgerechneten Antwort gesendet. ok:false ist maßgeblich — werten Sie data bei einem fehlgeschlagenen Aufruf niemals aus. Das usage-Objekt ist in jedem abgerechneten Produkt enthalten; /status ist öffentlich und wird nicht abgerechnet, liefert also kein usage.
Kontingente
| Explorer | |
|---|---|
| Aufrufe/Tag für Standard-Daten-APIs | 1,000 |
| Aufrufe/Tag für Prognose- und Statistik-APIs | 200 |
| Lkw-Routen-Abrufe/Tag | 10 |
| QPS | 2 |
Tägliche Zähler werden um Mitternacht UTC zurückgesetzt. Sie erhalten eine E-Mail bei 80 % und 100 % des Kontingents.
Kostenpflichtige Tarife heben jedes dieser Limits an. Aktuelle Tarife und ihre Kontingente: Pläne
Codebeispiele
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)
Holen Sie Live-Warteschlangen-, Prognose- oder LKW-Fahrverbotsdaten mit dem integrierten JSON-Connector von Power Query direkt in eine Arbeitsmappe — ohne Code, planmäßig aktualisierbar. Dasselbe Headers-Muster funktioniert für jedes Produkt dieser API — nur die URL ändern.
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
Bewahren Sie den API-Schlüssel innerhalb der M-Abfrage auf (Home → Advanced Editor), nicht in einer Arbeitsblattzelle — Power Query blockiert eine Webanfrage, die aus einer anderen Abfrage oder Zelle aufgebaut wird ("Formula.Firewall"), sofern die Datenschutzstufe nicht auf Organizational gesetzt ist.
Mehrere Grenzübergänge in einer Tabelle (Flotten-Dashboards) — e.g. every truck crossing UA→PL (crossing_type=9; in v3 that one code covers both freight lanes):
let
ApiKey = "NKD-DEV-XXXX-XXXX-XXXX",
Source = Json.Document(Web.Contents("https://nakordoni.eu/api/v4/data/border/1/2/9",
[Headers = [Authorization = "Bearer " & ApiKey]])),
checkpoints = Source[data],
AsTable = Table.FromRecords(checkpoints)
in
AsTable
Data → Refresh All in Excel oder eine geplante Aktualisierung in Power BI / Excel Online hält die Zahlen aktuell — ohne Polling-Code.
ERP-Integration (BAS / BAF und Plattformen der 1C-Familie)
BAS / BAF und andere Plattformen der 1C-Familie können diese API direkt aus einem geplanten Auftrag heraus aufrufen — HTTPConnection plus ReadJSON, ohne Zwischenschicht und ohne zusätzlichen Dienst. Der häufigste Aufbau hält ein Informationsregister mit EU-Kraftstoffpreisen aktuell.
Ein Informationsregister aktualisieren (Kraftstoffpreise, alle Länder in einem Aufruf)
// 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;
Drei Dinge müssen stimmen: New OpenSSLSecureConnection auf Port 443 übergeben, sonst scheitert die Anfrage an TLS; /api/v1/data/fuel ohne country-Parameter aufrufen, damit eine Anfrage alle Länder liefert statt eines Aufrufs pro Land; und ok prüfen, bevor Sie data anfassen — Fehler kommen als ok:false mit error.code zurück, nicht als Ausnahme. Das Beispiel nutzt den englischen Schlüsselwortsatz der Plattform; die lokalisierten Entsprechungen (HTTPСоединение, ПрочитатьJSON, РегистрыСведений) verhalten sich identisch.
Kraftstoffpreise ändern sich an der Quelle einmal täglich, ein geplanter Auftrag ein- oder zweimal am Tag genügt also und bleibt weit innerhalb des kostenlosen Explorer-Kontingents. Live-Wartedaten (queue, multi, border) ändern sich alle paar Minuten — fragen Sie diese nach eigenem Takt ab und lesen Sie mit multi bis zu 5 Grenzübergänge in einer einzigen Anfrage statt in einer Schleife.
MCP-Server
Bevorzugen Sie Tool-Aufrufe statt REST? Wir betreiben einen echten MCP-Server (Streamable-HTTP-Transport), der eine sichere, schreibgeschützte Teilmenge dieser API als MCP-Tools bereitstellt — derselbe API-Schlüssel, dasselbe Kontingent, nur ein anderer 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
Client-Konfiguration (Claude Desktop / Claude Code):
{
"mcpServers": {
"nakordoni": {
"url": "https://nakordoni.eu/mcp",
"headers": { "Authorization": "Bearer NKD-DEV-XXXX-XXXX-XXXX" }
}
}
}
OAuth für Integrationen (Home Assistant und andere)
Integrationen, bei denen jeder Nutzer einen eigenen Schlüssel braucht (benutzerdefinierte Home-Assistant-Integrationen, Desktop- und Mobile-Apps), können den Nutzer sich anmelden lassen, statt einen Schlüssel einzufügen. Der Ablauf ist OAuth 2.0 Authorization Code für öffentliche Clients mit PKCE (S256) — es gibt kein Client Secret. Das von uns zurückgegebene Access Token ist der eigene NKD-DEV-Schlüssel des Nutzers, den du anschließend wie bisher als Bearer-Header sendest.
Clients sind keine Selbstbedienung: Beantrage sie auf der Integrationsseite, wir prüfen jede Integration manuell und stellen eine Client-ID mit den erlaubten Redirect-URIs aus. Über einen freigegebenen Client ausgestellte Schlüssel werden sofort für die für diese Integration freigegebenen Märkte aktiviert. Integrations-Client beantragen →
GET https://api.nakordoni.dev/oauth/authorize | response_type=code, client_id, redirect_uri (muss exakt mit einer registrierten URI übereinstimmen), state, code_challenge, code_challenge_method=S256 |
POST https://api.nakordoni.dev/oauth/token | grant_type=authorization_code, code, code_verifier, redirect_uri, client_id — oder grant_type=refresh_token, refresh_token, client_id |
POST https://api.nakordoni.dev/oauth/revoke | token (Refresh Token oder der Schlüssel selbst), client_id |
- Der Authorization Code ist 60 Sekunden gültig, einmalig verwendbar und an Client, Nutzer, Redirect-URI und PKCE-Challenge gebunden.
- Der Schlüssel wird nur im Body der Token-Antwort (access_token) zurückgegeben — nie in einer URL. Bewahre ihn wie ein Passwort auf.
- expires_in beträgt 30 Tage; ein Refresh liefert denselben Schlüssel zurück, solange er aktiv ist. Widerruft oder erneuert der Nutzer den Schlüssel, schlägt der Refresh mit invalid_grant fehl und API-Aufrufe liefern 401 — starte die erneute Authentifizierung.
- Anfragen sind pro IP ratenbegrenzt und pro Client täglich gedeckelt; Fehler folgen RFC 6749 (error, error_description).
- Jeder Nutzer erhält höchstens sein eigenes Länderkontingent: Listet Ihre Integration mehr Länder, als der Nutzer frei hat, wählt er sie auf der Zustimmungsseite aus (markets=DE,AT bei /oauth/authorize setzt eine Vorauswahl). Beide Token-Antworten liefern zusätzlich markets_approved (freigegebene Länder des Nutzers), markets_allowed (sein Kontingent; null = unbegrenzt), markets_available (Ihre Länder, die er noch nicht hat) und upgrade_url (wo er „Zusätzliche Länder“ hinzufügt).
curl -X POST https://api.nakordoni.dev/oauth/token \
-d grant_type=authorization_code -d client_id=nkd_xxxxxxxxxxxxxxxxxxxxxxxx \
-d code=CODE -d code_verifier=VERIFIER \
-d redirect_uri=https://my.home-assistant.io/redirect/oauth
{"access_token":"NKD-DEV-XXXX-XXXX-XXXX","token_type":"Bearer","expires_in":2592000,
"refresh_token":"nkdrt_…","scope":"data","markets_approved":["DE"]}
Home Assistant
Verwende config_entry_oauth2_flow mit LocalOAuth2ImplementationWithPkce (client_secret leer) und die Redirect-URI https://my.home-assistant.io/redirect/oauth, die für Home-Assistant-Clients vorregistriert ist. Lies den Schlüssel aus entry.data["token"]["access_token"] und rufe die API weiter mit Authorization: Bearer auf. Bei einem 401 von der API löse ConfigEntryAuthFailed aus, damit Home Assistant die erneute Authentifizierung anbietet.
from homeassistant.helpers import config_entry_oauth2_flow
impl = config_entry_oauth2_flow.LocalOAuth2ImplementationWithPkce(
hass, DOMAIN, client_id="nkd_xxxxxxxxxxxxxxxxxxxxxxxx",
authorize_url="https://api.nakordoni.dev/oauth/authorize",
token_url="https://api.nakordoni.dev/oauth/token",
)
config_entry_oauth2_flow.async_register_implementation(hass, DOMAIN, impl)
Integrationen: verbleibende Limits anzeigen
GET /api/v2/account/usage — Was von Ihren Limits gerade übrig ist, für den Schlüssel, mit dem Sie aufrufen: Plan, Limit pro Sekunde und für jede Tageskontingent-Klasse (cheap, heavy, route) Limit, verbraucht, verbleibend und Rücksetzzeit (Mitternacht UTC); außerdem Ihre Länder aus Sicht dieses Schlüssels und wo Sie upgraden. Nicht gezählt, 30 Aufrufe pro Minute pro Schlüssel.
Integrationsschlüssel (OAuth) dürfen GET /api/v2/account/usage immer aufrufen, unabhängig davon, welche Produkte ihre Integration erlaubt. Die Zahlen entsprechen den Headern X-Devapi-Limit und X-Devapi-Remaining; X-Devapi-Reset liefert die Rücksetzzeit als Unix-Zeitstempel.
{"ok":true,"api_version":"v2","product":"account-usage","data":{
"plan":{"slug":"explorer","name":"Explorer"},"qps":2,
"quotas":{"cheap":{"limit":1000,"used":42,"remaining":958,"reset_at":"2026-10-17T00:00:00Z"},"heavy":{…},"route":{…}},
"markets":{"approved":["DE"],"allowed":1,"available":["AT"],"key_bound":true},
"pass":{"active":true,"expires_at":"2026-10-19T14:05:00Z","days_left":3},"upgrade_url":"https://nakordoni.eu/en/developers/billing",
"pass_url":"https://nakordoni.eu/en/developers/billing?section=trip-pass#trip-pass"}}
Ist ein Limit erreicht, sagt der Fehler, wohin es geht: 429 quota_exceeded liefert zusätzlich error.reset_at (Mitternacht UTC) und error.upgrade_url; 403 market_not_allowed und 403 integration_product_not_allowed liefern error.upgrade_url. Integrationsschlüssel erhalten außerdem error.pass_url (Trip Pass, unten).
Home Assistant: /account/usage höchstens alle 15 Minuten abfragen und einen Sensor „verbleibende Aufrufe“ aus quotas.cheap.remaining bereitstellen. Zwischen den Abfragen X-Devapi-Remaining aus den normalen Aufrufen lesen. Bei 429 quota_exceeded oder 403 market_not_allowed ein Repair-Issue mit Link auf error.upgrade_url anlegen und Aufrufe bis reset_at pausieren.
Trip Pass
Nutzer von Integrationen können auf der Abrechnungsseite einen Trip Pass kaufen (1, 3, 7 oder 14 Tage, Einmalzahlung). Solange er aktiv ist, erhält der Integrationsschlüssel jedes Land der Integration, mehr Lkw-Routen- und Datenaufrufe pro Tag und eine höhere Rate; Produkte der Integration, Prognose-Limits und Datenverzögerung ändern sich nicht. Entwicklerschlüssel desselben Kontos werden nie angehoben.
Für Integrationsschlüssel liefert account/usage pass: {active, expires_at, days_left} und pass_url (Abschnitt Trip Pass der Abrechnungsseite); 429 quota_exceeded und 403 market_not_allowed / integration_product_not_allowed enthalten dieselbe error.pass_url. Für andere Schlüssel sind beide null.
Country and vehicle-type codes
Border endpoints address countries and vehicle types by numeric id: /api/v1/data/border/{origin}/{destination}/{crossing_type}. destination also accepts a comma-separated list or the word all. The ids are stable and are the same in every product that takes an origin, a destination or a crossing_type.
Country ids
The border products accept the ids marked as origins below; the neighbours column is what destination=all expands to for that origin. Ids without neighbours are countries we name in responses but hold no crossings for yet. The Checkpoints Directory returns the origin, destination and crossing_type of every crossing we actually serve, so it stays the authoritative list.
| id | Country | Borders with (destination ids) |
|---|---|---|
1 |
Ukraine | 2, 3, 4, 5, 6, 7 |
2 |
Polen | 1, 7, 18 |
3 |
Slowakei | 1 |
4 |
Ungarn | 1, 5, 13 |
5 |
Rumänien | 1, 4, 6, 12, 13 |
6 |
Moldawien | 1, 5 |
7 |
Weißrussland | 1, 2, 8, 9 |
8 |
Litauen | 7 |
9 |
Lettland | 7 |
11 |
Slowenien | 16, 20 |
12 |
Bulgarien | 5, 13, 14, 15, 19 |
13 |
Serbien | 4, 5, 12, 15, 16, 17, 22, 23 |
14 |
Türkei | 12, 19 |
15 |
Nordmazedonien | 12, 13, 19, 21, 23 |
16 |
Kroatien | 11, 13, 17, 22 |
17 |
Bosnien und Herzegowina | 13, 16, 22 |
18 |
Deutschland | 2 |
19 |
Griechenland | 12, 14, 15, 21 |
20 |
Italien | 11 |
21 |
Albanien | 15, 19, 22, 23 |
22 |
Montenegro | 13, 16, 17, 21, 23 |
23 |
Kosovo | 13, 15, 21, 22 |
24 |
Österreich | — |
25 |
Tschechien | — |
26 |
Frankreich | — |
27 |
Spanien | — |
28 |
Vereinigtes Königreich | — |
29 |
Niederlande | — |
30 |
Belgien | — |
31 |
Portugal | — |
33 |
Estland | — |
34 |
Schweiz | — |
35 |
Dänemark | — |
36 |
Finnland | — |
37 |
Luxemburg | — |
38 |
Norwegen | — |
39 |
Schweden | — |
Vehicle types (crossing_type)
| id | Vehicle type | Accepted by /border/ |
|---|---|---|
4 |
PKW | ✔ |
5 |
PKW Tax Free | ✔ |
6 |
Bus | ✔ |
7 |
Fußgänger | ✔ |
8 |
Güterverkehr | ✔ |
9 |
Güterverkehr bis 7,5 Tonnen | ✔ |
10 |
Fährüberfahrt - PKW | — |
11 |
Fährüberfahrt - Bus | — |
12 |
Fährüberfahrt - Fußgänger | — |
13 |
Fährüberfahrt - Güterverkehr | — |
14 |
Güterverkehr bis 3,5 Tonnen | — |
The label in this table is the crossing_type_label the API returns with every response, in the language you request. Types outside the accepted list belong to crossings the directory carries but the border products do not answer for — ferry (10-13), freight up to 3.5 t (14) and rail (15) — and asking for one returns 400, not an empty result. Read crossing_type from the Checkpoints Directory rather than assuming: a crossing returns data only for the types it actually has.
Produkte
Wählen Sie einen Endpunkt für die vollständige Referenz, Parameter, Versionen und eine Live-Sandbox.
Standard nutzt das Standard-Datenkontingent · Schwer nutzt das Kontingent für Prognosen und Statistiken — siehe Kontingente · Lkw-Route nutzt ein eigenes Lkw-Routen-Kontingent — siehe Kontingente
Grenzwarteschlangen
Live-Zustand jedes Developer-API-Produkts: online / beeinträchtigt / offline, Antwortlatenz und letzte Prüfzeit. Öffentlich — kei…
Verzeichnis aller überwachten Grenzübergänge: IDs, Namen, Länder, Koordinaten und Status. Damit ermitteln Sie die ppid-Werte für …
Alle Übergänge an einer Grenze + Fahrzeugtyp in einem Aufruf — Live-Schlange, Wartezeit und Datenfrische. Unterstützt Einzelziel,…
Grenzübergang-PPIDs nach Name in beliebiger Sprache finden. Gibt alle PPIDs für diesen Standort nach Fahrzeugtyp gruppiert zurück…
Echtzeit-Warteschlangen, Wartezeit-Schätzung und Status für jeden überwachten Grenzübergang. Enthält Snapshot-Block: aktuelle War…
Wait time adjusted for live traffic flow and weather, with a full breakdown of each adjustment, plus the same wait_status/trend f…
Rufen Sie Warteschlangenstatus und Datenaktualität für bis zu 5 Kontrollpunkte in einer einzigen Anfrage ab. Die Quote wird als ⌈…
Nahegelegene alternative Grenzübergänge an derselben Grenze mit aktuellen Warteschlangen und Entfernungsdifferenzen.
Wann ein Grenzübergang zuletzt aktualisiert wurde, von welcher Quelle, und eine Aktualitätsbewertung.
Prognosen & Statistiken
ML-Ensemble-Prognose der Warteschlangenniveaus: 24-Stunden- und 7-Tage-Horizonte (168 h) mit Konfidenzgrenzen. Dasselbe Modell, d…
Stündliche historische Warteschlangenstatistik pro Grenzübergang und Datum: 24 Stundenwerte, Tagesdurchschnitt/-min/-max, Spitzen…
Typische-Woche-Statistiken pro Checkpoint: 7×24-Matrix Wochentag×Stunde (Median + p25/p75-Band), ruhigster/verkehrsreichster Tag,…
Kraftstoff & Standorte
Kraftstoffpreise in EU-Ländern — country-Durchschnitte, nächstgelegene Stationen nach Koordinaten oder Stationen in der Nähe eine…
Kraftstoffpreise je Stadt: günstigste Tankstelle und Durchschnitt der 5 günstigsten Stationen pro Großstadt.
Die nächstgelegenen Tankstellen zu einem Punkt oder einer Stadt mit aktuellen Preisen je Kraftstoffart, sortiert nach Entfernung.…
Die günstigsten Tankstellen rund um einen Punkt oder eine Stadt, gereiht nach Preis für die gewählte Kraftstoffart (bei Gleichsta…
Der beste verfügbare Kraftstoffpreis für JEDEN Punkt in Europa, ermittelt über eine dreistufige Fallback-Kette, sodass eine Koord…
Die Namenstabelle hinter jedem Kraftstoffprodukt: unser kanonisches Grad-Vokabular (diesel, premdiesel, truckdiesel, hvo, petrol9…
Lkw-Parkplätze (14k+), kostenlose Duschen, Services und Supermärkte in ganz Europa mit Koordinaten. Die Ergebnisse sind mit dista…
Die nächstgelegenen Lkw-Parkplätze, Autohöfe und Raststätten zu einem Punkt oder city — sortiert nach Entfernung mit distance_km,…
Die nächstgelegenen Supermärkte und Lebensmittelgeschäfte zu einem Punkt oder city — sortiert nach Entfernung mit distance_km, Na…
Die nächstgelegenen kostenlosen Duschen für Fahrer zu einem Punkt oder city — sortiert nach Entfernung mit distance_km, Name, Koo…
Die nächstgelegenen fahrerfreundlichen Restaurants zu einem Punkt oder city — sortiert nach Entfernung mit distance_km, Name, Koo…
Die nächstgelegenen Industrie- und Logistikgebiete zu einem Punkt oder city (3k+ in ganz Europa) — sortiert nach Entfernung mit d…
EUR-basierte Wechselkurse für PLN, CZK, HUF, USD, GBP, CHF, NOK und UAH, Quelle Frankfurter (ECB), Cache 6 Std. Keine Parameter —…
Wechselstuben
Polnische Städte, in denen wir Wechselstuben (Kantors) führen, mit der Zahl der Wechselstuben je Stadt und wie viele davon aktuel…
Verzeichnis der Wechselstuben (Kantors) in Polen: Name, Adresse, Koordinaten, Öffnungszeiten, Telefon, Website und ob die Wechsel…
Eine Wechselstube mit ihren aktuellen An- und Verkaufskursen gegenüber PLN. Einzelhandels- und Großhandelskurse werden getrennt g…
Wo man in einer Stadt gerade jetzt eine Währung gegen PLN kauft oder verkauft: die Wechselstuben mit den besten EINZELHANDELSkurs…
Verlauf des Einzelhandelskurses einer Währung gegenüber PLN, entweder für eine Wechselstube oder für eine ganze Stadt (Durchschni…
Reiseplanung
Ein Tür-zu-Tür-Plan für die Grenzfahrt: die Route, die Grenzübergänge darauf mit aktueller Warteschlange oder einer Prognose für …
Fahrzeit + Grenzwarteschlange für alle Grenzübergänge von einem Startpunkt. Gibt Fahrtzeit, aktuelle Warteschlange und Gesamtreis…
Europäische Lkw-Fahrverbote nach country und Datum, einschließlich saisonaler und feiertagsbedingter Verbote. Jedes Verbot enthäl…
Regelungen zum Sonntagsverkauf und bevorstehende verkaufsoffene Sonntage pro reguliertem EU-Land.
Offizielle Feiertage pro europäisches Land — Daten, lokale Bezeichnungen und Typ, vollständige Feiertagsliste pro Land enthalten.…
Logistik
Fahrer & Straßen
Bestätigte Meldungen zum Straßenzustand in Grenznähe und auf wichtigen Korridoren: Schlaglöcher, Baustellen, Sperrungen, Glätte, …
Ob ein country für Autobahnfahrten eine Vignette benötigt, aktuelle Preise je Geltungsdauer und wo man mehr erfährt — pro country…
Shops von Mobilfunkbetreibern und WiFi-Punkte, die für Fahrer unterwegs nützlich sind, nächstgelegen zuerst zu einem Punkt oder c…
Grenzübertrittsleistung je Busunternehmen: Übertritte, durchschnittliche/mediane/min/max Wartezeit in Minuten — erstellt aus unse…
Die Straßengefahr an einem Grenzübergang auf einer einzigen Skala 0–5: freie Straße, Nebel, Schnee, Regen, Glatteis oder starker …
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)
Ihre eigene NakBus-Live-Flotte: jedes auf Ihr Unternehmen registrierte Fahrzeug mit Kennzeichen, Bezeichnung, zugewiesener Route,…
Wo sich Ihre Busse gerade befinden — eine Zeile pro aktivem Fahrzeug mit lat/lon, Zeitstempel und dessen Alter, Geschwindigkeit, …
Aufgezeichnete GPS-Spur Ihrer eigenen Fahrzeuge: jeder gespeicherte Positionspunkt in einem Zeitfenster, in chronologischer Reihe…
KI-Assistent
Stellen Sie unserem produktiven KI-Assistenten jede Frage zum Grenzübertritt (Warteschlangen, Prognosen, Regeln, Kraftstoff, Rout…
Ihr eigener KI-Assistent, der auf IHREN Inhalten und UNSEREN Live-Grenzdaten antwortet. Geben Sie uns Ihre Markdown-Dateien oder …
Sonstiges
Was von Ihren Limits gerade übrig ist, für den Schlüssel, mit dem Sie aufrufen: Plan, Limit pro Sekunde und für jede Tageskonting…
Pedestrian routes ranked by how much of the way lies in building and tree shade at the time of the walk (heat) or in sun (cold). …
Shade per H3 resolution-11 hex (about 25 m) for a small bounding box at a given time: share of open ground in building shade and …
Shade share and pavement temperature estimate of one walk for every 15-minute departure in the next hours, and the best window. P…
Places to cool a dog down near a point: safe water access on lake and river shores, bathing places, drinking water, forests, all-…
Cool spots for dogs along a walking route: every spot within the corridor with its position along the walk and the shade at the t…
Truck-accessible stops within 2 km of a route you already have: truck parkings shaded by trees (canopy share within 100 m), rest …
Export historischer Daten
Freigegebene Entwickler können die veröffentlichte, stündlich gemittelte Historie der Grenzwarteschlangen für bis zu 5 Grenzübergänge (rollierendes Fenster bis 90 Tage) als gzip-komprimiertes CSV, NDJSON oder JSON herunterladen. Das ist eine reine Portalfunktion — KEIN API-Endpunkt; Sie erstellen und laden Exporte im Tab „Datenexport“ in Ihrem Konto.
Der Zugang wird auf Anfrage gewährt: Öffnen Sie ein Data-Ticket und nennen Sie uns die Grenzübergänge, den Zeitraum und den geplanten Verwendungszweck. Nach der Freigabe erscheint der Tab „Datenexport“ in Ihrem Konto. Standardlimit: 1 Export/Tag mit je bis zu 5 Grenzübergängen — bitten Sie uns um eine Anhebung.
Felder — eine Zeile pro Grenzübergang und UTC-Stunde
| Parameter | Beschreibung |
|---|---|
ppid | ID des Grenzübergangs |
checkpoint_name | Name des Grenzübergangs |
hour_utc | Stundenintervall, ISO-8601 UTC |
direction | z. B. UA->PL |
vehicle_type | car / bus / truck / pedestrian |
avg_queue_length | Stündliche durchschnittliche Warteschlangenlänge |
avg_wait_minutes | Stündliche durchschnittliche Wartezeit; null, wenn ein Grenzübergang keinen offiziellen Wartezeit-Feed hat |
sample_count | Anzahl der Beobachtungen in der Stunde |
Exportiert werden ausschließlich veröffentlichte Daten, die zuvor unsere Anomalie- und Datenqualitätsprüfungen durchlaufen haben (keine Rohdaten einzelner Meldungen). Alle Zeitstempel sind UTC. Dateien werden 10 Tage aufbewahrt.
Herkunft: Jede Datei enthält im Header einen signierten Fingerabdruck (sha256 + HMAC), sodass jede Kopie später als echte nakordoni.eu-Daten bestätigt und auf Manipulation geprüft werden kann — auch nach dem Download.
# 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
Was Sie bauen können
Dieselben Datenprodukte rendern die Visualisierungen auf nakordoni.eu — wöchentliche Prognosediagramme, stündliche Warteschlangenprofile, Live-Statuskarten. Ein Vorgeschmack darauf, was die Prognose- und Statistik-APIs enthalten:
Attribution
Integrationen im Explorer-Plan müssen einen sichtbaren Link "Data by nakordoni.eu" überall dort anzeigen, wo die Daten dargestellt werden. Das hält den kostenlosen Plan kostenlos.
Der genaue Code
Kopieren Sie dieses Snippet unverändert. Der Link muss indexierbar bleiben: ein sichtbarer, einfacher HTML-Link <a href> neben den Daten, den Google indexieren und dem er folgen kann — fügen Sie KEIN rel="nofollow", rel="sponsored" oder rel="ugc" hinzu und verstecken Sie ihn nicht per CSS. Ein per JavaScript eingefügter Link ist in Ordnung, wenn er auf der von Google gerenderten Seite erscheint (Developer API Terms v1.0, Abschnitt 8.1).
<a href="https://nakordoni.eu/" title="Border queues, forecasts & statistics">Data by nakordoni.eu</a>
Kompakte Kleingedruckt-Variante (z. B. unter einem Diagramm oder Widget):
<p style="font-size:12px;margin:4px 0"> Data by <a href="https://nakordoni.eu/">nakordoni.eu</a> </p>
Sie können stattdessen auf Ihre Sprachversion verlinken, z. B. https://nakordoni.eu/de/ — jeder sichtbare, einfache HTML-Link auf nakordoni.eu zählt. Der Ankertext "Data by nakordoni.eu" muss auf Englisch bleiben.
Wo platzieren
- Direkt neben oder unter dem Datenblock (Tabelle, Diagramm, Widget, Antwort) — auf demselben Bildschirm, sichtbar ohne zusätzliche Klicks.
- Auf jeder Seite bzw. jedem App-Screen, wo unsere Daten erscheinen — nicht nur auf einer "Über uns"-Seite.
- Lesbare Größe und Kontrast: mindestens ~11px, nicht versteckt, nicht eingeklappt, nicht in Hintergrundfarbe.
- Native Mobile-Apps ohne HTML-Links: Text "Data by nakordoni.eu" auf dem Datenbildschirm anzeigen und den antippbaren Link auf dem Info-Screen platzieren.
Wir prüfen die Attribution regelmäßig auf der bei der Registrierung angegebenen "Seite, auf der die Daten verwendet werden". Fehlende oder versteckte Attribution im kostenlosen Explorer-Plan führt zunächst zu einer Erinnerung, danach zur Sperrung des Schlüssels. Kunden mit kostenpflichtigem Plan dürfen auf die Attribution verzichten.
Die Prüfung erfolgt etwa einmal pro Woche durch unseren Prüfdienst, dessen User-Agent NakordoniComplianceBot/1.0 enthält. Er ruft nur die in Ihrem Entwickler-Dashboard eingetragenen Seiten auf, folgt keinen weiteren Links und beachtet für diese Seiten keine robots.txt, da Sie genau diese Seiten zur Prüfung angegeben haben. Sperrt ein Bot-Schutz oder eine Firewall unbekannte Crawler, lassen Sie diesen User-Agent zu — können wir eine Seite nicht öffnen, melden wir uns per Ticket.
Datenlizenz und Märkte
Ihr API-Schlüssel gewährt eine Lizenz zur Nutzung unserer Daten ausschließlich in den Ländern, die Sie bei der Anmeldung angegeben haben. Wir prüfen jede Angabe, bevor wir vollen Zugriff gewähren, denn unsere Daten sind unser eigenes Produkt, und wir lizenzieren es nicht in Märkte, ohne zu wissen, wo es veröffentlicht wird.
- Geben Sie jedes Land an, das Ihre Website, App oder Ihr Produkt bedient. Sie können die Liste jederzeit über Ihr Dashboard ändern; eine Änderung stellt Ihr Konto erneut zur Prüfung.
- Bis Ihre Märkte genehmigt sind, läuft Ihr Schlüssel mit reduzierten Limits – der Hälfte des Starter-Kontingents. Dies gilt unabhängig davon, welchen Plan Sie gebucht haben.
- Wir können nur einige der von Ihnen angeforderten Länder genehmigen. Die genehmigte Liste – nicht die angeforderte – definiert, welche Länder Ihre Lizenz abdeckt.
- Die Veröffentlichung oder Weiterverbreitung unserer Daten in einem nicht deklarierten Markt oder deren Weiterverkauf als konkurrierender Datenfeed verstößt gegen diese Bedingungen und kann Ihren Schlüssel ohne Vorankündigung sperren.
- Einige Pläne sind nur in ausgewählten Regionen verfügbar. Die Verfügbarkeit hängt von den von Ihnen deklarierten Märkten ab.
- Die vollständige Vereinbarung sind die Developer-API-Bedingungen. Sie haben Vorrang vor dieser Zusammenfassung; verbindlich ist die englische Fassung.
Datenaktualität
Wie aktuell Ihre Daten sind, hängt von Ihrem Tarif ab. In der Antwort selbst gibt es keine Kennzeichnung — jeder Tarif liefert dieselben Felder, dieselben Typen und dieselbe Antwortstruktur.
- Bezahltarife — Student, Starter, Pro und Pro MAX: Live-Telemetrie, ohne Verzögerung.
- Kostenloser Explorer-Tarif: eine Momentaufnahme der letzten 15 bis 30 Minuten. Der genaue Versatz ist von Anfrage zu Anfrage unterschiedlich.
Eine verzögerte Antwort ist niemals ein Fehler und niemals ein Kontingentproblem — sie ist eine vollständige, gültige Antwort mit älteren Zahlen. Ein erneuter Aufruf liefert keine neueren Daten.
Wenn Ihre Anwendung aktuelle Daten benötigt, liefert jeder Bezahltarif Echtzeit-Telemetrie.
Kostenlosen API-Schlüssel erhalten
Aktualisiert