Developer

Public API

H2OFlows public API reference — reaches, gauges, flow ranges, conditions.

Base URL

https://api.h2oflows.app

All endpoints return JSON. Reads are unauthenticated. Writes require a bearer token (Phase 6).

Reaches

List reaches

GET /api/v1/reaches

Returns all reaches in the registry.

Get reach

GET /api/v1/reaches/{slug}

Returns reach metadata: name, class, description, geometry.

Reach gauges

GET /api/v1/reaches/{slug}/gauges

Returns all gauges linked to this reach with current CFS.

Reach conditions

GET /api/v1/reaches/{slug}/conditions

Returns active conditions reports (auto-expires after 7 days).

Reach flow ranges

GET /api/v1/gauges/{id}/flow-ranges

Returns CFS band definitions for all reaches linked to this gauge.

Gauges

Get gauge readings

GET /api/v1/gauges/{id}/readings

Returns recent CFS readings for this gauge.

Readings with date range

GET /api/v1/gauges/{id}/readings?from=2024-01-01&to=2024-01-31

Both from and to are ISO 8601 date strings. Maximum range is 90 days.

Rate limits

TierLimit
Anonymous1000 req/hour
AuthenticatedElevated (Phase 6)
Commercial / outfitterPaid tier (Phase 6)

Attribution

If you build on H2OFlows data, attribution is requested:

Data sourced from H2OFlows community (h2oflows.app)

Status

The API is in active development. Endpoints marked above reflect the current implementation. Breaking changes will be versioned at /api/v2/.