Preskočiť na obsah

API v1 · OpenAPI 3.1

API a otvorené dáta o hladinách Dunaja

Bezplatné JSON API pre hladiny Dunaja: stanice s prahmi LDC/HDC, denné rady, GeoJSON a zmluva OpenAPI 3.1, s limitmi požiadaviek a príkladmi kódu.

Základná URL
https://danubealert.arcm.ro/api/v1
Overenie
Authorization: Bearer <key>

Získať bezplatný API kľúč →Zmluva OpenAPI 3.1

Prehľad

Verejné API v1 poskytuje hydrologické údaje povodia Dunaja vo formáte JSON: stanice s prahmi LDC/HDC, merania a predpovede, oficiálne prahy, kritické miesta plavby, hydrologické správy, export GeoJSON a stav zdrojov. Úplná zmluva: /api/v1/openapi.json (OpenAPI 3.1).

Plány a limity

Anonymne (bez hlavičky): 60 požiadaviek za minútu, CORS * na GET. S integrátorským kľúčom (Authorization: Bearer <kľúč>): 600 požiadaviek za minútu. Kľúče si vytvoríte zadarmo vo svojom účte. Chybný, neznámy alebo zrušený kľúč dostane 401 (WWW-Authenticate: Bearer error="invalid_token"), nie anonymný prístup; zrušený kľúč prestane fungovať okamžite.

  • Anonymne

    60požiadaviek / minútu

    Bez hlavičky, CORS * na GET — stačí na vyskúšanie každej trasy.

  • Bezplatný API kľúč

    600požiadaviek / minútu

    Authorization: Bearer <kľúč>, vytvorený v účte, zobrazený raz.

  • Náročné trasy

    10požiadaviek / minútu

    Rady a exporty ( observations, export ), na kľúč alebo IP.

Príklad

Posledný denný stav stanice, cez curl a TypeScript.

curl
curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/observations"
TypeScript
// Dnešný vodný stav v Budapešti
const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/observations?interval=daily&from=2026-10-01', {
  headers: { Authorization: `Bearer ${process.env.DANUBEALERT_KEY}` },
})
const { data } = await r.json()
console.log(data.at(-1)) // { observed_at: "2026-10-21T00:00:00Z", level_cm: 468 }

Koncové body

Všetky trasy verejného API v1, iba na čítanie ( GET ), s parametrami a spustiteľnou požiadavkou.

Príklady pre každú trasu

Každá trasa má nižšie spustiteľnú požiadavku curl, JavaScript a Python, svoj limit požiadaviek a blok `_attribution`, ktorý musíš zobraziť.

Blok `_attribution`
{
  "source": "National hydrological services of the Danube basin (see /v1/meta/sources)",
  "url": "https://danubealert.com/en/about",
  "data_updated_at": "2026-10-21T00:00:00Z"
}
_attribution · /export/daily
{
  "source": "National hydrological services of the Danube basin (see /v1/meta/sources)",
  "url": "https://danubealert.com/en/about",
  "license": {
    "id": "CC-BY-4.0",
    "name": "Creative Commons Attribution 4.0 International",
    "url": "https://creativecommons.org/licenses/by/4.0/"
  },
  "data_updated_at": "2026-10-21T00:00:00Z"
}

Stanice

  • GET/api/v1/alerts/confirmPotvrdzovací odkaz upozornenia alebo denného prehľadu z e-mailu: nič nezapne, otvorí stránku potvrdenia

    Parametre

    • t*query
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/alerts/confirm?t=t"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/alerts/confirm?t=t')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/alerts/confirm?t=t", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • POST/api/v1/alerts/confirmZapne upozornenie alebo denný prehľad zo stránky potvrdenia ( jediný krok, ktorý ho aktivuje )

    Parametre

    • tquery
  • GET/api/v1/basin-precipitationÚhrn zrážok za 24 / 72 h podľa čiastkového povodia, priradený k stanici po prúde

    Parametre

    • stationquery
    • riverquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/basin-precipitation"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/basin-precipitation')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/basin-precipitation", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/countries/{code}/stationsStanice jednej krajiny

    Parametre

    • code*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/countries/HU/stations"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/countries/HU/stations')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/countries/HU/stations", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/report/todayDeň v jednom objekte: stav povodia, čo sa dnes mení, stanice nad / pod hranicami, predpoveď na 24–72 h
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/report/today"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/report/today')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/report/today", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stationsZoznam staníc

    Parametre

    • countryquery
    • riverquery
    • qquery
    • limitquery
    • next_cursorquery
    • sortquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}Stanica, jej hranice LDC/HDC a odchýlka dňa od klimatológie

    Parametre

    • slug*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/eventsHistorické povodne a suchá stanice

    Parametre

    • slug*path
    • tipquery
    • limitquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/events"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/events')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/events", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/neighborsSusedia proti prúdu / po prúde a sútoky

    Parametre

    • slug*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/neighbors"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/neighbors')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/neighbors", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v2/stationsZoznam staníc ( v2, kurzor + polia + formát )

    Parametre

    • countryquery
    • riverquery
    • qquery
    • limitquery
    • next_cursorquery
    • fieldsquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v2/stations"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v2/stations')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v2/stations", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/wizard

    Parametre

    • qquery
    • limitquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/wizard"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/wizard')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/wizard", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

Merania a predpovede

  • GET/api/v1/forecast/accuracyPresnosť oficiálnych predpovedí voči nameraným hodnotám, podľa zdroja a časového horizontu ( +24 / +48 / +72 h )10/min

    Parametre

    • stationquery
    • daysquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/forecast/accuracy"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/forecast/accuracy')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/forecast/accuracy", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/measurementsTeplota vody, prietok, teplota vzduchu

    Parametre

    • station*query
    • measurequery
    • fromquery
    • toquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/measurements?station=budapest"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/measurements?station=budapest')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/measurements?station=budapest", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/observationsPorovnanie až 6 staníc v jednej odpovedi10/min

    Parametre

    • stations*query
    • fromquery
    • toquery
    • intervalquery
    • riverquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/observations?stations=budapest%2Cmohacs"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/observations?stations=budapest%2Cmohacs')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/observations?stations=budapest%2Cmohacs", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/climatologyKlimatológia podľa dňa v roku z celého radu: priemer, medián a percentily10/min

    Parametre

    • slug*path
    • dayquery
    • limitquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/climatology"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/climatology')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/climatology", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/dischargeRad prietokov ( m³/s )

    Parametre

    • slug*path
    • sourcequery
    • fromquery
    • toquery
    • intervalquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/discharge"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/discharge')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/discharge", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/forecastPredpoveď stanice ( kde existuje )

    Parametre

    • slug*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/forecast"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/forecast')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/forecast", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/forecast-accuracyPresnosť predpovede na jednej stanici, podľa zdroja a horizontu: aká dobrá je tu predpoveď10/min

    Parametre

    • slug*path
    • daysquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/forecast-accuracy"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/forecast-accuracy')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/forecast-accuracy", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/iceĽadové javy z národných správ, zjednotené podľa stanice a dňa

    Parametre

    • slug*path
    • limitquery
    • fromquery
    • toquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/ice"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/ice')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/ice", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/observationsRad vodných stavov ( cm )10/min

    Parametre

    • slug*path
    • sourcequery
    • include_legacyquery
    • fromquery
    • toquery
    • intervalquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/observations"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/observations')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/observations", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/percentilePercentil dnešnej hodnoty voči rovnakému dňu za posledných 30 rokov10/min

    Parametre

    • slug*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/percentile"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/percentile')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/percentile", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/recordsHistorické rekordy10/min

    Parametre

    • slug*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/records"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/records')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/records", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/same-dayTen istý deň v minulých rokoch10/min

    Parametre

    • slug*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/same-day"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/same-day')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/same-day", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/stations/{slug}/winterZimné javy a hrúbka ľadu

    Parametre

    • slug*path
    • limitquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/stations/budapest/winter"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/stations/budapest/winter')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/stations/budapest/winter", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/summary/low-waterNízka voda: po sebe idúce dni pod LDC, podľa úseku, s históriou a porovnaním

    Parametre

    • yearquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/summary/low-water"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/summary/low-water')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/summary/low-water", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/summary/todayDnešná situácia: vodné stavy, hranice, predpovede, anomálie dňa a čo sa dnes v povodí mení
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/summary/today"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/summary/today')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/summary/today", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

Rieky a krajiny

  • GET/api/v1/countriesKrajiny povodia
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/countries"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/countries')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/countries", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/riversRieky povodia a počet ich staníc
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/rivers"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/rivers')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/rivers", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/rivers/{rau}Graf rieky: ústie, prítoky, krajiny

    Parametre

    • rau*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/rivers/sava"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/rivers/sava')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/rivers/sava", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v2/countriesKrajiny povodia, stránkované kurzorom ( v2 )

    Parametre

    • limitquery
    • next_cursorquery
    • fieldsquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v2/countries"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v2/countries')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v2/countries", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v2/riversRieky povodia, stránkované kurzorom ( v2 )

    Parametre

    • limitquery
    • next_cursorquery
    • fieldsquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v2/rivers"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v2/rivers')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v2/rivers", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

Exporty

  • GET/api/v1/export/country/{cod}Export CSV / JSON podľa krajiny10/min

    Parametre

    • cod*path
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/export/country/HU"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/export/country/HU')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/export/country/HU", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Aj export obsahuje `_attribution`, s licenciou v `_attribution.license` (CC BY 4.0); zobraz `_attribution.source`, `_attribution.url` a licenciu pri súbore.

  • GET/api/v1/export/dailyDenný export CSV / JSON podľa krajiny10/min

    Parametre

    • country*query
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/export/daily?country=HU"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/export/daily?country=HU')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/export/daily?country=HU", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Aj export obsahuje `_attribution`, s licenciou v `_attribution.license` (CC BY 4.0); zobraz `_attribution.source`, `_attribution.url` a licenciu pri súbore.

  • GET/api/v1/export/rangeExport dlhých období pre výskum ( CSV / Parquet, so stránkovaním cez kurzor a licenciou pri každom riadku )10/min

    Parametre

    • from*query
    • to*query
    • countryquery
    • formatquery
    • limitquery
    • cursorquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/export/range?from=2026-01-01&to=2026-10-23"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/export/range?from=2026-01-01&to=2026-10-23')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/export/range?from=2026-01-01&to=2026-10-23", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Aj export obsahuje `_attribution`, s licenciou v `_attribution.license` (CC BY 4.0); zobraz `_attribution.source`, `_attribution.url` a licenciu pri súbore.

  • GET/api/v1/export/range/licensesLicencie zdrojov a spôsob uvedenia zdroja pri exporte obdobia
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/export/range/licenses"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/export/range/licenses')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/export/range/licenses", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Aj export obsahuje `_attribution`, s licenciou v `_attribution.license` (CC BY 4.0); zobraz `_attribution.source`, `_attribution.url` a licenciu pri súbore.

  • GET/api/v1/export/river/{rau}Export CSV / JSON podľa rieky10/min

    Parametre

    • rau*path
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/export/river/sava"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/export/river/sava')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/export/river/sava", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Náročná trasa: 10 požiadaviek/minútu, aj s kľúčom.

    Aj export obsahuje `_attribution`, s licenciou v `_attribution.license` (CC BY 4.0); zobraz `_attribution.source`, `_attribution.url` a licenciu pri súbore.

Prahy, plavba, bulletiny

  • GET/api/v1/bulletinsHydrologické správy podľa krajiny

    Parametre

    • countryquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/bulletins"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/bulletins')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/bulletins", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/navigationKritické miesta a obmedzenia plavby

    Parametre

    • riverquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/navigation"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/navigation')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/navigation", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/thresholdsOficiálne hranice ( LDC/HDC, RNW/HSW, stupne povodňovej aktivity )

    Parametre

    • stationquery
    • pagequery
    • limitquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/thresholds"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/thresholds')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/thresholds", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v2/bulletinsHydrologické správy, stránkované kurzorom ( v2 )

    Parametre

    • countryquery
    • limitquery
    • next_cursorquery
    • fieldsquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v2/bulletins"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v2/bulletins')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v2/bulletins", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v2/navigationPlavba, jeden stránkovaný zoznam ( v2 )

    Parametre

    • riverquery
    • limitquery
    • next_cursorquery
    • fieldsquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v2/navigation"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v2/navigation')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v2/navigation", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v2/thresholdsOficiálne hranice, stránkované kurzorom ( v2 )

    Parametre

    • stationquery
    • limitquery
    • next_cursorquery
    • fieldsquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v2/thresholds"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v2/thresholds')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v2/thresholds", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

Epizódy upozornení

  • GET/api/v1/episodesVerejné epizódy LDC/HDC

    Parametre

    • countryquery
    • typequery
    • limitquery
    • next_cursorquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/episodes"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/episodes')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/episodes", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/episodes/{id}Jedna epizóda upozornenia

    Parametre

    • id*path
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/episodes/1"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/episodes/1')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/episodes/1", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

GeoJSON

  • GET/api/v1/geojson/riversSplavná línia Dunaja + Sáva / Tisa
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/geojson/rivers"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/geojson/rivers')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/geojson/rivers", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/geojson/stationsFeatureCollection staníc

    Parametre

    • countryquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/geojson/stations"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/geojson/stations')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/geojson/stations", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

Zdroje a kvalita dát

  • GET/api/v1/meta/availabilityMesačná dostupnosť podľa zdroja ( 12 mesiacov ): dni s údajmi a posledné behy
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/meta/availability"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/meta/availability')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/meta/availability", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/meta/healthStav zdrojov
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/meta/health"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/meta/health')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/meta/health", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/meta/qualityKvalita údajov podľa stanice: podozrivé merania a stav zdroja
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/meta/quality"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/meta/quality')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/meta/quality", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v1/meta/sourcesPosledná aktualizácia podľa zdroja
    curl
    curl -sS "https://danubealert.arcm.ro/api/v1/meta/sources"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v1/meta/sources')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v1/meta/sources", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

  • GET/api/v2/meta/sourcesZdroje údajov, stránkované kurzorom ( v2 )

    Parametre

    • limitquery
    • next_cursorquery
    • fieldsquery
    • formatquery
    curl
    curl -sS "https://danubealert.arcm.ro/api/v2/meta/sources"
    JavaScript
    const r = await fetch('https://danubealert.arcm.ro/api/v2/meta/sources')
    if (!r.ok) throw new Error(`HTTP ${r.status}`)
    const body = await r.json()
    console.log(body)
    console.log(body._attribution.source, body._attribution.url)
    Python
    import requests
    
    r = requests.get("https://danubealert.arcm.ro/api/v2/meta/sources", timeout=30)
    r.raise_for_status()
    body = r.json()
    print(body)
    print(body["_attribution"]["source"], body["_attribution"]["url"])

    Limit požiadaviek: Anonymne: 60 požiadaviek/minútu (kĺzavé okno); s `Authorization: Bearer <kľúč>`: 600/minútu.

    Odpoveď obsahuje `_attribution`; zobraz `_attribution.source` a `_attribution.url` pri dátach.

Obmedzenie požiadaviek

Kĺzavé 60-sekundové okno; séria meraní je náročný koncový bod (10 za minútu). Nad limitom: 429 s retry_after_seconds v tele a hlavičkami Retry-After a X-RateLimit-*. Odmietnuté požiadavky sa nezapočítavajú do ďalšieho okna.

Obmedzenie požiadaviek
HlavičkaVýznam
X-RateLimit-Limit60 / 600 / 3000 / 10
X-RateLimit-Remaining0 … limit
Retry-Afters ( 429 )
429 · retry_after_secondsJSON

Typovaný TypeScript klient

Typy generované priamo zo zmluvy — každá trasa, parameter a odpoveď, bez ručne písaných modelov.

TypeScript
npx openapi-typescript https://danubealert.arcm.ro/api/v1/openapi.en.json -o danubealert.d.ts

import type { paths } from './danubealert'
type Observatii = paths['/stations/{slug}/observations']['get']['responses']['200']['content']['application/json']

Export otvorených údajov

Súbory z predchádzajúceho dňa, jeden riadok na stanicu, pre každú krajinu povodia, vo formáte CSV alebo JSON. Odpovede sa dajú ukladať do cache (ETag, Last-Modified, Cache-Control); licencia a uvedenie zdroja sú v hlavičkách súboru a v bloku _attribution v JSON.

Licencia: Creative Commons Attribution 4.0 International · Uvedenie zdroja: DanubeAlert a národné hydrologické služby · Predchádzajúci deň, v časovom pásme krajiny.

Konfigurátor widgetu

Vodný stav stanice priamo na vašom webe: vyberte stanicu, tému, jazyk a branding, pozrite si widget naživo a skopírujte kód iframe do ľubovoľného CMS.

Tvoje widgety v troch krokoch

Vyber typ a nastavenia — náhľad aj kód sa hneď aktualizujú.

Téma
Veľkosť

Náhľad ( miniatúra )

Kód na vloženie

<iframe
  src="https://danubealert.arcm.ro/embed/v1/station?slug=achleiten&theme=auto&lang=sk&accent=00BABE"
  title="Danube water level — Achleiten"
  width="100%"
  height="300"
  style="border:0;max-width:640px;"
  loading="lazy"
  referrerpolicy="strict-origin-when-cross-origin"
></iframe>

Úplná zmluva: /api/v1/openapi.en.json · /api/v1/openapi.json · Údaje: národné hydrologické služby, cez DanubeAlert