oneapi
Sign in
Locations v1 / Meteo

Weather coverage

How far the weather layer reaches: how many stations we hold, how many have data, from when to when. Worth reading before asking for a long series.

GET
https://oneapi.ro/api/locations/v1/meteo/acoperire

Query parameters

This route accepts no query parameters.

How it behaves

  • Coverage is NOT uniform: some stations have series running over a century, others a few decades. The primul_an here is the oldest in the whole network, not each station's — for that, see /meteo/statii.
  • This route is free, like every coverage route on the platform: you must be able to find out what a layer contains before paying for it.

What it is for

  • Checking, before integrating, how far back the series goes and how many stations have data.
  • Showing on a status page how complete the weather layer is.

Response structure

All fields below live inside data.

FieldTypeDescription
statii integer How many stations the imported network holds.
statii_cu_date integer How many of them actually have a daily series.
statii_fara_pozitie integer How many stations have a series but no coordinates (no catalogue record at the source). They are queried with ?statie=<wsi>; they do not appear in the geographic routes.
legate_la_uat integer How many stations could be linked spatially to an administrative unit.
judete_acoperite integer How many counties have at least one station.
primul_an integer The oldest year with measurements in the whole network.
ultimul_an integer The most recent year with measurements.
zile_masurate integer The total number of station-days imported.
observatie string A note on how to read the response: a computation convention or a limit of the data.
sursa object The data source: the National Meteorological Administration, official daily series, CC-BY-4.0 licence. It also carries the date of the last import.
sursa.nume string Name of the official source.
sursa.url string Public address of the source.
sursa.licenta string The licence under which the source allows reuse.

Response examples

GEThttps://oneapi.ro/api/locations/v1/meteo/acoperire
{
    "data": {
        "statii": 160,
        "statii_cu_date": 160,
        "statii_fara_pozitie": 20,
        "legate_la_uat": 139,
        "judete_acoperite": 41,
        "primul_an": 1871,
        "ultimul_an": 2026,
        "zile_masurate": 5247825,
        "observatie": "Acoperirea NU e uniformă: unele stații au serii de peste un secol, altele câteva decenii. Verifică `primul_an` al stației înainte de a cere un interval. `statii_fara_pozitie` sunt stații pentru care portalul publică serie dar nu și coordonate — se pot interoga prin `?statie=<wsi>`, dar nu apar în căutările geografice.",
        "sursa": {
            "nume": "Administrația Națională de Meteorologie (ANM) — date climatologice zilnice, controlate calitativ",
            "url": "https://odp.meteoromania.ro/",
            "licenta": "CC BY 4.0, cu indicarea sursei."
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403modul_interzisThe token has no access to the route's module.
422validareThe route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored.
429cota_depasitaThe plan's monthly quota has been exceeded (see Retry-After).

All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.

{
    "eroare": {
        "cod": "validare",
        "mesaj": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored."
    }
}