Understand how people and wildlife share the sea.
Combine animal movement with human activity to protect species, spot illegal fishing and back policy with data, without spending months stitching sources together.
from seasignals import Ocean ocean = Ocean() # Where shipping overlaps fin whale density, by month overlap = ocean.area( polygon=study_area, layers=["vessels", "wildlife"], taxon="taxon:balaenoptera_physalus", interval="1M", years=5, ).to_geopandas()
What SeaSignals gives you
Ship-strike risk
Where shipping lanes overlap whale corridors, by season and vessel speed.
Fishing pressure
Fishing activity in and around protected areas, including vessels that go dark nearby.
Habitat context
Sea temperature and conditions sampled along animal tracks and sightings.
Research access
Discounted plans and data-sharing partnerships for academic and non-profit teams.
From signal to decision
Every layer shares one grid, one clock and one set of IDs, so combining them takes a single query instead of a data project.
Pick your area and species
Draw a study area or upload a protected-area boundary, and choose the species you study.
Join wildlife with human activity
Pull vessel traffic, fishing effort and ocean conditions on the same grid and time steps.
Publish with provenance
Every value carries its source and confidence, so your results are easy to cite and reproduce.
Same dataset, other questions
Shipping & logistics
Fleet visibility, ETAs and port delays, with weather risk built in.
Learn more →Commodities & markets
Tanker flows and port throughput as early market signals.
Learn more →Insurance & risk
Storm exposure, voyage risk scoring and behaviour anomalies.
Learn more →Offshore & energy
Weather windows, wave forecasts and site conditions.
Learn more →Developers & builders
One clean API for marine apps, maps, games and AI agents.
Learn more →Tell us what you're working on
We're shaping early access around real use cases.