Logo Lanfrica

open-admin-data/south-africa-administrative-divisions

Domaine:

geospatial

Type de record:

dataset
Créateur:
ope
Hôte:
Open dataset of South Africa's administrative divisions — 9 provinces, 52 districts, 213 municipalities, 4392 wards with coordinates. CC-BY-4.0 # South Africa Administrative Divisions / South Africa ## Overview | Item | Details | |------|---------| | Province | 9 | | District | 52 | | Municipality | 213 | | Ward | 4,392 | | Coordinates | ✅ Included (all levels) | | Formats | JSON, NDJSON, CSV | | License | CC-BY-4.0 | | Last Updated | 2026-06-01 | | Website | openadmindata.org | | API | openadmindata.org | ## Browse by Province | # | Province | Districts | Municipalitys | Wards | Link | |---|----|----|----|----|------| | 1 | EC (Eastern Cape) | 8 | 33 | 705 | Browse | | 2 | FS (Free State) | 5 | 19 | 309 | Browse | | 3 | GT (Gauteng) | 5 | 9 | 529 | Browse | | 4 | KZN (KwaZulu-Natal) | 11 | 44 | 870 | Browse | | 5 | LIM (Limpopo) | 5 | 22 | 566 | Browse | | 6 | MP (Mpumalanga) | 3 | 17 | 400 | Browse | | 7 | NW (North West) | 4 | 18 | 407 | Browse | | 8 | NC (Nothern Cape) | 5 | 26 | 204 | Browse | | 9 | WC (Western Cape) | 6 | 25 | 402 | Browse | ## Data Files | File | Format | Description | |------|--------|-------------| | all-province.json | JSON | All 9 province records | | all-district.json | JSON | All 52 district records | | all-municipality.json | JSON | All 213 municipality records | | all-ward.json | JSON | All 4,392 ward records | | all-flat.json | JSON | Levels 1-3 flat array | | all-flat.ndjson | NDJSON | Streaming format | | all-flat.csv | CSV | Spreadsheet format | | hierarchy.json | JSON | Nested tree | | schema.json | JSON Schema | Data schema | ## Quick Start ### Python ```python import json with open("data/all-province.json", "r", encoding="utf-8") as f: data = json.load(f) for r in data: print(f"{r['name']['local']} ({r['name']['en']}) — {r['children_count']['district']} districts") ``` ### JavaScript ```javascript import { readFileSync } from "fs"; const data = JSON.parse(readFileSync("data/all-province.json", "utf-8")); console.log(`Total: ${data.length} provinces`); ``` ## Schema | Field | Type | Description | |-------|------|-------------| | `id` | string …