Coverage and limits
What the electoral record holds
Counted from the published record when this page is opened. Each election and ballot says at what detail its results are held and from which official files; what is captured but not yet loaded, and what is missing, is a dated register entry naming what was searched and the source that would fill it. Nothing missing is shown as zero, and nothing is estimated.
- Elections
- 12
- By-election days
- 191
- Recorded
- 20
- Partial
- 9
- Missing
- 8
Elections and ballots
Latest first. Status: recorded from approved official loads; partial where the source leaves a field unstated.
| Election | Ballot | Status | Records | Granularity | Limits |
|---|---|---|---|---|---|
| 2024 National and Provincial Elections | national | ballots 1 · results 214 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2024 National and Provincial Elections | provincial | ballots 9 · results 213 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2024 National and Provincial Elections | regional | ballots 9 · results 213 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2021 Local Government Elections | district pr | ballots 44 · results 18 205 · seat allocations in election 1 490 | as published (voting district or area) | Votes cast are the sum of valid and spoilt votes (the files give the parts). Contestants are listed in the files' order (alphabetical), not ballot-paper order. Seats are not in these files and are not shown. | |
| 2021 Local Government Elections | local pr | ballots 213 · results 23 147 · seat allocations in election 1 490 | as published (voting district or area) | Votes cast are the sum of valid and spoilt votes (the files give the parts). Contestants are listed in the files' order (alphabetical), not ballot-paper order. Seats are not in these files and are not shown. | |
| 2021 Local Government Elections | ward | ballots 4 468 · results 23 147 · seat allocations in election 1 490 | as published (voting district or area) | Ward candidates are not named (party-level results file). Votes cast are the sum of valid and spoilt votes (the files give the parts). Contestants are listed in the files' order (alphabetical), not ballot-paper order. Seats are not in these files and are not shown. | |
| 2019 National and Provincial Elections | national | ballots 1 · results 214 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2019 National and Provincial Elections | provincial | ballots 9 · results 213 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2016 Local Government Elections | local pr | ballots 213 · results 213 | voting districts summed per municipal area (source: voting-district level) | Not loaded in this milestone: ward ballots (each ward of this delimitation would need its own place record), the district council (DC 40%) ballots (the file does not name the district a municipality belongs to), and district-management-area ballots. Their voting-district rows are in the official file (SHA-256 recorded). | |
| 2016 Local Government Elections | ward | ballots 4 392 · results 4 392 | voting districts summed per ward (source: voting-district level) | Ward candidates are not named (party-level results file). Not loaded in this milestone: ward ballots (each ward of this delimitation would need its own place record), the district council (DC 40%) ballots (the file does not name the district a municipality belongs to), and district-management-area ballots. Their voting-district rows are in the official file (SHA-256 recorded). These are the 2016 wards. Ward codes were reissued at each delimitation, so a 2016 ward is not the 2021 ward with the same number and is not drawn on today's map. | |
| 2014 National and Provincial Elections | national | ballots 1 · results 235 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2014 National and Provincial Elections | provincial | ballots 9 · results 234 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2011 Local Government Elections | local pr | ballots 234 · results 234 | voting districts summed per municipal area (source: voting-district level) | Not loaded in this milestone: ward ballots (each ward of this delimitation would need its own place record), the district council (DC 40%) ballots (the file does not name the district a municipality belongs to), and district-management-area ballots. Their voting-district rows are in the official file (SHA-256 recorded). | |
| 2011 Local Government Elections | ward | ballots 4 277 · results 4 277 | voting districts summed per ward (source: voting-district level) | Ward candidates are not named (party-level results file). Not loaded in this milestone: ward ballots (each ward of this delimitation would need its own place record), the district council (DC 40%) ballots (the file does not name the district a municipality belongs to), and district-management-area ballots. Their voting-district rows are in the official file (SHA-256 recorded). These are the 2011 wards. Ward codes were reissued at each delimitation, so a 2011 ward is not the 2021 ward with the same number and is not drawn on today's map. | |
| 2009 National and Provincial Elections | national | ballots 1 · results 266 | voting districts summed per municipal area (source: voting-district level) | Registered voters are not stated for some or all results. | |
| 2009 National and Provincial Elections | provincial | ballots 9 · results 257 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2006 Local Government Elections | local pr | ballots 237 · results 237 | voting districts summed per municipal area (source: voting-district level) | Not loaded in this milestone: ward ballots (each ward of this delimitation would need its own place record), the district council (DC 40%) ballots (the file does not name the district a municipality belongs to), and district-management-area ballots. Their voting-district rows are in the official file (SHA-256 recorded). | |
| 2006 Local Government Elections | ward | ballots 3 895 · results 3 895 | voting districts summed per ward (source: voting-district level) | Ward candidates are not named (party-level results file). Not loaded in this milestone: ward ballots (each ward of this delimitation would need its own place record), the district council (DC 40%) ballots (the file does not name the district a municipality belongs to), and district-management-area ballots. Their voting-district rows are in the official file (SHA-256 recorded). These are the 2006 wards. Ward codes were reissued at each delimitation, so a 2006 ward is not the 2021 ward with the same number and is not drawn on today's map. | |
| 2004 National and Provincial Elections | national | ballots 1 · results 279 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2004 National and Provincial Elections | provincial | ballots 9 · results 270 | voting districts summed per municipal area (source: voting-district level) | — | |
| 2000 Local Government Elections | local pr | ballots 237 · results 237 | voting districts summed per municipal area (source: voting-district level) | Not loaded in this milestone: ward ballots (each ward of this delimitation would need its own place record), the district council (DC 40%) ballots (the file does not name the district a municipality belongs to), and district-management-area ballots. Their voting-district rows are in the official file (SHA-256 recorded). | |
| 2000 Local Government Elections | ward | ballots 3 754 · results 3 754 | voting districts summed per ward (source: voting-district level) | Ward candidates are not named (party-level results file). Not loaded in this milestone: ward ballots (each ward of this delimitation would need its own place record), the district council (DC 40%) ballots (the file does not name the district a municipality belongs to), and district-management-area ballots. Their voting-district rows are in the official file (SHA-256 recorded). These are the 2000 wards. Ward codes were reissued at each delimitation, so a 2000 ward is not the 2021 ward with the same number and is not drawn on today's map. | |
| 1999 National and Provincial Elections | national | ballots 1 · results 805 | voting districts summed per municipal area (source: voting-district level) | — | |
| 1999 National and Provincial Elections | provincial | ballots 9 · results 805 | voting districts summed per municipal area (source: voting-district level) | — | |
| 1994 National and Provincial Elections | national | ballots 1 · results 10 · seat allocations in election 46 | as published (voting district or area) | Votes cast and spoilt are not stated by the source for some or all results. Registered voters are not stated for some or all results. | |
| 1994 National and Provincial Elections | provincial | ballots 9 · results 9 · seat allocations in election 46 | as published (voting district or area) | Votes cast and spoilt are not stated by the source for some or all results. Registered voters are not stated for some or all results. |
Boundary versions and comparability
Each election sits on the municipal delimitation in force on its polling day. Areas of different delimitations are never treated as the same area.
Boundaries by election
| Election | Delimitation | Boundaries held |
|---|---|---|
| 2024 National and Provincial Elections | 2021 wards and municipalities | |
| 2021 Local Government Elections | 2021 wards and municipalities | |
| 2019 National and Provincial Elections | 2016 wards and municipalities | |
| 2016 Local Government Elections | 2016 wards and municipalities | |
| 2014 National and Provincial Elections | 2011 wards and municipalities | |
| 2011 Local Government Elections | 2011 wards and municipalities | |
| 2009 National and Provincial Elections | 2006 wards and municipalities | |
| 2006 Local Government Elections | 2006 wards and municipalities | |
| 2004 National and Provincial Elections | 2000 wards and municipalities | |
| 2000 Local Government Elections | 2000 wards and municipalities | |
| 1999 National and Provincial Elections | Pre-2000 structures (no delimitation on record) | |
| 1994 National and Provincial Elections | Pre-2000 structures (no delimitation on record) |
What may be compared
2024 National and Provincial Elections
2021 Local Government Elections
2019 National and Provincial Elections
2016 Local Government Elections
2014 National and Provincial Elections
2011 Local Government Elections
2009 National and Provincial Elections
2006 Local Government Elections
2004 National and Provincial Elections
2000 Local Government Elections
1999 National and Provincial Elections
1994 National and Provincial Elections
By-elections, candidates, seats, boundaries and what is not on the record
Each entry is counted from the record or is a dated register entry saying what was searched and what would close it. Nothing here is estimated or filled in.
First 2022-02-02, last 2026-06-24. Vacancy reasons are not published with the results.
First 2016-11-09, last 2021-05-19. Vacancy reasons are not published with the results.
Scheduled (proclaimed 7 August 2026); not held. No results exist; nothing is recorded or estimated.
District council (DC 40%) and district-management-area ballots of 2000–2016 are in the captured voting-district files, validated (valid-vote totals of 2016 and 2011 equal the IEC's national summaries) but not loaded: the record has no district places of those vintages to hold them.
Municipal by-elections held between the 2000, 2006, 2011 and 2016 local elections (December 2000 – August 2016) are not in the record.
Named ward and PR candidates of the general local elections are not in the record: the IEC results files give ward votes by party only.
Party lists of the 1994–2019 national and provincial elections are not in the record (2024 lists are).
Seat allocations are recorded for 1994 (National Assembly and legislatures) and the 2021 councils only.
Ward and municipal boundaries are held for the 2021 delimitation only. Earlier elections' areas are listed by name and code (as the IEC lists them) and never drawn on the 2021 map.
No official crosswalk between wards of different delimitations is on the record, so a ward is never compared with a ward of another delimitation.
Mayors, executive mayors, speakers, whips, mayoral committees and PR councillors are not in the record.
Rosters of the Gauteng, KwaZulu-Natal, Limpopo and Northern Cape legislatures are not captured (SOURCES §5.3); no roster is historical (each is as at its retrieval date).
Changes of party by an office-holder are not recorded unless a dated official roster states the new party.
Not measured by design, so never shown as a figure: voter demographics (results are counted by voting district, never by voter), predictions and projections, media mentions and sentiment, and a candidate's personal vote inferred from a party-list result.
Acquisition register
Official sources that would fill the gaps, in priority order. A proposed source is unverified until a capture (URL, date, SHA-256) is recorded.
| Item | Gap | Authoritative source | Status | Next safe step |
|---|---|---|---|---|
| A0 | District council (DC 40%) and district-management-area ballots, 2000–2016 local elections | Already captured: the IEC voting-district files of 2000, 2006, 2011 and 2016 (SOURCES §4.1, §10.1) | Capture the MDB district/local municipality lists for each delimitation (B2), validate them against the files' municipality codes, then load as district_pr ballots with the historical adapter. Assigning locals to districts by today's map would invent history. | |
| A1 | Council seat allocations 2000–2016 | IEC "Seat Calculation Detail" reports (LGEPublicReports/<event>/Seat Calculation Detail) | Probe the portal for each event id; capture with URL, date and SHA-256; extend the 2021 seat-report reader. | |
| A2 | National Assembly and legislature seats 1999–2019 | IEC "Seat Calculation" reports (NPEPublicReports/<event>/Seat Calculation) | Capture per election; reuse the 2024 report reader; reconcile seat totals with the Constitution's 400 and each legislature's size. | |
| A3 | National and provincial candidate lists 1994–2019 | IEC final candidate lists per election | Capture per election; reuse the 2024 list reader; identity resolution through the editorial review queue, never by name alone. | |
| B1 | Ward boundaries of the 2016 and 2011 delimitations | Municipal Demarcation Board (producer and custodian) | Capture each delimitation's ward layer; load as its own boundary set, valid for its term only. | |
| B2 | Municipal and district lists per delimitation (2000, 2006, 2011, 2016) | MDB and gazetted section 12 notices | Capture; validate codes and names against the IEC files; load district places per vintage (unblocks A0). | |
| B3 | Official ward overlap or lineage between delimitations | MDB delimitation records — no official crosswalk identified | Record one-to-one, one-to-many and many-to-one relations only where a source states them; geometric overlap only once both delimitations' boundaries are loaded, labelled as computed. | |
| B4 | Named ward and PR candidates of the general local elections 2000–2021 | IEC candidate lists per municipality | Capture per election; candidates are never inferred from results files. | |
| C1 | By-elections before November 2016 | IEC by-election archive (annual reports, or a request to the IEC) | Searched: the dashboard lists the 2016 and 2021 terms only; event ids 53–452 return 404 (probe of 2026-10-09). | |
| C2 | Mayors, speakers, whips, mayoral committees, PR councillors | Each municipality's council resolutions; provincial gazettes | Per-municipality sources with their own terms; the IEC publishes ward councillors only. | |
| C3 | Rosters of the Gauteng, KwaZulu-Natal, Limpopo and Northern Cape legislatures | The legislatures' official member lists | SOURCES §5.3 records why each capture failed (no roster page; TLS chain; template error). | |
| C4 | Party affiliation changes of office-holders | Dated official rosters over time; floor-crossing records (2003, 2005, 2007) | A change is recorded only where a dated official roster states the new party. | |
| B5 | 2024 national and provincial results by ward | IEC: the 2024 voting-district-to-ward table, or the 2024 voting-district boundaries (the captured 2024 results files carry no ward column) | Measured 2026-10-17: of 23 292 voting districts in the 2024 national file, 22 977 share a number with a 2021 voting district on the record, 315 are new and 170 of 2021 are absent. A shared number does not prove an unchanged area, so nothing is summed to wards until the IEC's own 2024 ward assignment (or its 2024 voting-district areas against the 2021 wards) is captured. | |
| B6 | Voting-station coordinates (2021 and 2026) | IEC: an official station location file (the results files and the published 2026 lists carry no coordinates) | Request the station coordinates from the IEC with their terms of use; never geocode a free-text address or a station name. Until then stations are found through their voting district and ward (VOTING_STATION_LOCATIONS_AUDIT). |