This tracker aggregates otter sightings from public biodiversity databases in near real-time, covering all 13 species of the subfamily Lutrinae. Every observation you contribute — whether you're a beachgoer with a phone or a research institution with decades of survey data — strengthens the record behind otter conservation worldwide. Here's how to get your data onto the map.
For Citizen Scientists
If you've seen an otter in the wild, your observation can appear on this map within 24 hours. The tracker pulls automatically from iNaturalist, the world's largest community-driven biodiversity database, covering all otter species globally. No special access or application required — just a free iNaturalist account and a photo.
Submit a Sighting via iNaturalist
iNaturalist observations at Research Grade or Needs ID are ingested automatically by this tracker. Here's the process:
- Create a free account at inaturalist.org or download the iNaturalist app
- Log your observation with at least one photo, the date, and a GPS-accurate location
- Identify the otter species — the app's AI will often suggest the correct species if your photo is clear. Any member of the otter subfamily (Lutrinae) will appear on this tracker
- Once two-thirds of community identifications agree on the species, your observation is promoted to Research Grade and appears on this tracker within 24 hours
Tips for a Quality Observation
Better observations help both the AI identification system and the scientific record. A few things that matter:
- Include at least one photo clearly showing the animal — side profile or face-on images work best for species confirmation
- Enable GPS on your phone before opening the app — precise coordinates are more valuable than a manually pinned guess
- Record time as well as date; behavioral context (foraging, rafting, pup-nursing) is scientifically useful
- Note group size if you observe a raft — counts of aggregations contribute to monitoring outside formal surveys
- If the otter appears injured, entangled, or stranded, do not approach. Contact your local wildlife authority — in California, call the CDFW Wildlife Hotline: 1-888-334-2258
Research Grade: On iNaturalist, a new observation enters Needs ID status as soon as it is posted with a species suggestion. It is promoted to Research Grade once the community reaches two-thirds agreement on the identification, the observation has a date and location, and it passes automated quality checks. This tracker shows only Research Grade observations to keep the data scientifically defensible — so a clear, well-identified photo is the best way to ensure your sighting makes it onto the map.
For Organizations and Researchers
If your institution maintains an otter dataset — whether from vessel surveys, tagged individual tracking, stranding records, or historical museum collections — reach out to discuss integration directly.
Request a Custom Integration
For real-time telemetry feeds, restricted-access research data with special sharing agreements, or formats requiring transformation — direct integration can be arranged. Open a GitHub issue with the details below and we'll respond within five business days.
- What format your data is in (CSV, JSON, API endpoint, shapefile, etc.)
- How frequently the dataset updates
- Any access restrictions or data sharing agreements that apply
- Approximate number of records and geographic scope
- Your institutional affiliation and contact information
How the Tracker Works
Understanding the data pipeline helps contributors know what to expect after submitting observations.
- Two sources, one map: Sightings are pulled from iNaturalist (Research Grade only) and OBIS (ocean occurrence records). Each source is color-coded on the map and can be toggled independently.
- 24-hour browser cache: Data is fetched from each API and stored in your browser's local storage for 24 hours. The Refresh button forces a new fetch from both APIs immediately. New observations will appear within one cache cycle of being published to their source platform.
- Region and result limits: The map defaults to Worldwide coverage with up to 5,000 records per source. Switch to Pacific Coast mode to filter results to the California–Alaska coastline (32.5°N–62°N, 170°W–116.5°W). The result limit can be raised to 10,000 records per source for deeper coverage; records are fetched in paginated batches to stay within API rate limits.
- Date filtering: All fetched records are filtered client-side by the selected date range (30 days, 6 months, 1 year, or all time). Switching the filter requires no additional API calls.
- Obscured locations: iNaturalist automatically obscures the precise coordinates of observations for threatened species to protect them from disturbance. These appear on the map with an approximate location.
Data Quality Standards
To maintain scientific defensibility, each source is filtered before display:
- iNaturalist: Research Grade observations only. Observations without GPS coordinates are excluded. Observations annotated as "Dead" are filtered out.
- OBIS: Records without valid decimal latitude and longitude are excluded. OBIS applies its own quality control pipeline before records are served via the API.
If you notice a sighting on the map that appears to be incorrectly identified or mislocated, the best course of action is to flag it directly on the source platform (iNaturalist or OBIS) where it originated. Corrections made there will propagate to this tracker at the next data refresh.