Hydrionis API
API
A static JSON API generated at build time and served as flat files. There is no server, so there are no keys, no rate limits and no cost to serving it — a crawler hitting every endpoint costs exactly the same as one hitting none.
Endpoints
| Endpoint | Returns |
|---|---|
| /api/v1/index.json | Service index: available endpoints, record counts and build metadata. |
| /api/v1/metrics.json | Every metric with its definition, unit, native geography, aggregation rules and comparability notes. |
| /api/v1/sources.json | The full source registry including structured rights for each source. |
| /api/v1/geographies.json | Every geography: world, continents, regions, countries, UK nations, councils, utility areas, basins and oceans. |
| /api/v1/entities.json | Every entity: utilities, water bodies, aquifers, infrastructure, events, enforcement, bottled waters, sectors, standards and more. |
| /api/v1/observations.json | Every observation with metric, subject, period, value, unit, basis, source, confidence and retrieval date. |
| /api/v1/observations/by-metric/{metricId}.json | All observations for one metric. |
| /api/v1/observations/by-subject/{subjectId}.json | All observations for one country, place or entity. |
| /api/v1/guides.json | Guide index with slugs, sections, summaries and search intents. |
| /api/v1/diagrams.json | Diagram index with titles, summaries and text alternatives. |
| /api/v1/tools.json | Tool registry with method and caveats for each. |
Example
curl https://hydrionis.com/api/v1/observations/by-subject/country-gbr.json
{
"subjectId": "country-gbr",
"count": 8,
"observations": [
{
"id": "renewable-water-resources::country-gbr::1990-01-01",
"metricId": "renewable-water-resources",
"value": 147,
"unit": "km³/yr",
"period": { "start": "1990-01-01", "end": "2022-12-31", "kind": "multi-year" },
"basis": "derived",
"sourceId": "fao-aquastat",
"confidence": "medium",
"qualifier": "transcribed-pending-ingestion",
"retrieved": "2026-08-23"
}
]
}Fields you should not ignore
- basis — whether the value was measured, reported, calculated, derived, aggregated, estimated, modelled or inferred. The last three are not observations.
- qualifier — currently carries
transcribed-pending-ingestionon values hand-loaded from published sources rather than ingested automatically. - confidence — high, medium or low, set per observation.
- sourceId — resolves against
/api/v1/sources.json, which carries the licence terms governing what you may do with the value.