{"level":"voting-district","id":"21960019","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2000,2006,2011,2016,2021,2026],"elections":[{"year":2000,"name":"Voting district 21960019","basis":"source_total","status":"historical","declaration":null,"total":2791,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":2749,"share":98.49516302400573},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":33,"share":1.1823719097097813},{"id":"54","name":"ALLIANCE 2000+","votes":9,"share":0.32246506628448585}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":2749,"share":98.49516302400573},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2000/EEID2Munic2202.js","snapshotId":"2000:municipality:2202:v2:030da5979937184aeb30de915e1c9ff4b5fa6d1b6a0db9c3d8940db397227a6c","reportedAt":"2021-10-25T12:55:50.331Z","checkedAt":"2026-11-05T13:57:46.092Z","successfulAt":"2026-11-05T13:57:46.092Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":2791,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2006,"name":"Voting district 21960019","basis":"source_total","status":"historical","declaration":null,"total":1900,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1250,"share":65.78947368421053},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":54,"share":2.8421052631578947},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":35,"share":1.8421052631578945},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":31,"share":1.631578947368421},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":19,"share":1}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1250,"share":65.78947368421053},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2006/EEID95Munic2202.js","snapshotId":"2006:municipality:2202:v2:3aaaada637b0bad95b47e77d6c1df98945475447cc37c6698d231004e5da8776","reportedAt":"2016-07-29T07:33:19.250Z","checkedAt":"2026-11-05T13:52:25.594Z","successfulAt":"2026-11-05T13:52:25.594Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":1900,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2011,"name":"Voting district 21960019","basis":"source_total","status":"historical","declaration":null,"total":2550,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":2498,"share":97.9607843137255},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":35,"share":1.3725490196078431},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":9,"share":0.35294117647058826},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":6,"share":0.2352941176470588},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":2,"share":0.0784313725490196}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":2498,"share":97.9607843137255},"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":2550,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2016,"name":"Voting district 21960019","basis":"source_total","status":"historical","declaration":null,"total":2407,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1808,"share":75.11425010386374},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":416,"share":17.28292480265891},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":155,"share":6.439551308683007},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":23,"share":0.9555463232239303},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":3,"share":0.12463647694225177},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":2,"share":0.08309098462816784}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1808,"share":75.11425010386374},"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":2407,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"Voting district 21960019","basis":"source_total","status":"historical","declaration":null,"total":1765,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1375,"share":77.90368271954674},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":284,"share":16.090651558073652},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":88,"share":4.985835694050992},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":9,"share":0.509915014164306},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":5,"share":0.28328611898017},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":4,"share":0.22662889518413595}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1375,"share":77.90368271954674},"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":1765,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 21960019","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":2140,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1688,"share":78.8785046728972},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":207,"share":9.672897196261681},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":160,"share":7.476635514018691},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":50,"share":2.336448598130841},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":15,"share":0.7009345794392523},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":9,"share":0.4205607476635514},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":6,"share":0.2803738317757009},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":5,"share":0.23364485981308408},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1688,"share":78.8785046728972},"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-11T06:45:21.195Z","successfulAt":"2026-11-11T06:45:21.195Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":2140,"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":2000,"share":98.49516302400573,"votes":2749,"status":"historical","reason":null},{"year":2006,"share":65.78947368421053,"votes":1250,"status":"historical","reason":null},{"year":2011,"share":97.9607843137255,"votes":2498,"status":"historical","reason":null},{"year":2016,"share":75.11425010386374,"votes":1808,"status":"historical","reason":null},{"year":2021,"share":77.90368271954674,"votes":1375,"status":"historical","reason":null},{"year":2026,"share":78.8785046728972,"votes":1688,"status":"declared","reason":null}],"peak":98.49516302400573},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","short":"EFF","color":"#b64038","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2011,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2016,"share":17.28292480265891,"votes":416,"status":"historical","reason":null},{"year":2021,"share":16.090651558073652,"votes":284,"status":"historical","reason":null},{"year":2026,"share":9.672897196261681,"votes":207,"status":"declared","reason":null}],"peak":17.28292480265891},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2000,"share":1.1823719097097813,"votes":33,"status":"historical","reason":null},{"year":2006,"share":1,"votes":19,"status":"historical","reason":null},{"year":2011,"share":1.3725490196078431,"votes":35,"status":"historical","reason":null},{"year":2016,"share":6.439551308683007,"votes":155,"status":"historical","reason":null},{"year":2021,"share":4.985835694050992,"votes":88,"status":"historical","reason":null},{"year":2026,"share":7.476635514018691,"votes":160,"status":"declared","reason":null}],"peak":7.476635514018691},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","short":"PAC","color":"#40846a","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":2.8421052631578947,"votes":54,"status":"historical","reason":null},{"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,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":2.8421052631578947},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":1.631578947368421,"votes":31,"status":"historical","reason":null},{"year":2011,"share":0.0784313725490196,"votes":2,"status":"historical","reason":null},{"year":2016,"share":0.08309098462816784,"votes":2,"status":"historical","reason":null},{"year":2021,"share":0.28328611898017,"votes":5,"status":"historical","reason":null},{"year":2026,"share":2.336448598130841,"votes":50,"status":"declared","reason":null}],"peak":2.336448598130841},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","short":"ACDP","color":"#824c62","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":1.8421052631578945,"votes":35,"status":"historical","reason":null},{"year":2011,"share":0.2352941176470588,"votes":6,"status":"historical","reason":null},{"year":2016,"share":0.12463647694225177,"votes":3,"status":"historical","reason":null},{"year":2021,"share":0.509915014164306,"votes":9,"status":"historical","reason":null},{"year":2026,"share":0.23364485981308408,"votes":5,"status":"declared","reason":null}],"peak":1.8421052631578945},{"id":"499","name":"CONGRESS OF THE PEOPLE","short":"COPE","color":"#ae7936","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2011,"share":0.35294117647058826,"votes":9,"status":"historical","reason":null},{"year":2016,"share":0.9555463232239303,"votes":23,"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.9555463232239303},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","short":"SACP","color":"#b64038","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"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.7009345794392523,"votes":15,"status":"declared","reason":null}],"peak":0.7009345794392523},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","short":"AFRIKA MAYIBUYE MOVEMENT","color":"#627875","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"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.4205607476635514,"votes":9,"status":"declared","reason":null}],"peak":0.4205607476635514},{"id":"54","name":"ALLIANCE 2000+","short":"ALLIANCE 2000+","color":"#627875","points":[{"year":2000,"share":0.32246506628448585,"votes":9,"status":"historical","reason":null},{"year":2006,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"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,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0.32246506628448585},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","short":"ATM","color":"#627875","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"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.22662889518413595,"votes":4,"status":"historical","reason":null},{"year":2026,"share":0.2803738317757009,"votes":6,"status":"declared","reason":null}],"peak":0.2803738317757009},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","short":"MKP","color":"#54632c","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"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,"votes":0,"status":"declared","reason":null}],"peak":0}],"defaultPartyIds":["7","945","52","8","4"],"previous":{"year":2021,"name":"Voting district 21960019","basis":"source_total","status":"historical","declaration":null,"total":1765,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1375,"share":77.90368271954674},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":284,"share":16.090651558073652},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":88,"share":4.985835694050992},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":9,"share":0.509915014164306},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":5,"share":0.28328611898017},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":4,"share":0.22662889518413595}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1375,"share":77.90368271954674},"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":1765,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},"reportedElections":6,"latest":{"year":2026,"name":"Voting district 21960019","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":2140,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1688,"share":78.8785046728972},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":207,"share":9.672897196261681},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":160,"share":7.476635514018691},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":50,"share":2.336448598130841},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":15,"share":0.7009345794392523},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":9,"share":0.4205607476635514},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":6,"share":0.2803738317757009},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":5,"share":0.23364485981308408},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":1688,"share":78.8785046728972},"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-11T06:45:21.195Z","successfulAt":"2026-11-11T06:45:21.195Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":2140,"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."]}