AQUATIC OPEN DATA · FINLAND & THE BALTIC · SOURCES AS OF 2026-07-31
The open water column
Where every fish record lives — and the per-lake layer nobody publishes
Finland holds 187,888 lakes and a fish archive reaching back to 1896, and the Baltic's shared biodiversity base just quadrupled to roughly six million points. Yet no single open dataset answers the simplest question — which species live in which lake. This report maps every source worth automating, grades its retrieval friction, and shows how the missing layer gets built: a spatial join, not a download.
Evidence graded: publisher primary > cross-check > literature relay > live API query [dated] · Counts are snapshots, not censuses
SCROLL
§0 · Key findings
The records exist. The inventory does not.
Every layer needed to map Finland's aquatic life is openly downloadable — except the one that lists species by lake. That layer is built, not fetched.
Three systems carry the weight. For freshwater fish, the national fish observation database published by Luke through FinBIF and GBIF — 51,005 records spanning 1896 to 2024 under CC BY 4.0 — is the practical starting point. For the coast, VELMU and POHJE hold two decades of dive and video inventory; for the wider Baltic, HELCOM's BioBase now holds roughly six million observation points after the Red List II data call nearly quadrupled it. Around them orbit the aggregators — FinBIF's 54.5 million national records, GBIF's 53.6 million for Finland, ICES, EMODnet and OBIS.
The gap is structural, not accidental. Survey registers record events; open portals publish presences. Nobody openly ships lake × species × presence/absence for the country — so per-lake distributions are produced by joining observation points against Ranta10's lake polygons, and absence must be inferred from effort, never from silence. The verdict in §5 grades exactly how far that gets you today.
§1 · The source map
Seventeen sources, three readiness tiers
Tier A deploys tonight; tier B needs transformation or deduplication; tier C is context — metadata, indices and catalogues, not species records.
FinBIF
National integration layer
One warehouse for 600 collections and 54.5M records — institutes, agencies, museums and citizen science.
The REST API needs an e-mail-issued token; API v1 went live 2026-01-15 and v0 sunsets 2027-01-15. Licences ride on each dataset and record; sensitive occurrences are coarsened from 1 km up to 100 km. Much of the same content reaches GBIF, which is often the easier bypass.
Hover for the full story
BioBase
HELCOM biodiversity database
The Baltic's shared species table — ≈6M points, WoRMS taxonomy, one zipped File Geodatabase.
Macrospecies only: fish, plants, algae, benthos and more, mostly points with 1/2/5/10 km grid IDs. Open-sea plankton and zoobenthos are reported to ICES instead — BioBase alone is not the whole Baltic. The species.csv download lists 5,234 taxa as of 2026-07-31.
Hover for the full story
Ranta10
The spatial backbone
Every Finnish lake over 200 m² as a polygon with an ID — the key that turns points into per-lake lists.
Syke's 1:10 000 shoreline set (NLS topography 2000–2008) is topologically corrected and CC BY 4.0. WFD water bodies can split one physical lake into several management units, so lake_id and waterbody_id are never one-to-one. Keep both.
Hover for the full story
§2 · The per-lake problem
Perch is in 183 of 184 surveyed lakes. Finding which 184 took a research grant.
The best per-lake fish tables come from standardized gillnet studies — published as papers, not as downloadable matrices. The open route is a spatial join you run yourself.
The reference survey below is what "good" looks like: one protocol, effort recorded, every lake a row. Research teams have assembled versions of this at >3,000-lake and >11,000-sample scale, but those registers sit behind request. The European Lake Fishes paper proves a ~100-species × 1,943-lake matrix exists — and publishes only the metadata. Meanwhile the raw material for an observed catalogue is already open: join Luke/FinBIF points to Ranta10 polygons, keep effort and uncertainty, and never read a missing record as a missing species.
One record, many copies
The same observation routinely surfaces in three or four portals — a Luke record flows FinBIF → GBIF; a coastal sample flows national monitoring → HELCOM or ICES → EMODnet → OBIS. Counting across portals without deduplication counts the water, not the fish.
Absence of a record is not a record of absence — only effort makes a zero mean anything.
— Review synthesis, state of sources 2026-07-31
Context Open portals publish presences; zero-catch events live in survey registers that are not openly downloadable.
Why it matters Every per-lake product must carry an effort table — events, net-nights, haul counts — beside the species list, or richness comparisons between lakes are meaningless.
§3 · The Baltic layer
3,009 macro-species share one sea — and 95 of them are now threatened
HELCOM's checklist defines the Baltic's cast; BioBase maps it; ICES DATRAS gives the designed survey trends; EMODnet and OBIS fill the seams between borders.
Fish and lamprey are 242 of the 3,009 verified macro-species — a minority of the catalogue, but the group with the only designed open survey: the BITS bottom-trawl series running since 1991, haul by haul, retrievable length distribution by length distribution. The 2024 Red List II assessment raised the threatened count from 69 to 95 species and pushed five to regional extinction — its data call is also what quadrupled BioBase. Two disciplines apply: aggregate by HELCOM sub-basin for ecology and by ICES rectangle for fisheries, and deduplicate before ever adding BioBase to EMODnet or OBIS.
§4 · Retrieval playbook
Nine gates between you and the data — eight have a bypass
Friction, scored: direct archives first, token and account gates in the middle, one door that only a collaboration request opens.
Everything tier A is scriptable today. The companion starter pack ships the same table as CSV alongside the occurrence schema, synthetic test rows, and working Python/R download-and-join scripts — the exact pipeline this report recommends.
§5 · The verdict
Buildable as an observed catalogue — not a complete inventory
The scale tips toward "start building": the records, polygons and taxonomy are all open. What would tip it to "complete" is visible, and so is what would falsify the gap.
The build order
Sequence matters: the spatial backbone and taxonomy crosswalk come before aggregation, and deduplication comes before counting. EEA Waterbase joins last — as ecological context, never as a species list.