Skip to main content
Menu

← All endpoints

Border Weather Condition API Offline

The road hazard at a checkpoint on a single 0–5 scale: clear road, fog, snow, rain, ice or strong wind — named in your language, graded by severity, with the age of the marker and whether a driver or our own model reported it.

GET https://nakordoni.eu/api/v1/data/weather — quota class: cheap

ParameterDescription
ppidCheckpoint ID, e.g. id_13 (see /api/v1/data/checkpoints)
langLanguage for condition and severity names (25 site languages; default en)
sourcesall (default) | community — only what drivers reported | model — only our own classification
max_age_minutesHow old a marker may be and still count (default 180, min 15, max 1440 minutes)

Response fields — inside the data object of the envelope. [] marks a list, so data.items[].name is the name field of each element. A field is null, absent or an empty list when we hold no value for it — never a placeholder.

FieldDescription
data.condition.codeThe marker, 0..5, with key the stable machine name (good, fog, snow, rain, ice, wind) and name the same thing in the requested language, worded for a driver ("Slippery!", not "freezing precipitation"). null when nothing was reported inside the window — see data.no_data.
data.condition.severitynone | low | moderate | major, the same severity vocabulary road-conditions uses, with severity_name in the requested language.
data.condition.severity_rankDanger order when you sort several checkpoints: 1 ice, 2 fog, 3 snow, 4 rain, 5 wind, 6 clear. Lower is worse — the codes themselves are NOT an order.
data.condition.hazardtrue for anything but a clear road, so a client can gate an alert on one field.
data.observed_atWhen the marker was written (Europe/Kyiv), with observed_ts as a Unix timestamp.
data.data_age_minutesAge of that marker in minutes, with is_fresh true when it is under 3 hours old. Read it before treating the answer as current.
data.source_typecommunity when a driver reported it, model when our weather model classified it. null when there is no marker.
data.no_datatrue when no marker exists for this checkpoint inside the window — an honest gap, not a clear road. Widen max_age_minutes or drop the sources filter.
data.scaleThe whole 0..5 vocabulary as an array indexed by code, so you can label a value without hardcoding our wording.
data.sourcesThe filters actually applied, with window_minutes — both echoed back after clamping.
curl "https://nakordoni.eu/api/v1/data/weather?ppid=id_13&lang=en" \
  -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
🔑 Log in as a developer to try this endpoint live in the sandbox — 50 free test calls a day. Log in