staticdata.dev
Menu
Datasets About Contact

Currencies

ISO 4217 active currency codes with their numeric codes, symbols, decimal precision (which determines minor unit handling for amounts), and the alpha-2 country codes of every territory that uses each currency. Useful for currency pickers, formatting amounts, and validating user input.

v1.0.0 MIT 159 records Updated 2026-10-05 stable Source:  ISO 4217, ISO 4217 List One (SIX, maintenance agency)

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
curl https://staticdata.dev/v1/currencies.json

Or use as a typed import: import { currencies } from "https://staticdata.dev/v1/currencies.ts"

Formats

  • JSON 24.9 KB

    /v1/currencies.json

    Open

    min: 15.9 KB · /v1/currencies.min.json

  • CSV 5.0 KB

    /v1/currencies.csv

    Open
  • TypeScript 25.1 KB

    /v1/currencies.ts

    export const currencies

    type Currency = (typeof currencies)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
Field Type Description Example
code string ISO 4217 alphabetic code EUR
name string English currency name Euro
numeric string ISO 4217 numeric code (zero-padded) 978
symbol string Currency symbol €
decimals number Number of decimal places defining the minor unit 2
countries string[] ISO 3166-1 alpha-2 codes of countries using the currency ["AT","DE","FR"]

Preview

First 10 records.

Data preview
codenamenumericsymboldecimals
AEDUAE Dirham784د.إ2
AFNAfghani971؋2
ALLLek008L2
AMDArmenian Dram051֏2
ANGNetherlands Antillean Guilder532ƒ2
AOAKwanza973Kz2
ARSArgentine Peso032$2
AUDAustralian Dollar036$2
AWGAruban Florin533ƒ2
AZNAzerbaijan Manat944₼2

Showing 10 of 159. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

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

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

with urllib.request.urlopen("https://staticdata.dev/v1/currencies.min.json") as r:
    currencies = json.load(r)

print(currencies[0])
Go
package main

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

func main() {
	resp, err := http.Get("https://staticdata.dev/v1/currencies.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/currencies.min.json").call()?.into_string()?;
    let data: Vec<Value> = serde_json::from_str(&body)?;
    println!("{:?}", data.first());
    Ok(())
}

Sources and methodology

The list tracks the ISO 4217 List One as of October 2026 (published 2026-09-17), including recent additions such as SLE (Sierra Leone, 2022), VED (Venezuela, 2021), XCG (Curaçao and Sint Maarten, 2025) and ZWG (Zimbabwe, 2024). Fund codes (BOV, CLF, COU, MXV, USN, UYI, UYW, CHE, CHW, XAD), precious metals (XAU, XAG, XPT, XPD), the SDR and other supranational units (XDR, XSU, XUA, XBA–XBD) and the XTS/XXX codes are excluded; the multi-country X-prefixed currencies XAF, XOF, XCD and XPF are included.

Four codes withdrawn recently — ANG (replaced by XCG in 2025), BGN (Bulgaria adopted the euro on 1 January 2026), SLL (replaced by SLE) and ZWL (replaced by ZWG) — are kept for backwards compatibility with an empty countries array. Do not offer them for new transactions.

The decimals field is critical for displaying amounts. Currencies with 0 decimals (JPY, KRW, ISK, several CFA-zone currencies) should not be formatted with cents. Currencies with 3 decimals (BHD, JOD, KWD, OMR, TND, IQD, LYD) require three-digit minor units. Most are 2 decimals.

Symbols are the most common form in the issuing country’s primary script. There is no canonical authoritative source for currency symbols; we follow CLDR where it exists and Unicode otherwise.

The countries array lists every country or territory that ISO 4217 lists as using the currency (Palestine is additionally listed under ILS, its de facto currency). The Euro list is the longest. Some currencies (USD, EUR, XAF, XOF, XCD, XPF, NZD) are used by multiple countries.

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 currencies changelog for this dataset's history.

Related datasets

More Geo datasets