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_anhere 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
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | modul_interzis | The token has no access to the route's module. |
| 422 | validare | The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored. |
| 429 | cota_depasita | The 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."
}
}