{"level":"voting-district","id":"21900024","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2021,2026],"elections":[{"year":2021,"name":"Voting district 21900024","basis":"source_total","status":"historical","declaration":null,"total":444,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":313,"share":70.4954954954955},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":79,"share":17.792792792792792},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":34,"share":7.657657657657657},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":16,"share":3.6036036036036037},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":2,"share":0.45045045045045046}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":313,"share":70.4954954954955},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2203.js","snapshotId":"2021:municipality:2203:v2:baf1963b1314625615fcb3afa51209b675b5f04f230b5abfa722465c30095ccd","reportedAt":"2022-01-15T15:50:23.316Z","checkedAt":"2026-11-05T13:38:08.734Z","successfulAt":"2026-11-05T13:38:08.734Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":444,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 21900024","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":763,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":364,"share":47.706422018348626},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":289,"share":37.876802096985585},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":41,"share":5.373525557011796},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":40,"share":5.242463958060288},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":24,"share":3.1454783748361725},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":3,"share":0.39318479685452157},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":2,"share":0.2621231979030144},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":0,"share":0},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","votes":0,"share":0},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":0,"share":0},{"id":"568","name":"UNITED RESIDENTS FRONT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":364,"share":47.706422018348626},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic2203.js","snapshotId":"2026:municipality:2203:v2:pack1:f92533dcb723232d3fcc08a01d9bcfe34a0838e7e8d834f2c6a89a2152ba5424:f8154b87a168781aa4c80d07bbccdbc07efbe245ad0bf99173191615f2926e3a","reportedAt":"2026-11-05T17:31:42.965Z","checkedAt":"2026-11-11T07:39:54.163Z","successfulAt":"2026-11-11T07:39:54.163Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":763,"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":2021,"share":70.4954954954955,"votes":313,"status":"historical","reason":null},{"year":2026,"share":47.706422018348626,"votes":364,"status":"declared","reason":null}],"peak":70.4954954954955},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2021,"share":17.792792792792792,"votes":79,"status":"historical","reason":null},{"year":2026,"share":37.876802096985585,"votes":289,"status":"declared","reason":null}],"peak":37.876802096985585},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","short":"EFF","color":"#b64038","points":[{"year":2021,"share":7.657657657657657,"votes":34,"status":"historical","reason":null},{"year":2026,"share":3.1454783748361725,"votes":24,"status":"declared","reason":null}],"peak":7.657657657657657},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","short":"SACP","color":"#b64038","points":[{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":5.373525557011796,"votes":41,"status":"declared","reason":null}],"peak":5.373525557011796},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2021,"share":3.6036036036036037,"votes":16,"status":"historical","reason":null},{"year":2026,"share":5.242463958060288,"votes":40,"status":"declared","reason":null}],"peak":5.242463958060288},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","short":"ATM","color":"#627875","points":[{"year":2021,"share":0.45045045045045046,"votes":2,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":null}],"peak":0.45045045045045046},{"id":"957","name":"PATRIOTIC ALLIANCE","short":"PA","color":"#287b57","points":[{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0.39318479685452157,"votes":3,"status":"declared","reason":null}],"peak":0.39318479685452157},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","short":"AFRIKA MAYIBUYE MOVEMENT","color":"#627875","points":[{"year":2021,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2026,"share":0.2621231979030144,"votes":2,"status":"declared","reason":null}],"peak":0.2621231979030144},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","short":"AFRICAN CONGRESS FOR TRANSFORMATION","color":"#627875","points":[{"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":"1748","name":"UMKHONTO WESIZWE PARTY","short":"MKP","color":"#54632c","points":[{"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":"568","name":"UNITED RESIDENTS FRONT","short":"UNITED RESIDENTS FRONT","color":"#627875","points":[{"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","945","445","4"],"previous":{"year":2021,"name":"Voting district 21900024","basis":"source_total","status":"historical","declaration":null,"total":444,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":313,"share":70.4954954954955},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":79,"share":17.792792792792792},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":34,"share":7.657657657657657},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":16,"share":3.6036036036036037},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":2,"share":0.45045045045045046}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":313,"share":70.4954954954955},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2203.js","snapshotId":"2021:municipality:2203:v2:baf1963b1314625615fcb3afa51209b675b5f04f230b5abfa722465c30095ccd","reportedAt":"2022-01-15T15:50:23.316Z","checkedAt":"2026-11-05T13:38:08.734Z","successfulAt":"2026-11-05T13:38:08.734Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":444,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},"reportedElections":2,"latest":{"year":2026,"name":"Voting district 21900024","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":763,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":364,"share":47.706422018348626},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":289,"share":37.876802096985585},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":41,"share":5.373525557011796},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":40,"share":5.242463958060288},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":24,"share":3.1454783748361725},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":3,"share":0.39318479685452157},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":2,"share":0.2621231979030144},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":0,"share":0},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","votes":0,"share":0},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":0,"share":0},{"id":"568","name":"UNITED RESIDENTS FRONT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":364,"share":47.706422018348626},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic2203.js","snapshotId":"2026:municipality:2203:v2:pack1:f92533dcb723232d3fcc08a01d9bcfe34a0838e7e8d834f2c6a89a2152ba5424:f8154b87a168781aa4c80d07bbccdbc07efbe245ad0bf99173191615f2926e3a","reportedAt":"2026-11-05T17:31:42.965Z","checkedAt":"2026-11-11T07:39:54.163Z","successfulAt":"2026-11-11T07:39:54.163Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":763,"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."]}