Map data © OpenStreetMap contributors
Fish Stocking Data API · Ontario

Which fish went into which lake, and when.

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.

Species & countLife stageStocking yearMNR districtPoint GeoJSON
Sample recordLive API
Young Lake
Muskoka · Minden Parry Sound Bracebridge District
Species
Lake trout
Fish stocked
650
Year
2024
YearlingsLinked lake 2094019Point
SpeciesNumber stockedLife stageStocking yearDistrict
Overview

What is fish stocking data?

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.

Filter by species and year

Pass species=Brook Trout or year=2024 together with a viewport to see exactly what was stocked where.

Mapped and lake-linked

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.

Multi-year 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.

Fields

What each record contains.

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
Endpoints

Query by map view, ID or filter.

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.

GET
/api/v1/locations/fish_stock?viewport={…}&species=Lake%20Trout&year=2024
Stocking records in a viewport, filtered by species and year. Default 500, up to 2,000 per request.
GET
/api/v1/locations/fish_stock/{id}
One stocking record.
GET
/api/v1/locations/lake_boundary/{id}
A lake with its stocking records included.
GET
/api/v1/spatial/fish_stocks
Stocking records as GeoJSON Points, paged in sets of up to 200.
Example response

Real data, straight from the API.

Live response. Coordinates are published by the province at about two decimal places, roughly 1 km.

  • GeometryPoint
  • FormatJSON and GeoJSON (WGS84, EPSG:4326)
  • CoverageOntario, Canada
  • SourceOntario Ministry of Natural Resources — Fish Stocking Data for Recreational Purposes
  • Per requestUp to 2,000 by viewport; 200 per page on /spatial
  • AuthApi-Key header
GET /api/v1/locations/fish_stock?viewport={Muskoka}&limit=1 200 OK
[
  {
    "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
  }
]
Who uses it

Where this layer earns its place.

Fishing apps

"What was stocked near me?"

Show the most recent stocking events near a user, filtered to the species they target.

Cottage & resort marketing

Proof of a fishing lake

Back up "great fishing" with the province's own record of what has been stocked and when.

Tourism boards

Regional fishing guides

Build up-to-date "stocked lakes" lists by region and species, refreshed from one source.

Research & conservation

Stocking pressure by lake

Combine stocking history with lake profiles to study which waters rely on stocking and which sustain wild populations.

Related layers

Works well with.

Every environmental layer shares the same API key, coordinate system and response conventions. Combine them in one integration.

Frequently asked questions

Common questions about the Fish Stocking Data API.

What is fish stocking data?

Records of hatchery fish released into lakes and rivers: the waterbody, species, number of fish, life stage, year and the district responsible.

Where does the data come from?

The Ontario Ministry of Natural Resources "Fish Stocking Data for Recreational Purposes" dataset, published as open data.

Which species appear most?

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.

How precise are the locations?

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.

Is it available outside Ontario?

Not today. Fish stocking records are Ontario-only.

How do I get access?

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.

Data sources

Neighbourly normalizes public open data into one schema. Source licences and attribution apply; see our terms.

Add fish stocking data to your product.

Get an API key and query this layer today, or talk to us about coverage and volume.