CLARA docs

Coverage

Where CLARA works, and which products work there. Coverage is a list of cities, each with its own model and product set; the list is itself an endpoint, so nothing needs hardcoding.

CLARA builds a hyper-local simulation per city, modelled at up to 1×1 m, and each city ships with the products its model supports: historical statistics, real-time conditions, forecasts, reports, map layers and the geocoding helper. A city can have any combination, and the set grows as models are extended. The index is public:

curl -sS https://api.clara.city/v1/cities

Each entry carries the city identifier, its bounding box and one boolean per product. Called with a key, entries also say whether your key is scoped to them. Filter with ?product= when you only need one, for example ?product=map.

Belgium, nationwide

Two products go beyond city limits. In Belgium, historical statistics and reports serve any address in the country, not only the covered cities. The mechanics:

  • Anywhere in the Brussels Capital Region, the answer comes from high-resolution data: in the current zone served by the boundary endpoint and in the rest of the Region alike. The same goes for area statistics.
  • Outside the Region, anywhere else in Belgium, it comes from a lower-resolution nationwide dataset, with the same quantities and the same scoring methods. GET /v1/geocode marks those addresses covered: national_low_res.

The high-resolution zone itself is growing toward the whole Brussels Capital Region. GET /v1/cities/brussels serves that planned boundary next to the current one, and GET /v1/geocode reports addresses inside it as covered: high_res_in_development. Every Brussels product already answers there at high resolution: statistics and reports, maps, and real-time and forecast values at a point.

You never choose: send the location and the API picks the best dataset. meta.dataset says which answered; city is present only when the location falls inside a city's boundary.

Real-time, forecast and map layers stay city products: they answer only for the covered cities that have them. In Brussels all three cover the whole Region.

Boundaries

The exact edge of a city's coverage is not its bounding box. Ask for the city and you get the boundary as a GeoJSON polygon, ready to draw on a map or to pre-filter locations before spending data requests:

curl -sS https://api.clara.city/v1/cities/brussels

The geocoding helper does this check for you. Every GET /v1/geocode result carries covered, and it is graded rather than a yes or no, because the answer is not the same everywhere:

  • high_res: inside a city's current high-resolution zone, the polygon the boundary endpoint serves. Every product that city has works here.
  • high_res_in_development: inside an announced expansion of that zone, the city's planned_boundary. Every product of the city already answers here at high resolution, real-time and forecast included. A key limited to the high-resolution zone gets 403 outside_key_coverage here.
  • national_low_res: elsewhere in Belgium, outside the Region, where the nationwide lower-resolution dataset answers historical statistics and reports.
  • false: beyond all of that. No coordinates come back.

The covering city's identifier travels with the first two grades. Locations outside every covered area receive 422 outside_coverage from the data endpoints, which partner UIs should treat as "not covered yet", never as an error state.

City and product matrix

The matrix below is read live from GET /v1/cities, the same endpoint your code can use; never hand-typed, it cannot fall behind the API. The last column is the metrics each city actually models, which is not the same list everywhere.

CityCountryHistoricalReal-time ForecastReportsMapGeocoding Metrics
Loading the city list from the API...

The matrix is per city, and for Brussels it covers the whole Brussels Capital Region. Historical statistics and reports also answer in the rest of Belgium, from the nationwide dataset.