Документация API
REST + JSON через HTTPS. Один базовый URL, один ключ, предсказуемые конверты.
| Базовый URL | https://nakordoni.eu/api/v1/data/ |
|---|---|
| Формат | JSON, UTF-8 |
| Аутентификация | Authorization: Bearer NKD-DEV-… |
| Версионирование | 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. |
На этой странице
Аутентификация
Каждый запрос требует вашего ключа API в заголовке Authorization (рекомендуется) или как параметр ?key=.
curl "https://nakordoni.eu/api/v1/data/queue?ppid=id_13" \ -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
Формат ответа
{
"ok": true,
"api_version": "v1",
"product": "queue",
"attribution": "Data by nakordoni.eu",
"data": { ... },
"usage": { "limit": 1000, "used": 42, "reset": "2026-06-06T00:00:00Z" }
}
Ошибки возвращают ok:false с error.code (missing_api_key, invalid_api_key, qps_exceeded, quota_exceeded, unknown_product, product_unavailable, bad_request, internal_error) и HTTP-статусом 401/403/404/429/500. Заголовки ограничения частоты X-Devapi-Limit и X-Devapi-Remaining отправляются в каждом тарифицируемом ответе.
Квоты
| Explorer | Pay As You Grow | |
|---|---|---|
| вызовов/день для стандартных API данных | 1,000 | 50,000 |
| вызовов/день для API прогнозов и статистики | 200 | 10,000 |
| QPS | 2 | 20 |
Дневные счётчики сбрасываются в полночь по UTC. Вы получаете email при достижении 80% и 100% квоты.
Примеры кода
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"])
Продукты
Pick an endpoint for its full reference, parameters, versions and a live sandbox.
Стандарт использует стандартную квоту данных · Тяжёлый использует квоту прогноза и статистики — см. Квоты
Очереди на границе
Текущее состояние каждого продукта Developer API: онлайн / деградирован / офлайн, задержка ответа и время последней проверки. Пуб…
Справочник всех отслеживаемых пограничных пунктов пропуска: ID, названия, страны, координаты и статус. Используйте его, чтобы пол…
Все КПП на заданной границе для одного типа транспорта в одном запросе — живая очередь, оценка времени и свежесть данных. Поддерж…
Найдите PPID КПП по названию на любом языке. Возвращает все PPID для этого места, сгруппированные по типу транспорта. До 20 назва…
Очереди в реальном времени, оценка времени ожидания и статус для любого КПП. Содержит блок snapshot: текущая очередь (queue_now),…
Получайте статус очереди и актуальность данных для до 20 контрольных точек в одном запросе. Квота рассчитывается как ⌈(N PPID × п…
Ближайшие альтернативные пункты пропуска на той же границе с текущими очередями и разницей в расстоянии.
Когда пункт пропуска обновлялся в последний раз, каким источником, и оценка свежести.
Прогнозы и статистика
Прогноз уровней очереди на основе ML-ансамбля: горизонты на 24 часа и 7 дней (168 ч) с доверительными границами. Та же модель, чт…
Почасовая историческая статистика очереди по пункту пропуска и дате: 24 почасовых значения, суточное среднее/минимум/максимум, пи…
Статистика типичной недели для КПП: матрица 7×24 «день недели × час» (медиана + диапазон p25/p75), самый тихий/загруженный день, …
Топливо и локации
Средние цены на бензин/дизель/LPG по странам ЕС, а также ближайшие заправки, агрегированные из официальных национальных источнико…
Цены на топливо по городам страны: самая дешёвая АЗС и среднее по 5 ближайшим станциям.
Стоянки для грузовиков (14 тыс.+), бесплатные душевые, сервисы и супермаркеты по всей Европе с координатами.
Обменные курсы на базе EUR для PLN, CZK, HUF, USD, GBP, CHF, NOK и UAH, источник Frankfurter (ECB), кеш 6 часов. Без параметров —…
Планирование маршрута
Время в пути + очередь на границе для всех пунктов пропуска из заданной точки отправления.
Европейские ограничения движения грузовиков по стране и дате, включая сезонные и праздничные запреты.
Правила воскресной розничной торговли и ближайшие торговые воскресенья для каждой регулируемой страны ЕС.
Official public holidays per European country — dates, local names and type, each country's full holiday list included. Backed by…
Водители и дороги
Подтверждённые отчёты о состоянии дорог вблизи границ и на основных коридорах: ямы, дорожные работы, перекрытия, гололёд, опаснос…
Показатели пересечения границы по автобусному перевозчику: пересечения, среднее/медианное/мин/макс время ожидания в минутах — пос…
ИИ-ассистент
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
| Параметр | Описание |
|---|---|
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
Что вы можете создать
Те же продукты данных формируют визуализации на nakordoni.eu — недельные графики прогнозов, почасовые профили очередей, карточки статуса в реальном времени. Небольшой пример того, что содержат API прогнозов и статистики:
Атрибуция
Интеграции плана Explorer должны показывать видимую ссылку "Data by nakordoni.eu" везде, где отображаются данные. Это сохраняет бесплатный план бесплатным.
Точный код
Скопируйте этот фрагмент как есть. Ссылка должна оставаться индексируемой: обычный HTML <a href>, по которому могут переходить поисковики — НЕ добавляйте rel="nofollow" или rel="sponsored", не рендерьте её только через JavaScript и не скрывайте через CSS.
<a href="https://nakordoni.eu/" title="Border queues, forecasts & statistics">Data by nakordoni.eu</a>
Компактный мелкий вариант (например, под графиком или виджетом):
<p style="font-size:12px;margin:4px 0"> Data by <a href="https://nakordoni.eu/">nakordoni.eu</a> </p>
Можно ссылаться на свою языковую версию, например https://nakordoni.eu/ru/ — засчитывается любая индексируемая ссылка на nakordoni.eu. Текст якоря "Data by nakordoni.eu" должен оставаться на английском.
Где размещать
- Непосредственно рядом или под блоком данных (таблица, график, виджет, ответ) — на том же экране, видимо без дополнительных кликов.
- На каждой странице или экране приложения, где отображаются наши данные — не только на странице "о нас".
- Читаемый размер и контраст: минимум ~11px, не скрыто, не свернуто, не цветом фона.
- Нативные мобильные приложения без HTML-ссылок: показывайте текст "Data by nakordoni.eu" на экране с данными и разместите кликабельную ссылку на экране "о приложении".
Мы периодически проверяем атрибуцию на "странице использования данных", указанной при регистрации. Отсутствие или деиндексация атрибуции на плане Explorer ведёт сначала к напоминанию, затем к приостановке ключа. Клиенты Pay As You Grow могут не указывать атрибуцию.