Environmental Data API · Canada

Lakes, Crown land, wildlife units — natural geography for every Canadian coordinate.

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.

Multi-LOD GeoJSON Bathymetry lines Fish stocking events Crown land Wildlife mgmt units English / French names
8m 4m Access Camp WMU 57A
Kawartha Lake
Haliburton Highlands · Ontario · WMU 57A
Surface area
3,240 ha
Max depth
42 m
Thermal regime
Dimictic
3× GeoJSON LODs Bathymetry Fish stocking Access points
Lake boundaries (multi-LOD GeoJSON) Bathymetry & depth surveys Wildlife management units Crown land classification Fisheries & bait zones (EN/FR) Campgrounds & trails
What the API delivers

Natural geography data built for products, not GIS workstations.

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.

🏞

Multi-LOD lake boundaries

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.

🎯

Hierarchy IDs — one query, full context

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.

🌿

Bilingual names & classifications

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.

Data models

Eleven models. One coordinate system.

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
Endpoints

Query by coordinate, ID, or bounding box.

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.

GET
/v1/environment/lakes/find?lat={lat}&lng={lng}
Return all lake boundaries whose polygon contains the given coordinate. Includes LOD geometries, hierarchy IDs, aquatic resource summary, and links to bathymetry and stocking records. Useful for "what lake is this point on?" queries.
GET
/v1/environment/lakes/{id}
Full lake profile by stable ID. Returns all three GeoJSON LODs, AquaticResource summary, FishStock events, fishing access points, and hierarchy IDs in a single response.
GET
/v1/environment/lakes/{id}/bathymetry
All bathymetric survey lines for a lake, as a GeoJSON FeatureCollection of LineStrings. Each feature carries depth, survey_method, and survey year properties.
GET
/v1/environment/wmu/find?lat={lat}&lng={lng}
Resolve the Wildlife Management Unit containing a given point. Returns WMU polygon (two LODs), hierarchy IDs, province, code, and linked fisheries and bait management zone references.
GET
/v1/environment/crown-land?bbox={bbox}
Return all Crown land parcels intersecting the given bounding box (minLng,minLat,maxLng,maxLat). Includes designation, classification, and managing agency for each parcel.
GET
/v1/environment/campgrounds?lat={lat}&lng={lng}&radius_km={r}
Find public campgrounds within a given radius of a coordinate. Returns name, host, site count, reservation system, and a link to the campground info URL. Ordered by distance ascending.
GET
/v1/environment/trails?bbox={bbox}
Return all trail segments intersecting a bounding box, as a GeoJSON FeatureCollection of MultiLineStrings. Each feature includes name, surface, difficulty, length, and managing agency.
GET
/v1/environment/bait-zones/find?lat={lat}&lng={lng}
Resolve the Bait Management Zone for a coordinate. Returns the zone polygon, bilingual name_en / name_fr, province, and linked Fisheries Management Zone reference.
Response schema

Everything linked, one round-trip.

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.

  • idStable lake boundary ID
  • nameLake name (English)
  • province2-letter province code
  • boundary_lod_fullGeoJSON MultiPolygon, full resolution
  • boundary_lod_simplifiedGeoJSON MultiPolygon, simplified
  • boundary_lod_thumbGeoJSON MultiPolygon, thumbnail LOD
  • wmu_ids[]WMU IDs this lake intersects
  • fisheries_zone_idPrimary Fisheries Management Zone
  • bait_zone_idBait Management Zone
  • aquatic_resourceThermal regime, species, depth metrics
  • centroidGeoJSON Point centroid
  • bbox[minLng, minLat, maxLng, maxLat]
  • _linksbathymetry, fish_stocks, access_points, campgrounds, trails
GET /v1/environment/lakes/lake_kawartha_on 200 OK
{
  "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"
  }
}
Who uses it

Environmental context that makes property and recreation products richer.

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.

Waterfront Real Estate

Lake context on every cottage listing

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.

Insurance Underwriting

Proximity-to-water and Crown land risk signals

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.

Outdoor Recreation Apps

Fish stocking, trails, and campgrounds in one call

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.

Government & Land Management

Regulatory zone lookups for any coordinate

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.

Add environmental geography to your product today.

Talk to us about API access, coverage extent, or how environmental data layers into your existing Neighbourly integration.

Frequently asked questions

Common questions about this data and how to use it.

What environmental data does the API provide?

Lake boundaries, bathymetry, fish stocking, wildlife management units, Crown land, fishing access points, campgrounds, and trails.

How is the data delivered?

As REST/GeoJSON, queryable by location or area.

What is it used for?

Enriching waterfront and rural property listings, recreation apps, and environmental context for real estate.

What coverage does it have?

Natural-geography layers focus on Canadian regions where the source data exists, and expand over time.

How do I access it?

Contact us for an API key. Pricing is usage-based.