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.
{ "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"] }
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. | — | — | Table JSON Schema |
| Agenciesagencies.json | Recognised certifying agencies. | — | — | Table JSON Schema |
| Cylinderscylinders.json | Specifications for common scuba cylinders: volume, pressure, weight and buoyancy. | — | — | Table JSON Schema |
| Dive signalsdive-signals.json | Diver communication signals with names, meanings and artwork. | — | — | Table JSON Schema |
| Referencesreferences.json | Vetted papers, books, standards and articles behind Dive Kit, with what each is authoritative for. | — | — | Table JSON Schema |
| Search sourcessearch-sources.json | Where to search next when no reference answers a question, each marked vetted or not. | — | — | Table JSON Schema |
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.