staticdata.dev
Menu
Datasets About Contact

SI Base Units

The International System of Units (SI) defines seven base units from which all other units of measurement are derived: the metre (length), kilogram (mass), second (time), ampere (electric current), kelvin (thermodynamic temperature), mole (amount of substance), and candela (luminous intensity). Since the 2019 SI redefinition, each base unit is anchored to an exact numerical value of a fundamental physical constant.

v1.0.0 MIT 7 records Updated 2026-10-05 stable Source:  BIPM — The International System of Units (SI), 9th edition

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
curl https://staticdata.dev/v1/si-base-units.json

Or use as a typed import: import { siBaseUnits } from "https://staticdata.dev/v1/si-base-units.ts"

Formats

  • JSON 1.8 KB

    /v1/si-base-units.json

    Open

    min: 1.6 KB · /v1/si-base-units.min.json

  • CSV 1.3 KB

    /v1/si-base-units.csv

    Open
  • TypeScript 2.0 KB

    /v1/si-base-units.ts

    export const siBaseUnits

    type SiBaseUnit = (typeof siBaseUnits)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
Field Type Description Example
quantity string The physical quantity the unit measures (e.g. length, mass) length
unit string Full English name of the SI base unit metre
symbol string Official SI symbol for the unit m
definition string Formal definition in terms of fixed physical constants as per the 2019 SI revision The metre is defined by fixing the numerical value of the speed of light in vacuum c to be exactly 299 792 458 when expressed in m/s.

Preview

First 7 records.

Data preview
quantityunitsymboldefinition
lengthmetremThe metre is defined by fixing the numerical value of the speed of light in vacuum c to be exactly 299 792 458 when expressed in m/s.
masskilogramkgThe kilogram is defined by fixing the numerical value of the Planck constant h to be exactly 6.626 070 15 × 10⁻³⁴ when expressed in J·s (kg·m²·s⁻¹).
timesecondsThe second is defined by fixing the numerical value of the caesium-133 hyperfine transition frequency ΔνCs to be exactly 9 192 631 770 when expressed in Hz (s⁻¹).
electric currentampereAThe ampere is defined by fixing the numerical value of the elementary charge e to be exactly 1.602 176 634 × 10⁻¹⁹ when expressed in C (A·s).
thermodynamic temperaturekelvinKThe kelvin is defined by fixing the numerical value of the Boltzmann constant k to be exactly 1.380 649 × 10⁻²³ when expressed in J/K (kg·m²·s⁻²·K⁻¹).
amount of substancemolemolThe mole is defined by fixing the numerical value of the Avogadro constant NA to be exactly 6.022 140 76 × 10²³ when expressed in mol⁻¹.
luminous intensitycandelacdThe candela is defined by fixing the numerical value of the luminous efficacy of monochromatic radiation of frequency 540 × 10¹² Hz (Kcd) to be exactly 683 when expressed in lm/W (cd·sr·kg⁻¹·m⁻²·s³).

Showing 7 of 7. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/si-base-units.json | jq '.[0]'
JavaScript
import type { SiBaseUnit } from "https://staticdata.dev/v1/si-base-units.ts";

const res = await fetch("https://staticdata.dev/v1/si-base-units.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const siBaseUnits: SiBaseUnit[] = await res.json();
console.log(siBaseUnits[0]);
Python
import urllib.request, json

with urllib.request.urlopen("https://staticdata.dev/v1/si-base-units.min.json") as r:
    siBaseUnits = json.load(r)

print(siBaseUnits[0])
Go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	resp, err := http.Get("https://staticdata.dev/v1/si-base-units.min.json")
	if err != nil { panic(err) }
	defer resp.Body.Close()

	var data []map[string]any
	if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
		panic(err)
	}
	fmt.Println(data[0])
}
Rust
use serde_json::Value;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let body = ureq::get("https://staticdata.dev/v1/si-base-units.min.json").call()?.into_string()?;
    let data: Vec<Value> = serde_json::from_str(&body)?;
    println!("{:?}", data.first());
    Ok(())
}

Sources and methodology

This dataset contains the seven SI base units as defined in the 9th edition of the SI Brochure published by the Bureau International des Poids et Mesures (BIPM). The definitions reflect the 2019 revision of the SI, which redefined four units — the kilogram, ampere, kelvin, and mole — by fixing exact numerical values of fundamental physical constants (the Planck constant, elementary charge, Boltzmann constant, and Avogadro constant respectively). The metre and second were already defined via physical constants; the candela is defined through the luminous efficacy constant.

Each record includes the physical quantity being measured, the full English name of the unit, its official symbol, and the formal definition tied to a fixed constant. The dataset is ordered metre, kilogram, second, ampere, kelvin, mole, candela, following the historical MKS(A) convention; note that the 9th edition of the SI Brochure itself lists the second first (second, metre, kilogram, ampere, kelvin, mole, candela). Definitions are lightly abridged from the official wording.

Note that SI base units are dimensionally independent — none can be derived from the others — but many SI derived units (such as the newton, pascal, joule, watt, and hertz) are expressed as combinations of these seven. The symbols are case-sensitive: uppercase K (kelvin) and A (ampere), and lowercase m, kg, s, mol and cd, follow official BIPM notation.

Versioning

URLs under /v1/ are stable: field names and types will not change in a way that breaks consumers. Values can be corrected or records added when the upstream source changes; schema-incompatible updates ship under a new version path. See the si-base-units changelog for this dataset's history.

More Code datasets