Documentación de la API
REST + JSON sobre HTTPS. Una URL base, una clave, envelopes predecibles.
| URL base | https://nakordoni.eu/api/v1/data/ |
|---|---|
| Formato | JSON, UTF-8 |
| Auth | Authorization: Bearer NKD-DEV-… |
| Versionado | Path-versioned & per-endpoint: /api/v1/… is stable; /api/v2/… serves the newer behaviour only for endpoints that changed, and transparently falls back to v1 for the rest. v1 responses never change. |
En esta página
Autenticación
Cada solicitud necesita tu clave API en la cabecera Authorization (recomendado) o como parámetro ?key=.
curl "https://nakordoni.eu/api/v1/data/queue?ppid=id_13" \ -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
Envelope de respuesta
{
"ok": true,
"api_version": "v1",
"product": "queue",
"attribution": "Data by nakordoni.eu",
"data": { ... },
"usage": { "limit": 1000, "used": 42, "reset": "2026-06-06T00:00:00Z" }
}
Los errores devuelven ok:false con error.code (missing_api_key, invalid_api_key, qps_exceeded, quota_exceeded, unknown_product, product_unavailable, bad_request, internal_error) y estado HTTP 401/403/404/429/500. Las cabeceras de límite de tasa X-Devapi-Limit y X-Devapi-Remaining se envían en cada respuesta medida.
Cuotas
| Explorer | Pay As You Grow | |
|---|---|---|
| llamadas/día en las API de datos estándar | 1,000 | 50,000 |
| llamadas/día en las API de previsiones y estadísticas | 200 | 10,000 |
| QPS | 2 | 20 |
Los contadores diarios se reinician a medianoche UTC. Recibes un correo al 80% y al 100% de la cuota.
Ejemplos de código
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"])
Productos
Pick an endpoint for its full reference, parameters, versions and a live sandbox.
Estándar utiliza la cuota de datos estándar · Pesado utiliza la cuota de pronósticos y estadísticas — ver Cuotas
Colas en frontera
Estado en tiempo real de cada producto de la Developer API: en línea / degradado / sin conexión, latencia de respuesta y hora de …
Directorio de todos los puestos fronterizos monitorizados: ID, nombres, países, coordenadas y estado. Úsalo para descubrir los va…
Todos los pasos en una frontera dada + tipo de vehículo en una sola llamada. Soporta destino único, lista separada por comas o "a…
Encuentre los PPID de los pasos fronterizos por nombre en cualquier idioma. Devuelve todos los PPID de esa ubicación agrupados po…
Colas en tiempo real, estimación del tiempo de espera y estado para cualquier paso fronterizo monitoreado. Incluye un bloque snap…
Obtenga el estado de la cola y la actualización de datos para hasta 20 puntos de control en una única solicitud. La cuota se calc…
Puestos alternativos cercanos en la misma frontera con las colas actuales y las diferencias de distancia.
Cuándo se actualizó por última vez un puesto, por qué fuente, y una valoración de frescura.
Pronósticos y estadísticas
Pronóstico mediante ensemble de ML de los niveles de cola: horizontes de 24 horas y 7 días (168h) con intervalos de confianza. El…
Estadísticas históricas horarias de cola por puesto y fecha: 24 valores horarios, promedio/mín/máx diarios, horas pico y horas má…
Estadísticas de semana típica por puesto fronterizo: matriz 7×24 día-de-semana×hora (mediana + banda p25/p75), día más tranquilo/…
Combustible y ubicaciones
Precios medios de gasolina/diésel/GLP en los países de la UE más las estaciones más cercanas, agregados a partir de fuentes nacio…
Resumen de precios de combustible por ciudad: la estación más barata y media de las 5 más económicas.
Aparcamientos para camiones (14k+), duchas gratuitas, servicios y supermercados por toda Europa con coordenadas.
Tipos de cambio basados en EUR para PLN, CZK, HUF, USD, GBP, CHF, NOK y UAH, fuente Frankfurter (ECB), caché 6 horas. Sin parámet…
Planificación de viajes
Tiempo de viaje + cola fronteriza para todos los pasos desde un punto de origen.
Restricciones europeas a la circulación de camiones por país y fecha, incluidas las prohibiciones estacionales y de días festivos.
Normativa sobre la apertura comercial dominical y próximos domingos comerciales por país regulado de la UE.
Official public holidays per European country — dates, local names and type, each country's full holiday list included. Backed by…
Conductores y carreteras
Informes aprobados sobre el estado de la carretera cerca de las fronteras y en los corredores principales: baches, obras, cierres…
Rendimiento de cruce de frontera por transportista de autobús: cruces, minutos de espera promedio/mediano/mín/máx — elaborados a …
Asistente de IA
Other
History data export
Approved developers can download hourly-averaged, published border-queue history for up to 5 checkpoints (rolling window up to 90 days) as gzipped CSV, NDJSON, or JSON. This is a portal-only feature — NOT an API endpoint; you build and download exports from the "Data export" tab in your account.
Access is granted on request: open a Data ticket telling us which checkpoints, the time window, and your intended use. Once approved, the Data export tab appears in your account. Default limit: 1 export/day, up to 5 checkpoints each — ask us to raise it.
Fields — one row per checkpoint per UTC hour
| Parámetro | Descripción |
|---|---|
ppid | Checkpoint id |
checkpoint_name | Checkpoint name |
hour_utc | Hour bucket, ISO-8601 UTC |
direction | e.g. UA->PL |
vehicle_type | car / bus / truck / pedestrian |
avg_queue_length | Hourly average queue length |
avg_wait_minutes | Hourly average wait; null where a checkpoint has no official wait feed |
sample_count | Number of observations in the hour |
Data is published-only and passes our anomaly / data-quality checks before export (no raw per-report data). All timestamps are UTC. Files are kept for 10 days.
Provenance: every file embeds a signed fingerprint (sha256 + HMAC) in its header, so any copy can later be confirmed as genuine nakordoni.eu data and checked for tampering — even after 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
Lo que puedes crear
Los mismos productos de datos generan los elementos visuales de nakordoni.eu — gráficos de previsión semanal, perfiles horarios de colas, tarjetas de estado en tiempo real. Una muestra de lo que contienen las API de previsiones y estadísticas:
Atribución
Las integraciones del plan Explorer deben mostrar un enlace visible "Data by nakordoni.eu" allí donde se muestren los datos. Es lo que mantiene gratis el plan gratuito.
El código exacto
Copie este fragmento tal cual. El enlace debe seguir siendo indexable: un <a href> HTML simple que los buscadores puedan seguir — NO añada rel="nofollow" ni rel="sponsored", no lo renderice solo con JavaScript ni lo oculte con CSS.
<a href="https://nakordoni.eu/" title="Border queues, forecasts & statistics">Data by nakordoni.eu</a>
Variante compacta en letra pequeña (p. ej., bajo un gráfico o widget):
<p style="font-size:12px;margin:4px 0"> Data by <a href="https://nakordoni.eu/">nakordoni.eu</a> </p>
Puede enlazar a su versión de idioma, p. ej. https://nakordoni.eu/es/ — cuenta cualquier enlace indexable a nakordoni.eu. El texto ancla "Data by nakordoni.eu" debe permanecer en inglés.
Dónde colocarlo
- Directamente junto o debajo del bloque de datos (tabla, gráfico, widget, respuesta) — en la misma pantalla, visible sin clics adicionales.
- En cada página o pantalla de la app donde aparezcan nuestros datos — no solo en una página "acerca de".
- Tamaño y contraste legibles: al menos ~11px, no oculto, no plegado, no del color del fondo.
- Apps móviles nativas sin enlaces HTML: muestre el texto "Data by nakordoni.eu" en la pantalla de datos y ponga el enlace pulsable en la pantalla de información.
Verificamos periódicamente la atribución en la "página de uso de datos" indicada al registrarse. La atribución ausente o desindexada en el plan Explorer conlleva primero un recordatorio y luego la suspensión de la clave. Los clientes de Pay As You Grow pueden omitirla.