Part of a Data Solution
- Explore →
Postal Codes Solution
Every worldwide postal-code dataset in one bundle — the ultimate global reference for precise postal codes.
Premium
You're viewing a free sample
Get the complete dataset — all rows and files — delivered instantly after checkout, with lifetime access to the latest version.
- Secure checkout via Stripe
- Instant download after payment
- Lifetime access to the latest version
- Creative Commons Attribution 4.0 International license
API Access
Access dataset files directly from scripts, code, or AI agents.
Browse dataset files
API Access
Access dataset files directly from scripts, code, or AI agents.
Each file has a stable URL (r-link) that you can use directly in scripts, apps, or AI agents. These URLs are permanent and safe to hardcode.
Start with these files — they give you everything you need to understand and access the dataset.
- 1. Fetch datapackage.yaml to inspect schema and resources
- 2. Download data resources listed in datapackage.yaml
- 3. Read README.md for full context
Data Files
postal-codes-za-sample
| Field | Type | Description | Constraints | Title |
|---|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 -- always ZA | Country Code | |
| postal_code | string | South African postal code (4 digits) | { "pattern": "^\\d{4}$" } | Postal Code |
| place_name | string | Locality/place name as GeoNames' postal export records it | Place Name | |
| admin_name1 | string | Province -- 9/9 covered, resolved via a coordinate-based join against GeoNames' own gazetteer (not an official admin register), see ATTRIBUTION.txt | Administrative Name 1 | |
| admin_code1 | string | ISO 3166-2:ZA code | Administrative Code 1 | |
| admin_name2 | string | District/metro municipality -- 52/52 covered, same coordinate-based join | Administrative Name 2 | |
| admin_code2 | string | GeoNames' own admin2 code (not an independently verified official code) | Administrative Code 2 | |
| admin_name3 | string | Not populated -- no sellable source reaches this tier | Administrative Name 3 | |
| admin_code3 | string | Not populated | Administrative Code 3 | |
| latitude | number | GeoNames postal-export latitude (WGS84) | Latitude | |
| longitude | number | GeoNames postal-export longitude (WGS84) | Longitude | |
| accuracy | string | AREA throughout -- coarse city/town-level point, shared across all codes in that place | Accuracy | |
| alternative_city_name | string | Not populated in this release | Alternative City Name |
Download
Download sample CSVAbout
- Last updated
- 6 October 2026
- Total rows
- 100
- Format
- CSV
- File size
- 10.4 kB
About this dataset
Postal Codes Dataset for South Africa (ZA)
This dataset lists South African postal codes with place names, the provinces, the district and metro municipalities, and WGS84 coordinates. It is built from GeoNames' postal export, enriched with province and municipality data joined in from GeoNames' own general gazetteer.
Column definitions, row count, size and last-updated date are in datapackage.yaml.
Data Sources
- Postal codes, place names and coordinates: © GeoNames, postal code export for South Africa, CC BY 4.0.
- Province and district/metro-municipality names and codes: the GeoNames gazetteer for South Africa and the GeoNames admin2 codes table, same publisher and licence.
Changes made to the source data: province and district/metro municipality assigned by matching each postal row's place name against the GeoNames gazetteer (nearest populated place by coordinates when no name matches, or when the name match is far away); admin_code1 set to the ISO 3166-2:ZA code through a crosswalk from GeoNames' own numbering; coordinates rounded to 5 decimal places; accuracy set to AREA.
Not endorsed by, or affiliated with, GeoNames.
Known limitations
- The postal export itself carries no admin fields. Admin assignment is a coordinate-based join against a gazetteer, not an official South African administrative register: high confidence but not authoritative in the way a government register would be. Disclosed, not presented as official.
admin_code2values are GeoNames' own internal admin2 identifiers (for example "DC32", "ETH"), not an independently verified official municipal code registry.admin_name3,admin_code3andalternative_city_nameare empty.
Usage
The dataset files are available in CSV format and can be accessed and downloaded using
the links provided in datapackage.yaml. Read postal_code as text, never as a number:
South African codes can start with zero (0008).
For other inquiries, contact datahub@datopian.com