Open dataset of Lesotho's administrative divisions — 10 districts, 78 constituencies with coordinates. CC-BY-4.0
# Lesotho Administrative Divisions / Lesotho
## Overview
| Item | Details |
|------|---------|
| District | 10 |
| Constituency | 78 |
| Coordinates | ✅ Included (all levels) |
| Formats | JSON, NDJSON, CSV |
| License | CC-BY-4.0 |
| Last Updated | 2026-08-20 |
| Website |
openadmindata.org |
| API |
openadmindata.org |
| Flag | PNG · SVG · PDF |
| National Anthem | 🎵 Listen & Download Lesotho National Anthem MP3 |
## Browse by District
| # | District | Constituencys | Link |
|---|----|----|------|
| 1 | Quthing | 6 | Browse |
| 2 | Mohale's Hoek | 8 | Browse |
| 3 | Qacha's Nek | 4 | Browse |
| 4 | Mafeteng | 8 | Browse |
| 5 | Maseru | 12 | Browse |
| 6 | Thaba-Tseka | 6 | Browse |
| 7 | Mokhotlong | 5 | Browse |
| 8 | Berea | 10 | Browse |
| 9 | Leribe | 14 | Browse |
| 10 | Butha-Buthe | 5 | Browse |
## Data Files
| File | Format | Description |
|------|--------|-------------|
| all-district.json | JSON | All 10 district records |
| all-constituency.json | JSON | All 78 constituency records |
| all-flat.json | JSON | Levels 1-1 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-district.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']['constituency']} constituencys")
```
### JavaScript
```javascript
import { readFileSync } from "fs";
const data = JSON.parse(readFileSync("data/all-district.json", "utf-8"));
console.log(`Total: ${data.length} districts`);
```
## Schema
| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Unique identifier |
| `level` | integer | 1=district, 2=constituency |
| `level_name` | object | Level label (local + English) |
| `name.local` | string | Name in local script |
| `name.en` …