The Neighbourly Fish Stocking API returns Ontario's recreational fish stocking records: the waterbody, species, number of fish, life stage, stocking year and responsible district. Each record is a mapped point, linked to its lake where matched. Query by map viewport, species or year.
Ontario stocks hatchery-raised fish into lakes and rivers to support recreational fishing and restore native populations. Each stocking event is recorded with the waterbody, the species (most often brook trout, splake, rainbow trout and lake trout), how many fish went in, their life stage (fry, fingerlings, yearlings or adults), the year and the district that did it. This API serves those records as map points.
Pass species=Brook Trout or year=2024 together with a viewport to see exactly what was stocked where.
Each record is a point. Where it matches a lake polygon it carries a lake_boundary_id, so a lake page can list its stocking history.
Records span several stocking seasons, so you can show trends for a lake, such as consistent annual brook trout stocking versus a one-off event.
These are the fields the API returns for this layer. Field names match the JSON response exactly.
| Field | Type | Description |
|---|---|---|
| species | string | e.g. Brook Trout, Splake, Lake Trout, Walleye |
| number_of_fish_stocked | number | Fish released |
| developmental_stage | string | Fry, Fingerlings, Yearlings, Adult |
| stocking_year | integer | Year of stocking |
| official_waterbody_name | string | Waterbody name |
| official_french_waterbody_name | string | French name, where published |
| mnrf_district | string | Responsible district or park zone |
| geographic_township | string | Township |
| latitude / longitude | float | Stocking location |
| lake_boundary_id | integer | Linked lake polygon |
All requests go to https://api.neighbourly.io and send your key in the Api-Key header. A viewport is a JSON bounding box, {"southWestLat":…,"southWestLon":…,"northEastLat":…,"northEastLon":…}, URL-encoded.
Live response. Coordinates are published by the province at about two decimal places, roughly 1 km.
[
{
"id": 5356,
"mnrf_district": "Minden Parry Sound Bracebridge District",
"stocking_year": 2024,
"species": "Lake Trout",
"official_waterbody_name": "Young Lake",
"developmental_stage": "Yearlings",
"number_of_fish_stocked": 650,
"latitude": 45.2,
"longitude": -79.54,
"lake_boundary_id": 2094019
}
]
Show the most recent stocking events near a user, filtered to the species they target.
Back up "great fishing" with the province's own record of what has been stocked and when.
Build up-to-date "stocked lakes" lists by region and species, refreshed from one source.
Combine stocking history with lake profiles to study which waters rely on stocking and which sustain wild populations.
Every environmental layer shares the same API key, coordinate system and response conventions. Combine them in one integration.
Common questions about the Fish Stocking Data API.
Records of hatchery fish released into lakes and rivers: the waterbody, species, number of fish, life stage, year and the district responsible.
The Ontario Ministry of Natural Resources "Fish Stocking Data for Recreational Purposes" dataset, published as open data.
Brook trout, splake, rainbow trout and lake trout make up most Ontario stocking records, with smaller numbers of brown trout, walleye, aurora trout and salmon.
Points are published at about two decimal places, roughly a kilometre, which is enough to identify the waterbody but not a precise spot on it. Use lake_boundary_id to place a record on its lake.
Not today. Fish stocking records are Ontario-only.
Request an API key from the dashboard or book a demo. Every request sends the key in the Api-Key header. Pricing is usage-based.
Neighbourly normalizes public open data into one schema. Source licences and attribution apply; see our terms.
Get an API key and query this layer today, or talk to us about coverage and volume.