{"level":"voting-district","id":"54310025","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2016,2021,2026],"elections":[{"year":2016,"name":"Voting district 54310025","basis":"source_total","status":"historical","declaration":null,"total":844,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":686,"share":81.27962085308057},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":63,"share":7.464454976303317},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":50,"share":5.924170616113744},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":29,"share":3.4360189573459716},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":9,"share":1.066350710900474},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":7,"share":0.8293838862559242}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":686,"share":81.27962085308057},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2016/EEID402Munic5505.js","snapshotId":"2016:municipality:5505:v2:f87e8dd1cbd177b0ce04165663696e3fe627ea37acfdd06af4e3a097300f8a8f","reportedAt":"2017-04-06T09:44:48.730Z","checkedAt":"2026-11-05T13:42:40.146Z","successfulAt":"2026-11-05T13:42:40.146Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":844,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"Voting district 54310025","basis":"source_total","status":"historical","declaration":null,"total":572,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":367,"share":64.16083916083916},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":116,"share":20.27972027972028},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":36,"share":6.293706293706294},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":21,"share":3.6713286713286712},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":20,"share":3.4965034965034967},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":9,"share":1.5734265734265735},{"id":"1528","name":"AFRICAN PEOPLE'S MOVEMENT","votes":2,"share":0.34965034965034963},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":1,"share":0.17482517482517482},{"id":"1016","name":"FORUM 4 SERVICE DELIVERY","votes":0,"share":0},{"id":"1644","name":"UNITED INDEPENDENT MOVEMENT","votes":0,"share":0},{"id":"591","name":"NATIONAL FREEDOM PARTY","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":367,"share":64.16083916083916},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic5505.js","snapshotId":"2021:municipality:5505:v2:2714f31f194c62e8450bee8569ace0a1b231a9b61d3954760c10050737d680ab","reportedAt":"2022-01-15T15:50:19.691Z","checkedAt":"2026-11-05T13:38:46.792Z","successfulAt":"2026-11-05T13:38:46.792Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":572,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 54310025","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":904,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":394,"share":43.584070796460175},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":314,"share":34.73451327433628},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":72,"share":7.964601769911504},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":56,"share":6.1946902654867255},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":23,"share":2.5442477876106198},{"id":"1511","name":"ACTIONSA","votes":16,"share":1.7699115044247788},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":9,"share":0.995575221238938},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":7,"share":0.7743362831858407},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":6,"share":0.6637168141592921},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":5,"share":0.5530973451327433},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":2,"share":0.22123893805309736},{"id":"1644","name":"UNITED INDEPENDENT MOVEMENT","votes":0,"share":0},{"id":"1790","name":"ECONOMIC LIBERATORS FORUM SOUTH AFRICA","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":394,"share":43.584070796460175},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic5505.js","snapshotId":"2026:municipality:5505:v3:pack1:f92f1d14b0bd275e3810c00df41b9cc1601a3a4cfde47bf66756dbd583a481ae:710e59fb892856a90766b85aa5ac9b9e93b38f88b9d8eed67165bc3062820576","reportedAt":"2026-11-08T19:16:28.999Z","checkedAt":"2026-11-11T06:39:34.215Z","successfulAt":"2026-11-11T06:39:34.215Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":904,"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":81.27962085308057,"votes":686,"status":"historical","reason":null},{"year":2021,"share":64.16083916083916,"votes":367,"status":"historical","reason":null},{"year":2026,"share":43.584070796460175,"votes":394,"status":"declared","reason":null}],"peak":81.27962085308057},{"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":34.73451327433628,"votes":314,"status":"declared","reason":null}],"peak":34.73451327433628},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","short":"EFF","color":"#b64038","points":[{"year":2016,"share":5.924170616113744,"votes":50,"status":"historical","reason":null},{"year":2021,"share":20.27972027972028,"votes":116,"status":"historical","reason":null},{"year":2026,"share":7.964601769911504,"votes":72,"status":"declared","reason":null}],"peak":20.27972027972028},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2016,"share":7.464454976303317,"votes":63,"status":"historical","reason":null},{"year":2021,"share":3.4965034965034967,"votes":20,"status":"historical","reason":null},{"year":2026,"share":6.1946902654867255,"votes":56,"status":"declared","reason":null}],"peak":7.464454976303317},{"id":"3","name":"INKATHA FREEDOM PARTY","short":"IFP","color":"#b44b69","points":[{"year":2016,"share":3.4360189573459716,"votes":29,"status":"historical","reason":null},{"year":2021,"share":6.293706293706294,"votes":36,"status":"historical","reason":null},{"year":2026,"share":0.995575221238938,"votes":9,"status":"declared","reason":null}],"peak":6.293706293706294},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2016,"share":1.066350710900474,"votes":9,"status":"historical","reason":null},{"year":2021,"share":3.6713286713286712,"votes":21,"status":"historical","reason":null},{"year":2026,"share":2.5442477876106198,"votes":23,"status":"declared","reason":null}],"peak":3.6713286713286712},{"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":1.7699115044247788,"votes":16,"status":"declared","reason":null}],"peak":1.7699115044247788},{"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":1.5734265734265735,"votes":9,"status":"historical","reason":null},{"year":2026,"share":0.7743362831858407,"votes":7,"status":"declared","reason":null}],"peak":1.5734265734265735},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","short":"ACDP","color":"#824c62","points":[{"year":2016,"share":0.8293838862559242,"votes":7,"status":"historical","reason":null},{"year":2021,"share":0.17482517482517482,"votes":1,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0.8293838862559242},{"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":0.6637168141592921,"votes":6,"status":"declared","reason":null}],"peak":0.6637168141592921},{"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.5530973451327433,"votes":5,"status":"declared","reason":null}],"peak":0.5530973451327433},{"id":"1528","name":"AFRICAN PEOPLE'S MOVEMENT","short":"APEMO","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0.34965034965034963,"votes":2,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0.34965034965034963},{"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":0.22123893805309736,"votes":2,"status":"declared","reason":null}],"peak":0.22123893805309736},{"id":"1790","name":"ECONOMIC LIBERATORS FORUM SOUTH AFRICA","short":"ECONOMIC LIBERATORS FORUM SOUTH AFRICA","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":"1016","name":"FORUM 4 SERVICE DELIVERY","short":"F4SD","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":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0},{"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":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0},{"id":"1644","name":"UNITED INDEPENDENT MOVEMENT","short":"UIM","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":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":null}],"peak":0}],"defaultPartyIds":["7","1748","945","52","3"],"previous":{"year":2021,"name":"Voting district 54310025","basis":"source_total","status":"historical","declaration":null,"total":572,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":367,"share":64.16083916083916},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":116,"share":20.27972027972028},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":36,"share":6.293706293706294},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":21,"share":3.6713286713286712},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":20,"share":3.4965034965034967},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":9,"share":1.5734265734265735},{"id":"1528","name":"AFRICAN PEOPLE'S MOVEMENT","votes":2,"share":0.34965034965034963},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":1,"share":0.17482517482517482},{"id":"1016","name":"FORUM 4 SERVICE DELIVERY","votes":0,"share":0},{"id":"1644","name":"UNITED INDEPENDENT MOVEMENT","votes":0,"share":0},{"id":"591","name":"NATIONAL FREEDOM PARTY","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":367,"share":64.16083916083916},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic5505.js","snapshotId":"2021:municipality:5505:v2:2714f31f194c62e8450bee8569ace0a1b231a9b61d3954760c10050737d680ab","reportedAt":"2022-01-15T15:50:19.691Z","checkedAt":"2026-11-05T13:38:46.792Z","successfulAt":"2026-11-05T13:38:46.792Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":572,"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 54310025","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":904,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":394,"share":43.584070796460175},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":314,"share":34.73451327433628},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":72,"share":7.964601769911504},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":56,"share":6.1946902654867255},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":23,"share":2.5442477876106198},{"id":"1511","name":"ACTIONSA","votes":16,"share":1.7699115044247788},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":9,"share":0.995575221238938},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":7,"share":0.7743362831858407},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":6,"share":0.6637168141592921},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":5,"share":0.5530973451327433},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":2,"share":0.22123893805309736},{"id":"1644","name":"UNITED INDEPENDENT MOVEMENT","votes":0,"share":0},{"id":"1790","name":"ECONOMIC LIBERATORS FORUM SOUTH AFRICA","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":394,"share":43.584070796460175},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic5505.js","snapshotId":"2026:municipality:5505:v3:pack1:f92f1d14b0bd275e3810c00df41b9cc1601a3a4cfde47bf66756dbd583a481ae:710e59fb892856a90766b85aa5ac9b9e93b38f88b9d8eed67165bc3062820576","reportedAt":"2026-11-08T19:16:28.999Z","checkedAt":"2026-11-11T06:39:34.215Z","successfulAt":"2026-11-11T06:39:34.215Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":904,"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."]}