Documentation
Introduction
OpenDiveMap is an open database of dive sites around the world. Every site is a GeoJSON point with structured metadata — location, depth, difficulty, wildlife, conditions — served over a simple REST API with no authentication required.
The data is community-driven and version-controlled: every edit is tracked, and previous versions of any site can be retrieved at any time.
Key concepts
GeoJSON everywhere
All API responses follow RFC 7946.
A single site is a Feature, a list of sites is a
FeatureCollection. Drop the response directly into
MapLibre, Leaflet, or any GeoJSON-compatible tool.
Typed fields + flexible tags
Core attributes (name,
dive_type,
level,
max_depth_m) are typed columns you can
filter on. Everything else — wildlife, season, currents — lives in a flexible
tags JSON object.
See the Schema for the full reference.
Version history
Every update to a dive site is automatically snapshotted. You can retrieve the full
edit history of any site via
GET /sites/:id/history.
Quick start
Fetch all dive sites with a single request:
curl "https://api.opendivemap.com/v1/sites" You'll get back a GeoJSON FeatureCollection:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-110.3981, 24.2156]
},
"properties": {
"id": "dccaf1e1-...",
"name": "El Bajo Seamount",
"country_code": "MX",
"dive_type": "seamount",
"max_depth_m": 40,
"level": "advanced",
"tags": { ... }
}
},
...
]
} Try it
Hit the API right now. Click "Try it" to make a live request.
/sites /sites?country=MX&level=advanced Endpoints
GET /stats Aggregate counts and breakdowns GET /sites List all dive sites with filters GET /sites/:id Get a single site by UUID GET /sites/:id/history Get edit history See the full API Reference for parameters, response codes, and multi-language examples.
Next steps
Schema — Learn about the data model, field types, and the tags vocabulary.
API Reference — Full endpoint documentation with request/response examples in cURL, JavaScript, and Python.