Retrieve lake boundaries with multi-LOD GeoJSON, bathymetry lines, fish stocking records, wildlife management units, Crown land classifications, fishing access points, campgrounds, and trails — all from a single coordinate or geometry query.
Canadian environmental data is scattered across provincial ministries, federal agencies, and open data portals — in inconsistent schemas and formats. Neighbourly normalizes it into a single, coordinate-queryable API with clean GeoJSON geometry and stable IDs throughout.
Every LakeBoundary ships with three precomputed GeoJSON levels-of-detail — full resolution, simplified, and thumbnail — so your frontend renders fast at any zoom. Hierarchy *_ids[] arrays link to WMU, fisheries zone, and bait management zone in a single response.
Every environmental geometry carries its parent hierarchy IDs — wmu_ids[], fisheries_zone_id, bait_zone_id — so you can resolve the full regulatory and geographic context of any lake or access point in a single API round-trip.
Bait Management Zones and Fisheries Management Zones include both English and French names as top-level fields — not as locale variants to be fetched separately. Crown land records include designation and classification from provincial datasets.
Every model is keyed to the same geographic coordinate space and links outward via stable IDs — so a lake boundary, its bathymetry, its fish stocking history, and its fishing access points are all traversable from a single starting geometry.
| Model | Geometry type | Notable fields & notes |
|---|---|---|
| LakeBoundary | MultiPolygon | Three precomputed GeoJSON LODs (lod_full, lod_simplified, lod_thumb); hierarchy wmu_ids[], fisheries_zone_id, bait_zone_id arrays |
| Bathymetry | LineString | depth (metres), survey_method, lake_boundary_id foreign key; survey year and source agency |
| AquaticResource | Area | thermal_regime (dimictic, polymictic…), fish_species[], surface_area_ha, mean_depth_m, max_depth_m |
| FishStock | — | Stocking events: species, stocked_at date, count, size_class, source_hatchery; lake_boundary_id FK |
| FishingAccessPoint | Point | access_type (boat launch, shore, dock), amenities[], operator, lake_boundary_id FK |
| WildlifeManagementUnit | MultiPolygon | Precomputed GeoJSON at two LODs; hierarchy province, region_id, district_id, wmu_ids[] arrays; name & code |
| CrownLand | geometry | designation (provincial park, conservation reserve…), classification, managing_agency, province; GeoJSON polygon |
| FisheriesManagementZone | MultiPolygon | Zone code & name, province, linked regulation summary; parent wmu_ids[] |
| BaitManagementZone | MultiPolygon | Precomputed GeoJSON; bilingual name_en / name_fr; province; linked fisheries_zone_id |
| PublicCampground | Point | name, host (Parks Canada, provincial, municipal, private), info_url, site_count, reservation_system |
| Trail | MultiLineString | name, surface, difficulty, length_km, managing_agency; linked wmu_id, crown_land_id |
Every environmental model is queryable by its stable ID, by a lat/lng coordinate (point-in-polygon intersection), or by a bounding box — so you can resolve the full environmental context of any location or build a map layer from any viewport.
AquaticResource summary, FishStock events, fishing access points, and hierarchy IDs in a single response.depth, survey_method, and survey year properties.minLng,minLat,maxLng,maxLat). Includes designation, classification, and managing agency for each parcel.name_en / name_fr, province, and linked Fisheries Management Zone reference.A lake profile response returns the lake boundary, its aquatic resource summary, the three GeoJSON LODs, hierarchy IDs, and links to related resources — so you can build a full lake detail page or a regulatory context lookup from a single call.
{
"id": "lake_kawartha_on",
"name": "Kawartha Lake",
"province": "ON",
"centroid": {
"type": "Point",
"coordinates": [-78.7421, 44.5618]
},
"bbox": [-78.84, 44.50, -78.64, 44.61],
"wmu_ids": ["wmu_57a", "wmu_57b"],
"fisheries_zone_id": "fmz_15",
"bait_zone_id": "bmz_on_b",
"aquatic_resource": {
"thermal_regime": "dimictic",
"fish_species": [
"walleye", "smallmouth_bass", "northern_pike"
],
"surface_area_ha": 3240,
"mean_depth_m": 14.2,
"max_depth_m": 42
},
"boundary_lod_full": { "type": "MultiPolygon", ... },
"boundary_lod_simplified": { "type": "MultiPolygon", ... },
"boundary_lod_thumb": { "type": "MultiPolygon", ... },
"_links": {
"bathymetry": "/v1/environment/lakes/lake_kawartha_on/bathymetry",
"fish_stocks": "/v1/environment/fish-stocks?lake_id=lake_kawartha_on",
"access_points": "/v1/environment/fishing-access?lake_id=lake_kawartha_on",
"campgrounds": "/v1/environment/campgrounds?lake_id=lake_kawartha_on",
"trails": "/v1/environment/trails?lake_id=lake_kawartha_on"
}
}
From waterfront real estate listings that show the lake boundary and fish species, to outdoor apps that surface stocking events and campground availability — environmental data adds a layer of context no other Canadian API provides.
Resolve the listing coordinate to the nearest lake boundary. Surface the lake name, surface area, fish species, and access points directly on the listing page. Give waterfront buyers the data they're already searching for — without sending them off-site.
Check whether a property coordinate falls within a lake polygon, on Crown land, or within a floodplain-adjacent WMU. Use bathymetry depth data and aquatic resource thermal regime as inputs to environmental risk models for cottage and rural property underwriting.
Build a fishing trip planning feature powered by real stocking data — surface species, recent stocking events, and fishing access points for any lake. Layer in nearby campgrounds and trail networks from the same API, keyed to the same lake IDs.
Resolve any point to its Wildlife Management Unit, Fisheries Management Zone, and Bait Management Zone — with bilingual names — in a single call. Use the hierarchy ID arrays to traverse relationships between zones, lakes, and Crown land in your own system.
Talk to us about API access, coverage extent, or how environmental data layers into your existing Neighbourly integration.
Common questions about this data and how to use it.
Lake boundaries, bathymetry, fish stocking, wildlife management units, Crown land, fishing access points, campgrounds, and trails.
As REST/GeoJSON, queryable by location or area.
Enriching waterfront and rural property listings, recreation apps, and environmental context for real estate.
Natural-geography layers focus on Canadian regions where the source data exists, and expand over time.
Contact us for an API key. Pricing is usage-based.