{"level":"voting-district","id":"54660214","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2016,2021,2026],"elections":[{"year":2016,"name":"Voting district 54660214","basis":"source_total","status":"historical","declaration":null,"total":109,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":64,"share":58.71559633027523},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":37,"share":33.94495412844037},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":5,"share":4.587155963302752},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":3,"share":2.7522935779816518},{"id":"613","name":"UBUNTU PARTY","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":64,"share":58.71559633027523},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2016/EEID402Munic5513.js","snapshotId":"2016:municipality:5513:v2:0d7b4bfad3c99bcce1eda4c9f29f68997dfa2f3da39ccf4580955e5c4b3bba94","reportedAt":"2017-04-06T09:45:22.162Z","checkedAt":"2026-11-05T13:42:51.507Z","successfulAt":"2026-11-05T13:42:51.507Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":109,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"Voting district 54660214","basis":"source_total","status":"historical","declaration":null,"total":122,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":62,"share":50.81967213114754},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":37,"share":30.327868852459016},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":13,"share":10.655737704918032},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":10,"share":8.19672131147541},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":62,"share":50.81967213114754},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic5513.js","snapshotId":"2021:municipality:5513:v2:28153cdedc824dbc0c53f02871b712ecacbad0169aedc46aac38f9d43a7b5dc8","reportedAt":"2022-01-15T15:50:25.629Z","checkedAt":"2026-11-05T13:38:50.329Z","successfulAt":"2026-11-05T13:38:50.329Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":122,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 54660214","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":157,"parties":[{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":66,"share":42.038216560509554},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":49,"share":31.210191082802545},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":17,"share":10.828025477707007},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":9,"share":5.7324840764331215},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":3,"share":1.910828025477707},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":2,"share":1.2738853503184715},{"id":"1511","name":"ACTIONSA","votes":1,"share":0.6369426751592357},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":1,"share":0.6369426751592357},{"id":"1004","name":"SIZWE UMMAH NATION","votes":0,"share":0},{"id":"1707","name":"UNITED AFRICANS TRANSFORMATION","votes":0,"share":0},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":0,"share":0},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":0,"share":0}],"seats":null,"leader":{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":66,"share":42.038216560509554},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic5513.js","snapshotId":"2026:municipality:5513:v3:pack1:11868b12ef4b1221e24caec5656efdd472faf3d81a0739b7da06ea63cb0bc4e6:72c780a81103385359f13bca1e87a788e0b4e5e6c67dc1f13687d40f3f39d988","reportedAt":"2026-11-08T19:21:48.453Z","checkedAt":"2026-11-11T08:08:55.151Z","successfulAt":"2026-11-11T08:08:55.151Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":157,"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":58.71559633027523,"votes":64,"status":"historical","reason":null},{"year":2021,"share":50.81967213114754,"votes":62,"status":"historical","reason":null},{"year":2026,"share":31.210191082802545,"votes":49,"status":"declared","reason":null}],"peak":58.71559633027523},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2016,"share":33.94495412844037,"votes":37,"status":"historical","reason":null},{"year":2021,"share":30.327868852459016,"votes":37,"status":"historical","reason":null},{"year":2026,"share":42.038216560509554,"votes":66,"status":"declared","reason":null}],"peak":42.038216560509554},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2016,"share":4.587155963302752,"votes":5,"status":"historical","reason":null},{"year":2021,"share":8.19672131147541,"votes":10,"status":"historical","reason":null},{"year":2026,"share":10.828025477707007,"votes":17,"status":"declared","reason":null}],"peak":10.828025477707007},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","short":"EFF","color":"#b64038","points":[{"year":2016,"share":2.7522935779816518,"votes":3,"status":"historical","reason":null},{"year":2021,"share":10.655737704918032,"votes":13,"status":"historical","reason":null},{"year":2026,"share":5.7324840764331215,"votes":9,"status":"declared","reason":null}],"peak":10.655737704918032},{"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":1.910828025477707,"votes":3,"status":"declared","reason":null}],"peak":1.910828025477707},{"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.2738853503184715,"votes":2,"status":"declared","reason":null}],"peak":1.2738853503184715},{"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":0.6369426751592357,"votes":1,"status":"declared","reason":null}],"peak":0.6369426751592357},{"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.6369426751592357,"votes":1,"status":"declared","reason":null}],"peak":0.6369426751592357},{"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,"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":"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,"votes":0,"status":"declared","reason":null}],"peak":0},{"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,"votes":0,"status":"declared","reason":null}],"peak":0},{"id":"1004","name":"SIZWE UMMAH NATION","short":"SIZWE UMMAH NATION","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},{"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,"votes":0,"status":"declared","reason":null}],"peak":0}],"defaultPartyIds":["7","52","4","945","1748"],"previous":{"year":2021,"name":"Voting district 54660214","basis":"source_total","status":"historical","declaration":null,"total":122,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":62,"share":50.81967213114754},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":37,"share":30.327868852459016},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":13,"share":10.655737704918032},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":10,"share":8.19672131147541},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":62,"share":50.81967213114754},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic5513.js","snapshotId":"2021:municipality:5513:v2:28153cdedc824dbc0c53f02871b712ecacbad0169aedc46aac38f9d43a7b5dc8","reportedAt":"2022-01-15T15:50:25.629Z","checkedAt":"2026-11-05T13:38:50.329Z","successfulAt":"2026-11-05T13:38:50.329Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":122,"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 54660214","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":157,"parties":[{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":66,"share":42.038216560509554},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":49,"share":31.210191082802545},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":17,"share":10.828025477707007},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":9,"share":5.7324840764331215},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":3,"share":1.910828025477707},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":2,"share":1.2738853503184715},{"id":"1511","name":"ACTIONSA","votes":1,"share":0.6369426751592357},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":1,"share":0.6369426751592357},{"id":"1004","name":"SIZWE UMMAH NATION","votes":0,"share":0},{"id":"1707","name":"UNITED AFRICANS TRANSFORMATION","votes":0,"share":0},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":0,"share":0},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":0,"share":0}],"seats":null,"leader":{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":66,"share":42.038216560509554},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic5513.js","snapshotId":"2026:municipality:5513:v3:pack1:11868b12ef4b1221e24caec5656efdd472faf3d81a0739b7da06ea63cb0bc4e6:72c780a81103385359f13bca1e87a788e0b4e5e6c67dc1f13687d40f3f39d988","reportedAt":"2026-11-08T19:21:48.453Z","checkedAt":"2026-11-11T08:08:55.151Z","successfulAt":"2026-11-11T08:08:55.151Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":157,"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."]}