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-versioniert und pro Endpunkt: /api/v1/… ist stabil; /api/v2/… liefert das neuere Verhalten nur für geänderte Endpunkte und fällt für alle übrigen transparent auf v1 zurück. v1-Antworten ändern sich nie. |
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",
"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, bad_request, internal_error) und HTTP-Status 401/403/404/429/500 zurück. Die Ratenbegrenzungs-Header X-Devapi-Limit und X-Devapi-Remaining werden bei jeder abgerechneten Antwort gesendet.
Kontingente
| Explorer | Pay As You Grow | |
|---|---|---|
| Aufrufe/Tag für Standard-Daten-APIs | 1,000 | 50,000 |
| Aufrufe/Tag für Prognose- und Statistik-APIs | 200 | 10,000 |
| QPS | 2 | 20 |
Tägliche Zähler werden um Mitternacht UTC zurückgesetzt. Sie erhalten eine E-Mail bei 80 % und 100 % des Kontingents.
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→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 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 20 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" }
}
}
}
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
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…
Rufen Sie Warteschlangenstatus und Datenfriichte für bis zu 20 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
Durchschnittliche Benzin-/Diesel-/LPG-Preise in den EU-Ländern sowie die nächstgelegenen Tankstellen, aggregiert aus offiziellen …
Kraftstoffpreise je Stadt: günstigste Tankstelle und Durchschnitt der 5 günstigsten Stationen pro Großstadt.
LKW-Parkplätze (14.000+), kostenlose Duschen, Dienste und Supermärkte in ganz Europa mit Koordinaten.
EUR-basierte Wechselkurse für PLN, CZK, HUF, USD, GBP, CHF, NOK und UAH, Quelle Frankfurter (ECB), Cache 6 Std. Keine Parameter —…
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-Fahrbeschränkungen nach Land und Datum, einschließlich saisonaler und feiertagsbedingter Verbote.
Regelungen zum Sonntagsverkauf und bevorstehende verkaufsoffene Sonntage pro reguliertem EU-Land.
Official public holidays per European country — dates, local names and type, each country's full holiday list included. Backed by…
Fahrer & Straßen
Bestätigte Meldungen zum Straßenzustand in Grenznähe und auf wichtigen Korridoren: Schlaglöcher, Baustellen, Sperrungen, Glätte, …
Grenzübertrittsleistung je Busunternehmen: Übertritte, durchschnittliche/mediane/min/max Wartezeit in Minuten — erstellt aus unse…
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
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 einfaches HTML <a href>, dem Suchmaschinen folgen können — KEIN rel="nofollow" oder rel="sponsored" hinzufügen, nicht nur per JavaScript rendern und nicht per CSS verstecken.
<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 indexierbare Link auf nakordoni.eu zählt. Der Ankertext "Data by nakordoni.eu" muss 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 der Datennutzung". Fehlende oder deindexierte Attribution im Explorer-Plan führt zuerst zu einer Erinnerung, dann zur Schlüsselsperrung. Pay-As-You-Grow-Kunden können die Attribution weglassen.