Environmental data · Lakes

Lakes API for Canada

A rich freshwater dataset for Canada — lake boundaries with bathymetry, aquatic resource areas, fish species, stocking history and access points, all queryable by map viewport.

What's included

Everything about a lake, connected.

  • Lake boundaries (MultiPolygon) with pre-computed GeoJSON at three levels of detail
  • Bathymetry lines — depth contours with survey method
  • Aquatic resource areas — thermal regime, fish species and depth metrics
  • Fish stocking history — species and year, keyed to each lake
  • Fishing access points for every waterbody
  • Pre-joined hierarchy arrays for fast viewport queries

Endpoints

/lake_boundary/bathymetry_line/aquatic_resource_area/fish_stock/fishing_access_point
Full reference in the docs

Query by

  • By coordinate
  • By address
  • By bounding box
Why it matters

What the Lakes dataset gives your team.

01

One waterbody, fully connected

Boundaries, depth, species, stocking and access points all resolve to a single lake — no stitching required.

02

Fast at any zoom

Pre-computed GeoJSON at three levels of detail keeps viewport queries snappy without runtime simplification.

03

Freshwater detail nobody else has

Bathymetry, thermal regime and stocking data go far beyond a simple lake outline.

What you can build

Use cases.

A few of the things teams build on Lakes data.

Fishing & outdoor apps

Show lakes with depth, species and access points near a point.

Waterfront real estate

Add lake and shoreline context to listings and guides.

Recreation & tourism

Map lakes alongside trails, campgrounds and amenities.

Environmental research

Analyze aquatic resources, thermal regime and stocking.

The API in action

See it in a request.

Example request
GETcURL
curl -H "Api-Key: $NEIGHBOURLY_KEY" \
  "https://api.neighbourly.io/api/v1/locations/lake_boundary/5521?includes_boundaries=true"
200 OKapplication/json
{
  "id": 5521,
  "nom": "Lake Simcoe",
  "wbdy_type": "lake",
  "area_m2": 743000000,
  "fish_stocks": [
    { "species": "Lake Trout", "year": 2024 }
  ],
  "aquatic_resource_areas": [
    { "thermal_regime": "cold", "species": ["Walleye", "Yellow Perch"] }
  ],
  "bathymetry_lines": [ { "depth": 18, "survey_method": "sonar" } ],
  "boundary_geojson": { "type": "MultiPolygon", "coordinates": [ ... ] },
  "lod": "med"
}

Lakes API — common questions

What lake data does the API provide?

Lake boundaries, bathymetry (depth) lines, aquatic resource areas, fish species, stocking history and fishing access points — all joined to each waterbody.

Does it include fish stocking data?

Yes — stocking events with species and year are recorded and keyed to each lake.

What is bathymetry, and is it included?

Bathymetry is underwater depth data. The API provides bathymetry lines with depth and survey method for covered lakes.

What fish species information is available?

Aquatic resource areas carry thermal regime and fish species, and stocking records list the species stocked in each lake.

Can I query lakes by map viewport?

Yes — /lake_boundary takes a viewport and can return pre-computed GeoJSON at the right level of detail, with the lake's associations inline on a single-lake request.

Is lake data available across Canada?

Yes — coverage is Canada-wide, hosted in Canadian data centres and PIPEDA-compliant by default.

More environmental datasets

Build with the Lakes API.

One API key, ten data layers, Canada-wide. Get access or talk to our team.