{"level":"voting-district","id":"21960042","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2011,2016,2021,2026],"elections":[{"year":2011,"name":"Voting district 21960042","basis":"source_total","status":"historical","declaration":null,"total":570,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":546,"share":95.78947368421052},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":17,"share":2.982456140350877},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":5,"share":0.8771929824561403},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":2,"share":0.3508771929824561},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":546,"share":95.78947368421052},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2011/EEID197Munic2202.js","snapshotId":"2011:municipality:2202:v2:2727175832e701b328f881d42be4cbd8f5b89dacd3c83076b3b89719064b7b5e","reportedAt":"2021-10-25T13:02:58.472Z","checkedAt":"2026-11-05T13:46:27.572Z","successfulAt":"2026-11-05T13:46:27.572Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":570,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2016,"name":"Voting district 21960042","basis":"source_total","status":"historical","declaration":null,"total":797,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":602,"share":75.53324968632371},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":102,"share":12.797992471769135},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":48,"share":6.022584692597239},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":35,"share":4.391468005018821},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":7,"share":0.8782936010037641},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":3,"share":0.37641154328732745}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":602,"share":75.53324968632371},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2016/EEID402Munic2202.js","snapshotId":"2016:municipality:2202:v2:bbf75260f99ac82717e4ea98dcbdb5542a946fa74b7834b54903920128dca9d4","reportedAt":"2017-04-06T09:44:49.463Z","checkedAt":"2026-11-05T13:40:38.708Z","successfulAt":"2026-11-05T13:40:38.708Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":797,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"Voting district 21960042","basis":"source_total","status":"historical","declaration":null,"total":684,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":424,"share":61.98830409356725},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":176,"share":25.730994152046783},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":62,"share":9.064327485380117},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":12,"share":1.7543859649122806},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":7,"share":1.023391812865497},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":3,"share":0.43859649122807015}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":424,"share":61.98830409356725},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2202.js","snapshotId":"2021:municipality:2202:v2:62dc40afac0efc42f1143b0f5f6fe8eb6dede6c92f80083a6475f1304a21ff10","reportedAt":"2022-01-15T15:50:15.769Z","checkedAt":"2026-11-05T13:38:08.228Z","successfulAt":"2026-11-05T13:38:08.228Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":684,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 21960042","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":1044,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":756,"share":72.41379310344827},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":117,"share":11.206896551724139},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":114,"share":10.919540229885058},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":25,"share":2.3946360153256707},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":9,"share":0.8620689655172413},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":5,"share":0.4789272030651341},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":5,"share":0.4789272030651341},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":3,"share":0.28735632183908044},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":2,"share":0.19157088122605362}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":756,"share":72.41379310344827},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic2202.js","snapshotId":"2026:municipality:2202:v2:pack1:51940fc10edead7ba957af2e610a75cf6d994d9e6fb5dbe177d803c63b47e908:fe519c71fdca86ffc06d78eedb72d10f016894f6c553a2be76bfdcf674c64209","reportedAt":"2026-11-05T17:31:29.354Z","checkedAt":"2026-11-11T07:07:47.506Z","successfulAt":"2026-11-11T07:07:47.506Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":1044,"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":2011,"share":95.78947368421052,"votes":546,"status":"historical","reason":null},{"year":2016,"share":75.53324968632371,"votes":602,"status":"historical","reason":null},{"year":2021,"share":61.98830409356725,"votes":424,"status":"historical","reason":null},{"year":2026,"share":72.41379310344827,"votes":756,"status":"declared","reason":null}],"peak":95.78947368421052},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","short":"EFF","color":"#b64038","points":[{"year":2011,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2016,"share":12.797992471769135,"votes":102,"status":"historical","reason":null},{"year":2021,"share":25.730994152046783,"votes":176,"status":"historical","reason":null},{"year":2026,"share":10.919540229885058,"votes":114,"status":"declared","reason":null}],"peak":25.730994152046783},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2011,"share":2.982456140350877,"votes":17,"status":"historical","reason":null},{"year":2016,"share":6.022584692597239,"votes":48,"status":"historical","reason":null},{"year":2021,"share":9.064327485380117,"votes":62,"status":"historical","reason":null},{"year":2026,"share":11.206896551724139,"votes":117,"status":"declared","reason":null}],"peak":11.206896551724139},{"id":"499","name":"CONGRESS OF THE PEOPLE","short":"COPE","color":"#ae7936","points":[{"year":2011,"share":0.3508771929824561,"votes":2,"status":"historical","reason":null},{"year":2016,"share":4.391468005018821,"votes":35,"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":4.391468005018821},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2011,"share":0,"votes":0,"status":"historical","reason":null},{"year":2016,"share":0.8782936010037641,"votes":7,"status":"historical","reason":null},{"year":2021,"share":1.023391812865497,"votes":7,"status":"historical","reason":null},{"year":2026,"share":2.3946360153256707,"votes":25,"status":"declared","reason":null}],"peak":2.3946360153256707},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","short":"ATM","color":"#627875","points":[{"year":2011,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":1.7543859649122806,"votes":12,"status":"historical","reason":null},{"year":2026,"share":0.4789272030651341,"votes":5,"status":"declared","reason":null}],"peak":1.7543859649122806},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","short":"ACDP","color":"#824c62","points":[{"year":2011,"share":0.8771929824561403,"votes":5,"status":"historical","reason":null},{"year":2016,"share":0.37641154328732745,"votes":3,"status":"historical","reason":null},{"year":2021,"share":0.43859649122807015,"votes":3,"status":"historical","reason":null},{"year":2026,"share":0.28735632183908044,"votes":3,"status":"declared","reason":null}],"peak":0.8771929824561403},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","short":"SACP","color":"#b64038","points":[{"year":2011,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"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.8620689655172413,"votes":9,"status":"declared","reason":null}],"peak":0.8620689655172413},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","short":"MKP","color":"#54632c","points":[{"year":2011,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"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.4789272030651341,"votes":5,"status":"declared","reason":null}],"peak":0.4789272030651341},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","short":"AFRIKA MAYIBUYE MOVEMENT","color":"#627875","points":[{"year":2011,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"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.19157088122605362,"votes":2,"status":"declared","reason":null}],"peak":0.19157088122605362}],"defaultPartyIds":["7","945","52","499","4"],"previous":{"year":2021,"name":"Voting district 21960042","basis":"source_total","status":"historical","declaration":null,"total":684,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":424,"share":61.98830409356725},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":176,"share":25.730994152046783},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":62,"share":9.064327485380117},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":12,"share":1.7543859649122806},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":7,"share":1.023391812865497},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":3,"share":0.43859649122807015}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":424,"share":61.98830409356725},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2202.js","snapshotId":"2021:municipality:2202:v2:62dc40afac0efc42f1143b0f5f6fe8eb6dede6c92f80083a6475f1304a21ff10","reportedAt":"2022-01-15T15:50:15.769Z","checkedAt":"2026-11-05T13:38:08.228Z","successfulAt":"2026-11-05T13:38:08.228Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":684,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},"reportedElections":4,"latest":{"year":2026,"name":"Voting district 21960042","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":1044,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":756,"share":72.41379310344827},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":117,"share":11.206896551724139},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":114,"share":10.919540229885058},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":25,"share":2.3946360153256707},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":9,"share":0.8620689655172413},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":5,"share":0.4789272030651341},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":5,"share":0.4789272030651341},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":3,"share":0.28735632183908044},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":2,"share":0.19157088122605362}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":756,"share":72.41379310344827},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic2202.js","snapshotId":"2026:municipality:2202:v2:pack1:51940fc10edead7ba957af2e610a75cf6d994d9e6fb5dbe177d803c63b47e908:fe519c71fdca86ffc06d78eedb72d10f016894f6c553a2be76bfdcf674c64209","reportedAt":"2026-11-05T17:31:29.354Z","checkedAt":"2026-11-11T07:07:47.506Z","successfulAt":"2026-11-11T07:07:47.506Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":1044,"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."]}