{"level":"voting-district","id":"54230251","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2016,2021,2026],"elections":[{"year":2016,"name":"Voting district 54230251","basis":"source_total","status":"historical","declaration":null,"total":767,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":661,"share":86.17992177314211},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":81,"share":10.560625814863103},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":19,"share":2.4771838331160363},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":5,"share":0.651890482398957},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":1,"share":0.1303780964797914},{"id":"1129","name":"PAN AFRICAN SOCIALIST MOVEMENT OF AZANIA","votes":0,"share":0},{"id":"29","name":"SINDAWONYE PROGRESSIVE PARTY","votes":0,"share":0},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":0,"share":0},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":0,"share":0},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":661,"share":86.17992177314211},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2016/EEID402Munic5503.js","snapshotId":"2016:municipality:5503:v2:c85c8d189cae2ba157109058ca3f02cc483608cab0ec221e7cd25201ed1fa120","reportedAt":"2017-04-06T09:44:47.544Z","checkedAt":"2026-11-05T13:42:36.904Z","successfulAt":"2026-11-05T13:42:36.904Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":767,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"Voting district 54230251","basis":"source_total","status":"historical","declaration":null,"total":540,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":342,"share":63.33333333333333},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":141,"share":26.111111111111114},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":34,"share":6.296296296296296},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":6,"share":1.1111111111111112},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":5,"share":0.9259259259259258},{"id":"1361","name":"AFRICAN FREEDOM REVOLUTION","votes":4,"share":0.7407407407407408},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":4,"share":0.7407407407407408},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":3,"share":0.5555555555555556},{"id":"1644","name":"UNITED INDEPENDENT MOVEMENT","votes":1,"share":0.1851851851851852},{"id":"1528","name":"AFRICAN PEOPLE'S MOVEMENT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":342,"share":63.33333333333333},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic5503.js","snapshotId":"2021:municipality:5503:v2:60678e6cd2063460773b1dea1261f9bbfb35ad52b6091433d5028a785b85574d","reportedAt":"2022-01-15T15:50:19.566Z","checkedAt":"2026-11-05T13:38:45.800Z","successfulAt":"2026-11-05T13:38:45.800Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":540,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 54230251","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":1037,"parties":[{"id":"1035","name":"MSUKALIGWA PEOPLE FIRST","votes":223,"share":21.504339440694313},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":219,"share":21.11861137897782},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":212,"share":20.443587270973964},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":188,"share":18.129218900675024},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":85,"share":8.19672131147541},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":33,"share":3.182256509161042},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":16,"share":1.5429122468659595},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":15,"share":1.446480231436837},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":12,"share":1.1571841851494697},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":9,"share":0.8678881388621021},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":7,"share":0.6750241080038573},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":7,"share":0.6750241080038573},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":7,"share":0.6750241080038573},{"id":"1724","name":"ASSEGAAI INDEPENDENT MOVEMENT OF SOUTH AFRICA","votes":3,"share":0.28929604628736744},{"id":"1707","name":"UNITED AFRICANS TRANSFORMATION","votes":1,"share":0.09643201542912247},{"id":"1701","name":"GAP FIXERS OF SOUTH AFRICA","votes":0,"share":0}],"seats":null,"leader":{"id":"1035","name":"MSUKALIGWA PEOPLE FIRST","votes":223,"share":21.504339440694313},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic5503.js","snapshotId":"2026:municipality:5503:v3:pack1:64e95107ab4b056263a22bd87301082e3ff55c67fc876a4230bd49effe5dd6e7:d2fa54b9ccc2c77a0357af45ae6c8e0c788da2b22ba402312dc933ebcaa64a23","reportedAt":"2026-11-08T19:26:35.515Z","checkedAt":"2026-11-11T07:18:31.897Z","successfulAt":"2026-11-11T07:18:31.897Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":1037,"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":86.17992177314211,"votes":661,"status":"historical","reason":null},{"year":2021,"share":63.33333333333333,"votes":342,"status":"historical","reason":null},{"year":2026,"share":21.11861137897782,"votes":219,"status":"declared","reason":null}],"peak":86.17992177314211},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","short":"EFF","color":"#b64038","points":[{"year":2016,"share":10.560625814863103,"votes":81,"status":"historical","reason":null},{"year":2021,"share":26.111111111111114,"votes":141,"status":"historical","reason":null},{"year":2026,"share":3.182256509161042,"votes":33,"status":"declared","reason":null}],"peak":26.111111111111114},{"id":"1035","name":"MSUKALIGWA PEOPLE FIRST","short":"MSUKALIGWA PEOPLE FIRST","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":21.504339440694313,"votes":223,"status":"declared","reason":null}],"peak":21.504339440694313},{"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":20.443587270973964,"votes":212,"status":"declared","reason":null}],"peak":20.443587270973964},{"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":18.129218900675024,"votes":188,"status":"declared","reason":null}],"peak":18.129218900675024},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2016,"share":2.4771838331160363,"votes":19,"status":"historical","reason":null},{"year":2021,"share":6.296296296296296,"votes":34,"status":"historical","reason":null},{"year":2026,"share":8.19672131147541,"votes":85,"status":"declared","reason":null}],"peak":8.19672131147541},{"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.5429122468659595,"votes":16,"status":"declared","reason":null}],"peak":1.5429122468659595},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":null},{"year":2021,"share":0.5555555555555556,"votes":3,"status":"historical","reason":null},{"year":2026,"share":1.446480231436837,"votes":15,"status":"declared","reason":null}],"peak":1.446480231436837},{"id":"3","name":"INKATHA FREEDOM PARTY","short":"IFP","color":"#b44b69","points":[{"year":2016,"share":0.1303780964797914,"votes":1,"status":"historical","reason":null},{"year":2021,"share":0.9259259259259258,"votes":5,"status":"historical","reason":null},{"year":2026,"share":1.1571841851494697,"votes":12,"status":"declared","reason":null}],"peak":1.1571841851494697},{"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.1111111111111112,"votes":6,"status":"historical","reason":null},{"year":2026,"share":0.6750241080038573,"votes":7,"status":"declared","reason":null}],"peak":1.1111111111111112},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","short":"ACDP","color":"#824c62","points":[{"year":2016,"share":0.651890482398957,"votes":5,"status":"historical","reason":null},{"year":2021,"share":0.7407407407407408,"votes":4,"status":"historical","reason":null},{"year":2026,"share":0.8678881388621021,"votes":9,"status":"declared","reason":null}],"peak":0.8678881388621021},{"id":"1361","name":"AFRICAN FREEDOM REVOLUTION","short":"AFRICAN FREEDOM REVOLUTION","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":0.7407407407407408,"votes":4,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0.7407407407407408},{"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.6750241080038573,"votes":7,"status":"declared","reason":null}],"peak":0.6750241080038573},{"id":"957","name":"PATRIOTIC ALLIANCE","short":"PA","color":"#287b57","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.6750241080038573,"votes":7,"status":"declared","reason":null}],"peak":0.6750241080038573},{"id":"1724","name":"ASSEGAAI INDEPENDENT MOVEMENT OF SOUTH AFRICA","short":"ASSEGAAI INDEPENDENT MOVEMENT OF 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.28929604628736744,"votes":3,"status":"declared","reason":null}],"peak":0.28929604628736744},{"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.1851851851851852,"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.1851851851851852},{"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.09643201542912247,"votes":1,"status":"declared","reason":null}],"peak":0.09643201542912247},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","short":"APC","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},{"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,"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":"499","name":"CONGRESS OF THE PEOPLE","short":"COPE","color":"#ae7936","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},{"id":"1701","name":"GAP FIXERS OF SOUTH AFRICA","short":"GAP FIXERS OF 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":"1129","name":"PAN AFRICAN SOCIALIST MOVEMENT OF AZANIA","short":"PAN AFRICAN SOCIALIST MOVEMENT OF AZANIA","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},{"id":"29","name":"SINDAWONYE PROGRESSIVE PARTY","short":"SINDAWONYE PROGRESSIVE 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","945","1035","1748","1863"],"previous":{"year":2021,"name":"Voting district 54230251","basis":"source_total","status":"historical","declaration":null,"total":540,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":342,"share":63.33333333333333},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":141,"share":26.111111111111114},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":34,"share":6.296296296296296},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":6,"share":1.1111111111111112},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":5,"share":0.9259259259259258},{"id":"1361","name":"AFRICAN FREEDOM REVOLUTION","votes":4,"share":0.7407407407407408},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":4,"share":0.7407407407407408},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":3,"share":0.5555555555555556},{"id":"1644","name":"UNITED INDEPENDENT MOVEMENT","votes":1,"share":0.1851851851851852},{"id":"1528","name":"AFRICAN PEOPLE'S MOVEMENT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":342,"share":63.33333333333333},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic5503.js","snapshotId":"2021:municipality:5503:v2:60678e6cd2063460773b1dea1261f9bbfb35ad52b6091433d5028a785b85574d","reportedAt":"2022-01-15T15:50:19.566Z","checkedAt":"2026-11-05T13:38:45.800Z","successfulAt":"2026-11-05T13:38:45.800Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":540,"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 54230251","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":1037,"parties":[{"id":"1035","name":"MSUKALIGWA PEOPLE FIRST","votes":223,"share":21.504339440694313},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":219,"share":21.11861137897782},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":212,"share":20.443587270973964},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":188,"share":18.129218900675024},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":85,"share":8.19672131147541},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":33,"share":3.182256509161042},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":16,"share":1.5429122468659595},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":15,"share":1.446480231436837},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":12,"share":1.1571841851494697},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":9,"share":0.8678881388621021},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":7,"share":0.6750241080038573},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":7,"share":0.6750241080038573},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":7,"share":0.6750241080038573},{"id":"1724","name":"ASSEGAAI INDEPENDENT MOVEMENT OF SOUTH AFRICA","votes":3,"share":0.28929604628736744},{"id":"1707","name":"UNITED AFRICANS TRANSFORMATION","votes":1,"share":0.09643201542912247},{"id":"1701","name":"GAP FIXERS OF SOUTH AFRICA","votes":0,"share":0}],"seats":null,"leader":{"id":"1035","name":"MSUKALIGWA PEOPLE FIRST","votes":223,"share":21.504339440694313},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic5503.js","snapshotId":"2026:municipality:5503:v3:pack1:64e95107ab4b056263a22bd87301082e3ff55c67fc876a4230bd49effe5dd6e7:d2fa54b9ccc2c77a0357af45ae6c8e0c788da2b22ba402312dc933ebcaa64a23","reportedAt":"2026-11-08T19:26:35.515Z","checkedAt":"2026-11-11T07:18:31.897Z","successfulAt":"2026-11-11T07:18:31.897Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":1037,"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."]}