{"level":"voting-district","id":"22290049","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2011,2016,2021,2026],"elections":[{"year":2011,"name":"Voting district 22290049","basis":"source_total","status":"historical","declaration":null,"total":782,"parties":[{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":405,"share":51.790281329923275},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":359,"share":45.907928388746804},{"id":"591","name":"NATIONAL FREEDOM PARTY","votes":9,"share":1.1508951406649617},{"id":"241","name":"PHUMELELA RATEPAYERS' ASSOCIATION","votes":7,"share":0.8951406649616368},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":2,"share":0.2557544757033248}],"seats":null,"leader":{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":405,"share":51.790281329923275},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2011/EEID197Munic2220.js","snapshotId":"2011:municipality:2220:v2:a86bb3c3cd35575288126ff050bb28c91bce5e4e29ebce1add0f0c139ccd4229","reportedAt":"2021-10-25T13:03:56.892Z","checkedAt":"2026-11-05T13:46:50.186Z","successfulAt":"2026-11-05T13:46:50.186Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":782,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2016,"name":"Voting district 22290049","basis":"source_total","status":"historical","declaration":null,"total":700,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":564,"share":80.57142857142857},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":97,"share":13.857142857142858},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":25,"share":3.571428571428571},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":7,"share":1}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":564,"share":80.57142857142857},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2016/EEID402Munic2220.js","snapshotId":"2016:municipality:2220:v2:e8d3842715c1e19cbce43c4dec6709d145015fff72c83933a05e6f4bf2bf24b6","reportedAt":"2017-04-06T09:45:33.223Z","checkedAt":"2026-11-05T13:40:58.673Z","successfulAt":"2026-11-05T13:40:58.673Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":700,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"Voting district 22290049","basis":"source_total","status":"historical","declaration":null,"total":590,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":458,"share":77.62711864406779},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":50,"share":8.47457627118644},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":22,"share":3.728813559322034},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":18,"share":3.050847457627119},{"id":"1361","name":"AFRICAN FREEDOM REVOLUTION","votes":11,"share":1.864406779661017},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":4,"share":0.6779661016949152},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":458,"share":77.62711864406779},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2220.js","snapshotId":"2021:municipality:2220:v2:a83b8d38e7a5a1145d2d4fbf4683ec99241c1f8da47c7dd055402a66d0f4a759","reportedAt":"2022-01-15T15:50:32.848Z","checkedAt":"2026-11-05T13:38:15.258Z","successfulAt":"2026-11-05T13:38:15.258Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":590,"source_reported_valid_ballots":null,"difference":null}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"Voting district 22290049","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":559,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":297,"share":53.13059033989267},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":85,"share":15.20572450805009},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":65,"share":11.627906976744185},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":34,"share":6.082289803220036},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":24,"share":4.293381037567084},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":21,"share":3.7567084078711988},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":21,"share":3.7567084078711988},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":5,"share":0.8944543828264758},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":3,"share":0.5366726296958855},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":2,"share":0.35778175313059035},{"id":"1370","name":"AFRICAN CONTENT MOVEMENT","votes":1,"share":0.17889087656529518},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":1,"share":0.17889087656529518},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","votes":0,"share":0},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":297,"share":53.13059033989267},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic2220.js","snapshotId":"2026:municipality:2220:v3:pack1:29cdfc629cb54c6c39cf308db85ea24268095f96c60d2d0ae0ef89c2d34118d0:c9fcbb37607ae50a05c3ac0e6f39340e91167a12dfc38d71a47c9b16024664d0","reportedAt":"2026-11-08T19:26:35.506Z","checkedAt":"2026-11-11T06:23:14.798Z","successfulAt":"2026-11-11T06:23:14.798Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":559,"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":45.907928388746804,"votes":359,"status":"historical","reason":null},{"year":2016,"share":80.57142857142857,"votes":564,"status":"historical","reason":null},{"year":2021,"share":77.62711864406779,"votes":458,"status":"historical","reason":null},{"year":2026,"share":53.13059033989267,"votes":297,"status":"declared","reason":null}],"peak":80.57142857142857},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2011,"share":51.790281329923275,"votes":405,"status":"historical","reason":null},{"year":2016,"share":13.857142857142858,"votes":97,"status":"historical","reason":null},{"year":2021,"share":3.050847457627119,"votes":18,"status":"historical","reason":null},{"year":2026,"share":15.20572450805009,"votes":85,"status":"declared","reason":null}],"peak":51.790281329923275},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","short":"FF+","color":"#ba632f","points":[{"year":2011,"share":0.2557544757033248,"votes":2,"status":"historical","reason":null},{"year":2016,"share":1,"votes":7,"status":"historical","reason":null},{"year":2021,"share":0.6779661016949152,"votes":4,"status":"historical","reason":null},{"year":2026,"share":11.627906976744185,"votes":65,"status":"declared","reason":null}],"peak":11.627906976744185},{"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":3.571428571428571,"votes":25,"status":"historical","reason":null},{"year":2021,"share":8.47457627118644,"votes":50,"status":"historical","reason":null},{"year":2026,"share":3.7567084078711988,"votes":21,"status":"declared","reason":null}],"peak":8.47457627118644},{"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":6.082289803220036,"votes":34,"status":"declared","reason":null}],"peak":6.082289803220036},{"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":0,"votes":0,"status":"historical","reason":null},{"year":2026,"share":4.293381037567084,"votes":24,"status":"declared","reason":null}],"peak":4.293381037567084},{"id":"3","name":"INKATHA FREEDOM PARTY","short":"IFP","color":"#b44b69","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":3.728813559322034,"votes":22,"status":"historical","reason":null},{"year":2026,"share":3.7567084078711988,"votes":21,"status":"declared","reason":null}],"peak":3.7567084078711988},{"id":"1361","name":"AFRICAN FREEDOM REVOLUTION","short":"AFRICAN FREEDOM REVOLUTION","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.864406779661017,"votes":11,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":1.864406779661017},{"id":"591","name":"NATIONAL FREEDOM PARTY","short":"NFP","color":"#627875","points":[{"year":2011,"share":1.1508951406649617,"votes":9,"status":"historical","reason":null},{"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":1.1508951406649617},{"id":"241","name":"PHUMELELA RATEPAYERS' ASSOCIATION","short":"PHUMELELA RATEPAYERS' ASSOCIATION","color":"#627875","points":[{"year":2011,"share":0.8951406649616368,"votes":7,"status":"historical","reason":null},{"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.8951406649616368},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","short":"APC","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.8944543828264758,"votes":5,"status":"declared","reason":null}],"peak":0.8944543828264758},{"id":"1863","name":"SERVICE DELIVERY PARTY","short":"SERVICE DELIVERY PARTY","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.5366726296958855,"votes":3,"status":"declared","reason":null}],"peak":0.5366726296958855},{"id":"957","name":"PATRIOTIC ALLIANCE","short":"PA","color":"#287b57","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.35778175313059035,"votes":2,"status":"declared","reason":null}],"peak":0.35778175313059035},{"id":"1370","name":"AFRICAN CONTENT MOVEMENT","short":"ACM","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.17889087656529518,"votes":1,"status":"declared","reason":null}],"peak":0.17889087656529518},{"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.17889087656529518,"votes":1,"status":"declared","reason":null}],"peak":0.17889087656529518},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","short":"AFRICAN CONGRESS FOR TRANSFORMATION","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,"votes":0,"status":"declared","reason":null}],"peak":0},{"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,"votes":0,"status":"declared","reason":null}],"peak":0}],"defaultPartyIds":["7","52","4","945","1748"],"previous":{"year":2021,"name":"Voting district 22290049","basis":"source_total","status":"historical","declaration":null,"total":590,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":458,"share":77.62711864406779},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":50,"share":8.47457627118644},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":22,"share":3.728813559322034},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":18,"share":3.050847457627119},{"id":"1361","name":"AFRICAN FREEDOM REVOLUTION","votes":11,"share":1.864406779661017},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":4,"share":0.6779661016949152},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":458,"share":77.62711864406779},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2220.js","snapshotId":"2021:municipality:2220:v2:a83b8d38e7a5a1145d2d4fbf4683ec99241c1f8da47c7dd055402a66d0f4a759","reportedAt":"2022-01-15T15:50:32.848Z","checkedAt":"2026-11-05T13:38:15.258Z","successfulAt":"2026-11-05T13:38:15.258Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":590,"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 22290049","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":559,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":297,"share":53.13059033989267},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":85,"share":15.20572450805009},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":65,"share":11.627906976744185},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":34,"share":6.082289803220036},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":24,"share":4.293381037567084},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":21,"share":3.7567084078711988},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":21,"share":3.7567084078711988},{"id":"450","name":"AFRICAN PEOPLE'S CONVENTION","votes":5,"share":0.8944543828264758},{"id":"1863","name":"SERVICE DELIVERY PARTY","votes":3,"share":0.5366726296958855},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":2,"share":0.35778175313059035},{"id":"1370","name":"AFRICAN CONTENT MOVEMENT","votes":1,"share":0.17889087656529518},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":1,"share":0.17889087656529518},{"id":"1740","name":"AFRICAN CONGRESS FOR TRANSFORMATION","votes":0,"share":0},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":0,"share":0}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":297,"share":53.13059033989267},"leaderScope":"published_vote_leader","reporting":null,"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic2220.js","snapshotId":"2026:municipality:2220:v3:pack1:29cdfc629cb54c6c39cf308db85ea24268095f96c60d2d0ae0ef89c2d34118d0:c9fcbb37607ae50a05c3ac0e6f39340e91167a12dfc38d71a47c9b16024664d0","reportedAt":"2026-11-08T19:26:35.506Z","checkedAt":"2026-11-11T06:23:14.798Z","successfulAt":"2026-11-11T06:23:14.798Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"not_available","sum_of_published_rows":559,"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."]}