Skip to content

open-admin-data/botswana-administrative-divisions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Botswana Administrative Divisions / Botswana

Overview

Item Details
District 17
Sub-district 28
Locality 519
Coordinates ✅ Included (all levels)
Formats JSON, NDJSON, CSV
License CC-BY-4.0
Last Updated 2026-05-29
Website openadmindata.org/bw
API openadmindata.org/api/bw

Browse by District

# District Sub-districts Localitys Link
1 CENTRAL 5 159 Browse
2 CHOBE 1 11 Browse
3 FRANCISTOWN 1 1 Browse
4 GABORONE 1 1 Browse
5 GHANZI 2 28 Browse
6 JWANENG 1 1 Browse
7 KGALAGADI 2 36 Browse
8 KGATLENG 1 22 Browse
9 KWENENG 2 59 Browse
10 LOBATSE 1 1 Browse
11 NORTH EAST 1 45 Browse
12 NORTH WEST 3 52 Browse
13 ORAPA 1 1 Browse
14 SELIBE PHIKWE 1 1 Browse
15 SOUTH EAST 1 8 Browse
16 SOUTHERN 3 92 Browse
17 SOWA TOWN 1 1 Browse

Data Files

File Format Description
all-district.json JSON All 17 district records
all-sub_district.json JSON All 28 sub-district records
all-locality.json JSON All 519 locality records
all-flat.json JSON Levels 1-2 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

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']['sub_district']} sub-districts")

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=sub-district, 3=locality
level_name object Level label (local + English)
name.local string Name in local script
name.en string English name
name.slug string URL-safe slug
parent object/null Parent division reference
ancestors array Full ancestor chain
children_count object Count of children per level
zip_codes array Postal codes (where available)
geo.lat string Latitude (WGS84)
geo.lon string Longitude (WGS84)

Full schema: data/schema.json

Hierarchy Browse

divisions/{district-slug}/
divisions/{district-slug}/{sub_district-slug}/

Localitys are listed inline in each sub-district's README.

AI Integration

Citation

Botswana Administrative Divisions Dataset (CC-BY-4.0)
URL: https://github.com/open-admin-data/botswana-administrative-divisions

See CITATION.cff for machine-readable citation.

License

Related

  • Open Admin Data — Browse, search and explore administrative divisions for every country
  • open-admin-data — GitHub organization with all country repos
  • ListBase — Structured reference data for every country

About

Open dataset of Botswana's administrative divisions — 17 districts, 28 sub-districts, 519 localities with coordinates. CC-BY-4.0

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors