{"level":"voting-district","id":"54160107","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2016,2021,2026],"elections":[{"year":2016,"name":"Voting district 54160107","basis":"source_total","status":"historical","declaration":null,"total":681,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":525,"share":77.09251101321586},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":89,"share":13.069016152716593},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":54,"share":7.929515418502203},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":5,"share":0.7342143906020557},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":4,"share":0.5873715124816447},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":3,"share":0.4405286343612335},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":1,"share":0.14684287812041116},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":0,"share":0},{"id":"613","name":"UBUNTU PARTY","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":525,"share":77.09251101321586},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2016/EEID402Munic5502.js","snapshotId":"2016:municipality:5502:v2:a1bf2313da80c4ce585b1cdc31014f1fd42c1f816043844745e8d262bc1565ad","reportedAt":"2017-04-06T09:44:46.686Z","checkedAt":"2026-11-05T13:42:35.547Z","successfulAt":"2026-11-05T13:42:35.547Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":681,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"Voting district 54160107","basis":"source_total","status":"historical","declaration":null,"total":636,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":444,"share":69.81132075471697},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":159,"share":25},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":18,"share":2.8301886792452833},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":6,"share":0.9433962264150944},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":5,"share":0.7861635220125787},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":3,"share":0.4716981132075472},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":1,"share":0.15723270440251574}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":444,"share":69.81132075471697},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic5502.js","snapshotId":"2021:municipality:5502:v2:ffa7bc32b7617a08fe9625d3fcd67e6ad57f1cb3f4cf1296d3adf84eb8d57bb0","reportedAt":"2022-01-15T15:50:15.550Z","checkedAt":"2026-11-05T13:38:45.303Z","successfulAt":"2026-11-05T13:38:45.303Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":636,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 54160107","basis":"source_total","status":"declared","declaration":{"date":"2026-11-08","date_label":"8 November 2026","scope":"national_election","source_url":"https://iol.co.za/lge2026/live-or-the-people-have-spoken-ramaphosa-urges-everyone-to-work-together/","source_title":"IEC declaration ceremony — IOL live coverage, 8 November 2026","note":"Feed coverage and seat allocations are separate from the national declaration: missing figures remain missing and estimates remain estimates. Corrections and re-votes may follow."},"total":1394,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":526,"share":37.73314203730273},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":423,"share":30.34433285509326},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":207,"share":14.8493543758967},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":78,"share":5.5954088952654235},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":48,"share":3.443328550932568},{"id":"1511","name":"ACTIONSA","votes":31,"share":2.223816355810617},{"id":"330","name":"AFRICAN INDEPENDENT CONGRESS","votes":20,"share":1.4347202295552368},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":19,"share":1.362984218077475},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":17,"share":1.2195121951219512},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":7,"share":0.5021520803443328},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":5,"share":0.3586800573888092},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":4,"share":0.2869440459110474},{"id":"1707","name":"UNITED AFRICANS TRANSFORMATION","votes":3,"share":0.2152080344332855},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":3,"share":0.2152080344332855},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":2,"share":0.1434720229555237},{"id":"1749","name":"ALL CITIZENS PARTY","votes":1,"share":0.07173601147776185},{"id":"591","name":"NATIONAL FREEDOM PARTY","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":526,"share":37.73314203730273},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic5502.js","snapshotId":"2026:municipality:5502:v2:pack1:6d1a9fdd3f03a61ad4a0c53a201c73cd5347d146a89bdde6c39d4a9992adc558:79e78a519bfe919ff4b65c29a8202ba3e0af77d1a9f7a49f7973f4f8fd58959f","reportedAt":"2026-11-05T21:01:27.005Z","checkedAt":"2026-11-11T06:09:09.269Z","successfulAt":"2026-11-11T06:09:09.269Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":1394,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null}],"series":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","short":"ANC","color":"#b29022","points":[{"year":2016,"share":77.09251101321586,"votes":525,"status":"historical","reason":null},{"year":2021,"share":69.81132075471697,"votes":444,"status":"historical","reason":null},{"year":2026,"share":37.73314203730273,"votes":526,"status":"declared","reason":null}],"peak":77.09251101321586},{"id":"1863","name":"SERVICE DELIVERY PARTY","short":"SERVICE DELIVERY PARTY","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":30.34433285509326,"votes":423,"status":"declared","reason":null}],"peak":30.34433285509326},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","short":"EFF","color":"#b64038","points":[{"year":2016,"share":13.069016152716593,"votes":89,"status":"historical","reason":null},{"year":2021,"share":25,"votes":159,"status":"historical","reason":null},{"year":2026,"share":5.5954088952654235,"votes":78,"status":"declared","reason":null}],"peak":25},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","short":"MKP","color":"#54632c","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":14.8493543758967,"votes":207,"status":"declared","reason":null}],"peak":14.8493543758967},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2016,"share":7.929515418502203,"votes":54,"status":"historical","reason":null},{"year":2021,"share":2.8301886792452833,"votes":18,"status":"historical","reason":null},{"year":2026,"share":3.443328550932568,"votes":48,"status":"declared","reason":null}],"peak":7.929515418502203},{"id":"1511","name":"ACTIONSA","short":"ActionSA","color":"#658247","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":2.223816355810617,"votes":31,"status":"declared","reason":null}],"peak":2.223816355810617},{"id":"330","name":"AFRICAN INDEPENDENT CONGRESS","short":"AIC","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":1.4347202295552368,"votes":20,"status":"declared","reason":null}],"peak":1.4347202295552368},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","short":"ATM","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0.4716981132075472,"votes":3,"status":"historical","reason":null},{"year":2026,"share":1.362984218077475,"votes":19,"status":"declared","reason":null}],"peak":1.362984218077475},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","short":"SACP","color":"#b64038","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":1.2195121951219512,"votes":17,"status":"declared","reason":null}],"peak":1.2195121951219512},{"id":"3","name":"INKATHA FREEDOM PARTY","short":"IFP","color":"#b44b69","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":null},{"year":2021,"share":0.9433962264150944,"votes":6,"status":"historical","reason":null},{"year":2026,"share":0.5021520803443328,"votes":7,"status":"declared","reason":null}],"peak":0.9433962264150944},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","short":"APC","color":"#627875","points":[{"year":2016,"share":0.4405286343612335,"votes":3,"status":"historical","reason":null},{"year":2021,"share":0.7861635220125787,"votes":5,"status":"historical","reason":null},{"year":2026,"share":0.2869440459110474,"votes":4,"status":"declared","reason":null}],"peak":0.7861635220125787},{"id":"499","name":"CONGRESS OF THE PEOPLE","short":"COPE","color":"#ae7936","points":[{"year":2016,"share":0.7342143906020557,"votes":5,"status":"historical","reason":null},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0.7342143906020557},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","short":"ACDP","color":"#824c62","points":[{"year":2016,"share":0.5873715124816447,"votes":4,"status":"historical","reason":null},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0.5873715124816447},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2016,"share":0.14684287812041116,"votes":1,"status":"historical","reason":null},{"year":2021,"share":0.15723270440251574,"votes":1,"status":"historical","reason":null},{"year":2026,"share":0.3586800573888092,"votes":5,"status":"declared","reason":null}],"peak":0.3586800573888092},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","short":"AFRIKA MAYIBUYE MOVEMENT","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0.2152080344332855,"votes":3,"status":"declared","reason":null}],"peak":0.2152080344332855},{"id":"1707","name":"UNITED AFRICANS TRANSFORMATION","short":"UNITED AFRICANS TRANSFORMATION","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0.2152080344332855,"votes":3,"status":"declared","reason":null}],"peak":0.2152080344332855},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","short":"PAC","color":"#40846a","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0.1434720229555237,"votes":2,"status":"declared","reason":null}],"peak":0.1434720229555237},{"id":"1749","name":"ALL CITIZENS PARTY","short":"ALL CITIZENS PARTY","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0.07173601147776185,"votes":1,"status":"declared","reason":null}],"peak":0.07173601147776185},{"id":"591","name":"NATIONAL FREEDOM PARTY","short":"NFP","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0,"votes":0,"status":"declared","reason":null}],"peak":0},{"id":"613","name":"UBUNTU PARTY","short":"UBUNTU PARTY","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":null},{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0}],"defaultPartyIds":["7","1863","945","1748","52"],"previous":{"year":2021,"name":"Voting district 54160107","basis":"source_total","status":"historical","declaration":null,"total":636,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":444,"share":69.81132075471697},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":159,"share":25},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":18,"share":2.8301886792452833},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":6,"share":0.9433962264150944},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":5,"share":0.7861635220125787},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":3,"share":0.4716981132075472},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":1,"share":0.15723270440251574}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":444,"share":69.81132075471697},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic5502.js","snapshotId":"2021:municipality:5502:v2:ffa7bc32b7617a08fe9625d3fcd67e6ad57f1cb3f4cf1296d3adf84eb8d57bb0","reportedAt":"2022-01-15T15:50:15.550Z","checkedAt":"2026-11-05T13:38:45.303Z","successfulAt":"2026-11-05T13:38:45.303Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":636,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},"reportedElections":3,"latest":{"year":2026,"name":"Voting district 54160107","basis":"source_total","status":"declared","declaration":{"date":"2026-11-08","date_label":"8 November 2026","scope":"national_election","source_url":"https://iol.co.za/lge2026/live-or-the-people-have-spoken-ramaphosa-urges-everyone-to-work-together/","source_title":"IEC declaration ceremony — IOL live coverage, 8 November 2026","note":"Feed coverage and seat allocations are separate from the national declaration: missing figures remain missing and estimates remain estimates. Corrections and re-votes may follow."},"total":1394,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":526,"share":37.73314203730273},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":423,"share":30.34433285509326},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":207,"share":14.8493543758967},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":78,"share":5.5954088952654235},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":48,"share":3.443328550932568},{"id":"1511","name":"ACTIONSA","votes":31,"share":2.223816355810617},{"id":"330","name":"AFRICAN INDEPENDENT CONGRESS","votes":20,"share":1.4347202295552368},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":19,"share":1.362984218077475},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":17,"share":1.2195121951219512},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":7,"share":0.5021520803443328},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":5,"share":0.3586800573888092},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":4,"share":0.2869440459110474},{"id":"1707","name":"UNITED AFRICANS TRANSFORMATION","votes":3,"share":0.2152080344332855},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":3,"share":0.2152080344332855},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":2,"share":0.1434720229555237},{"id":"1749","name":"ALL CITIZENS PARTY","votes":1,"share":0.07173601147776185},{"id":"591","name":"NATIONAL FREEDOM PARTY","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":526,"share":37.73314203730273},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic5502.js","snapshotId":"2026:municipality:5502:v2:pack1:6d1a9fdd3f03a61ad4a0c53a201c73cd5347d146a89bdde6c39d4a9992adc558:79e78a519bfe919ff4b65c29a8202ba3e0af77d1a9f7a49f7973f4f8fd58959f","reportedAt":"2026-11-05T21:01:27.005Z","checkedAt":"2026-11-11T06:09:09.269Z","successfulAt":"2026-11-11T06:09:09.269Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":1394,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},"warning":null,"caveats":["All points use the same ballot basis. Ballot totals are not counts of individual voters.","Feed coverage and seat allocations are separate from the national declaration: missing figures remain missing and estimates remain estimates. Corrections and re-votes may follow.","Missing or grouped party rows remain gaps unless a complete, ungrouped list establishes zero votes.","Municipal boundaries can change between elections. Published area results are not boundary-adjusted."]}