Open data & standards · Project Dive Kit

Diving data, open for anyone to build on.

Versioned JSON datasets and JSON Schemas for certifications, agencies, cylinders, dive signals and the sources behind them. The same data that powers the Dive Kit app, free for apps, researchers and training platforms.

datasets/cylinders.jsoncylinders[0]
{
  "id": "al80",
  "commonName": "AL80",
  "waterVolumeL": 11.1,
  "workingPressureBar": 206.84,
  "material": "aluminum",
  "emptyWeightKg": 14.2,
  "buoyancyKg": {
    "full": -1.0,
    "at50bar": 1.1,
    "empty": 1.8
  },
  "brands": ["Luxfer", "Catalina", "Thunderbird"]
}
Fig. 1: One record from the cylinder database, as it is in the file.

01 · Datasets

The catalogue

Every dataset is a single JSON file with a $schema link and a meta.version. Fetch it straight from this site; the URLs are stable.

Dataset What it holds Records Version Files
Certificationscertifications.json Scuba certifications across the world's training agencies, with limits and equivalencies. — —
Agenciesagencies.json Recognised certifying agencies. — —
Cylinderscylinders.json Specifications for common scuba cylinders: volume, pressure, weight and buoyancy. — —
Dive signalsdive-signals.json Diver communication signals with names, meanings and artwork. — —
Referencesreferences.json Vetted papers, books, standards and articles behind Dive Kit, with what each is authoritative for. — —
Search sourcessearch-sources.json Where to search next when no reference answers a question, each marked vetted or not. — —

Table 1: Record counts and versions are read live from each file. Open any dataset as a searchable table in the data browser. New to the data? Start with the dataset guide.

02 · Quick start

Use it in a minute

Fetch

From the command line

Plain static files. No key, no rate limit.

curl https://open.divekit.app/datasets/certifications.json

Validate

Against its schema

Each dataset names its schema in $schema.

npx ajv validate \
  -s https://open.divekit.app/schemas/certifications/dive-certifications.schema.v1.0.0.json \
  -d certifications.json

Build

In your app

Served with CORS by GitHub Pages, so a browser can read it too.

const res = await fetch(
  'https://open.divekit.app/datasets/cylinders.json'
);
const { cylinders } = await res.json();

03 · Dive signals

Signal artwork you can reuse

Vector illustrations for every signal in the dataset: hand signals, technical and fish ID, light signals and buddy contact. Licensed CC BY 4.0, including for commercial use. Credit “Dive signals by Project Dive Kit — https://divekit.app”.

  • OK
  • Pressure check
  • Up
  • Descend
  • Share air
  • Safety stop
  • Turn the dive
  • Deco
  • Shark
  • Turtle
  • Seahorse
  • Blue-spotted ray

Fig. 2: 12 of 93 illustrations. See them all on GitHub. Agency logos live in assets/agency-logos; they are third-party trademarks, for reference use only.

04 · References

Where the numbers come from

References

references.json lists the papers, books, standards, manuals, articles and videos behind Dive Kit's calculators and guide. Each record says what the source is authoritative for, so an assistant can cite it.

Search sources

search-sources.json lists where to search next when no reference answers a question, in the order to try them. vetted says whether what you find there can be cited as trustworthy.

How Dive Kit uses them

The Dive Kit MCP server's lookup_references tool searches the references. When nothing matches, it returns the search sources, so the assistant knows where to look next and says the result is not Dive Kit-vetted.

Both files are meant to grow with contributions. See Adding a reference.

05 · Contribute

Fix a record, add a dataset

We welcome:

  • New or corrected certification data
  • Updated equivalencies or limits
  • Additional recognised agencies
  • New references and search sources
  • Translations, metadata and documentation

Validate locally before you open a pull request. CI runs the same checks on every PR.

./scripts/validate.sh
# ✓ schemas are valid JSON Schema
# ✓ each dataset matches its schema
# ✓ no duplicate ids

Needs Bun (or Node.js) and jq. Datasets and schemas are versioned semantically; a breaking change bumps the major version.

06 · License

Free to use, with credit

Type License Notes
Datasets & docs CC BY 4.0 Free to share and remix with attribution.
Dive signal illustrations CC BY 4.0 Credit “Dive signals by Project Dive Kit — https://divekit.app”.
Schemas & code MIT Free to use in software projects.
Agency logos Third-party trademarks Owned by the respective agencies; reference use only.
Dive Kit brand assets All rights reserved Dive Kit trademark; permission required for use.

Table 2: Unless otherwise noted. Full terms in LICENSE.md.

Unify how the diving world represents, shares and understands its data: safely, transparently, and for everyone.
The Dive Kit Open mission