{"level":"voting-district","id":"22430371","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2016,2021,2026],"elections":[{"year":2016,"name":"Voting district 22430371","basis":"source_total","status":"historical","declaration":null,"total":99,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":80,"share":80.8080808080808},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":12,"share":12.121212121212121},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":6,"share":6.0606060606060606},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":1,"share":1.0101010101010102},{"id":"568","name":"UNITED RESIDENTS FRONT","votes":0,"share":0},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":80,"share":80.8080808080808},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2016/EEID402Munic2218.js","snapshotId":"2016:municipality:2218:v2:3ca68b0fb83d8473c3e1784495fd5c8fb3568c6366e17641c0aae186d3967f97","reportedAt":"2017-04-06T09:45:55.765Z","checkedAt":"2026-11-05T13:40:55.246Z","successfulAt":"2026-11-05T13:40:55.246Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":99,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"Voting district 22430371","basis":"source_total","status":"historical","declaration":null,"total":87,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":55,"share":63.2183908045977},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":15,"share":17.24137931034483},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":5,"share":5.747126436781609},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":5,"share":5.747126436781609},{"id":"1027","name":"ALL UNEMPLOYMENT LABOUR ALLIANCE","votes":2,"share":2.2988505747126435},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":2,"share":2.2988505747126435},{"id":"1016","name":"FORUM 4 SERVICE DELIVERY","votes":0,"share":0},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":0,"share":0},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":0,"share":0},{"id":"946","name":"AGENCY FOR NEW AGENDA","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":55,"share":63.2183908045977},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2218.js","snapshotId":"2021:municipality:2218:v2:c13abb8092f48b94142abfa7296ce2102a67189a3cbb27b86406ba23e5f76a1f","reportedAt":"2022-01-15T15:50:38.270Z","checkedAt":"2026-11-05T13:38:14.249Z","successfulAt":"2026-11-05T13:38:14.249Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":87,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 22430371","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":34,"parties":[{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":13,"share":38.23529411764706},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":11,"share":32.35294117647059},{"id":"1370","name":"AFRICAN CONTENT MOVEMENT","votes":4,"share":11.76470588235294},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":4,"share":11.76470588235294},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":2,"share":5.88235294117647},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","votes":0,"share":0},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":0,"share":0},{"id":"1775","name":"AFRICAN MOVEMENT CONGRESS","votes":0,"share":0},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":0,"share":0},{"id":"2077","name":"BATHO MOVEMENT","votes":0,"share":0},{"id":"3217","name":"NKETOANE COMMUNITY MOVEMENT","votes":0,"share":0},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":0,"share":0},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":0,"share":0},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":0,"share":0},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":0,"share":0},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":0,"share":0}],"seats":null,"leader":{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":13,"share":38.23529411764706},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic2218.js","snapshotId":"2026:municipality:2218:v3:pack1:8ee59290e3a868ed4557c60e5654ed17b2d3dfadf35fefdcd2e10a0efe87aa48:ddbfab17642475ed2b3ef70e5cd828f1ade678dbe984a72c40bb1cb9d334bf79","reportedAt":"2026-11-08T19:16:48.397Z","checkedAt":"2026-11-11T07:15:30.185Z","successfulAt":"2026-11-11T07:15:30.185Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":34,"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":80.8080808080808,"votes":80,"status":"historical","reason":null},{"year":2021,"share":63.2183908045977,"votes":55,"status":"historical","reason":null},{"year":2026,"share":11.76470588235294,"votes":4,"status":"declared","reason":null}],"peak":80.8080808080808},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2016,"share":6.0606060606060606,"votes":6,"status":"historical","reason":null},{"year":2021,"share":17.24137931034483,"votes":15,"status":"historical","reason":null},{"year":2026,"share":38.23529411764706,"votes":13,"status":"declared","reason":null}],"peak":38.23529411764706},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2016,"share":12.121212121212121,"votes":12,"status":"historical","reason":null},{"year":2021,"share":5.747126436781609,"votes":5,"status":"historical","reason":null},{"year":2026,"share":32.35294117647059,"votes":11,"status":"declared","reason":null}],"peak":32.35294117647059},{"id":"1370","name":"AFRICAN CONTENT MOVEMENT","short":"ACM","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":11.76470588235294,"votes":4,"status":"declared","reason":null}],"peak":11.76470588235294},{"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":2.2988505747126435,"votes":2,"status":"historical","reason":null},{"year":2026,"share":5.88235294117647,"votes":2,"status":"declared","reason":null}],"peak":5.88235294117647},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","short":"EFF","color":"#b64038","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":null},{"year":2021,"share":5.747126436781609,"votes":5,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":null}],"peak":5.747126436781609},{"id":"1027","name":"ALL UNEMPLOYMENT LABOUR ALLIANCE","short":"AULA","color":"#627875","points":[{"year":2016,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2021,"share":2.2988505747126435,"votes":2,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":2.2988505747126435},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","short":"APC","color":"#627875","points":[{"year":2016,"share":1.0101010101010102,"votes":1,"status":"historical","reason":null},{"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":1.0101010101010102},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","short":"AFRICAN CONGRESS FOR 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},{"id":"1775","name":"AFRICAN MOVEMENT CONGRESS","short":"AFRICAN MOVEMENT CONGRESS","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":"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":"946","name":"AGENCY FOR NEW AGENDA","short":"AGENCY FOR NEW AGENDA","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":"2077","name":"BATHO MOVEMENT","short":"BATHO 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":"499","name":"CONGRESS OF THE PEOPLE","short":"COPE","color":"#ae7936","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":"1016","name":"FORUM 4 SERVICE DELIVERY","short":"F4SD","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":"3217","name":"NKETOANE COMMUNITY MOVEMENT","short":"NKETOANE COMMUNITY 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":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":null}],"peak":0},{"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,"votes":0,"status":"declared","reason":null}],"peak":0},{"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":0,"votes":0,"status":"declared","reason":null}],"peak":0},{"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":0,"votes":0,"status":"declared","reason":null}],"peak":0},{"id":"568","name":"UNITED RESIDENTS FRONT","short":"UNITED RESIDENTS FRONT","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","4","52","1370","1318"],"previous":{"year":2021,"name":"Voting district 22430371","basis":"source_total","status":"historical","declaration":null,"total":87,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":55,"share":63.2183908045977},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":15,"share":17.24137931034483},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":5,"share":5.747126436781609},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":5,"share":5.747126436781609},{"id":"1027","name":"ALL UNEMPLOYMENT LABOUR ALLIANCE","votes":2,"share":2.2988505747126435},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":2,"share":2.2988505747126435},{"id":"1016","name":"FORUM 4 SERVICE DELIVERY","votes":0,"share":0},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":0,"share":0},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":0,"share":0},{"id":"946","name":"AGENCY FOR NEW AGENDA","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":55,"share":63.2183908045977},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2218.js","snapshotId":"2021:municipality:2218:v2:c13abb8092f48b94142abfa7296ce2102a67189a3cbb27b86406ba23e5f76a1f","reportedAt":"2022-01-15T15:50:38.270Z","checkedAt":"2026-11-05T13:38:14.249Z","successfulAt":"2026-11-05T13:38:14.249Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":87,"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 22430371","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":34,"parties":[{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":13,"share":38.23529411764706},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":11,"share":32.35294117647059},{"id":"1370","name":"AFRICAN CONTENT MOVEMENT","votes":4,"share":11.76470588235294},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":4,"share":11.76470588235294},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":2,"share":5.88235294117647},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","votes":0,"share":0},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":0,"share":0},{"id":"1775","name":"AFRICAN MOVEMENT CONGRESS","votes":0,"share":0},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":0,"share":0},{"id":"2077","name":"BATHO MOVEMENT","votes":0,"share":0},{"id":"3217","name":"NKETOANE COMMUNITY MOVEMENT","votes":0,"share":0},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":0,"share":0},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":0,"share":0},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":0,"share":0},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":0,"share":0},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":0,"share":0}],"seats":null,"leader":{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":13,"share":38.23529411764706},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic2218.js","snapshotId":"2026:municipality:2218:v3:pack1:8ee59290e3a868ed4557c60e5654ed17b2d3dfadf35fefdcd2e10a0efe87aa48:ddbfab17642475ed2b3ef70e5cd828f1ade678dbe984a72c40bb1cb9d334bf79","reportedAt":"2026-11-08T19:16:48.397Z","checkedAt":"2026-11-11T07:15:30.185Z","successfulAt":"2026-11-11T07:15:30.185Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":34,"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."]}