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.
Quick fetch
Stable URL. CORS-enabled. No auth.
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
min: 1.6 KB · /v1/si-base-units.min.json
- CSV 1.3 KB
/v1/si-base-units.csv
- TypeScript 2.0 KB
/v1/si-base-units.ts
export const siBaseUnits
type SiBaseUnit = (typeof siBaseUnits)[number]
Schema
Each record in the dataset has the following shape.
| 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.
| quantity | unit | symbol | definition |
|---|---|---|---|
| length | metre | m | 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. |
| mass | kilogram | kg | The 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⁻¹). |
| time | second | s | The 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 current | ampere | A | The 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 temperature | kelvin | K | The 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 substance | mole | mol | The 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 intensity | candela | cd | The 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³). |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/si-base-units.json | jq '.[0]' 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]); 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]) 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])
} 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
- ansi-colors
- ascii
- cron-presets
- css-at-rules
- css-functions
- css-named-colors
- css-properties
- css-pseudo-classes
- css-pseudo-elements
- css-units
- data-units
- exit-codes
- file-signatures
- hash-algorithms
- js-array-methods
- js-math-methods
- js-object-methods
- js-string-methods
- json-schema-keywords
- jwt-claims
- mathematical-constants
- measurement-units
- node-builtin-modules
- owasp-top-10
- periodic-table
- physical-constants
- posix-signals
- programming-languages
- regex-flags
- regex-patterns
- roman-numerals
- si-derived-units
- si-prefixes
- spdx-licenses
- strftime-tokens
- tailwind-colors
- time-units
- unicode-blocks
- unicode-general-categories
- unicode-planes
- unix-file-permissions
- xterm-256-colors