{"level":"municipality","id":"2202","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2000,2006,2011,2016,2021,2026],"elections":[{"year":2000,"name":"FS161 - Letsemeng","basis":"source_total","status":"historical","declaration":null,"total":16436,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":12543,"share":76.31418836699928},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":3082,"share":18.751521051350693},{"id":"54","name":"ALLIANCE 2000+","votes":811,"share":4.934290581650036}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":12543,"share":76.31418836699928},"leaderScope":"published_vote_leader","reporting":{"completed":20,"expected":20,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2000/EEID2Munic2202.js","snapshotId":"2000:municipality:2202:v2:030da5979937184aeb30de915e1c9ff4b5fa6d1b6a0db9c3d8940db397227a6c","reportedAt":"2021-10-25T12:55:49.487Z","checkedAt":"2026-11-05T13:57:46.092Z","successfulAt":"2026-11-05T13:57:46.092Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":16436,"source_reported_valid_ballots":16436,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2006,"name":"FS161 - Letsemeng","basis":"source_total","status":"historical","declaration":null,"total":15366,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":11400,"share":74.18976962124171},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":1906,"share":12.404008850709358},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":538,"share":3.5012364961603537},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":451,"share":2.9350514122087725},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","votes":336,"share":2.1866458414681764}],"seats":{"total":10,"majority":6,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8,"grouped":false},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","count":1,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":1,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":0,"grouped":true},{"id":"8","name":"PAN AFRICANIST CONGRESS OF AZANIA","count":0,"grouped":false},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":11400,"share":74.18976962124171},"leaderScope":"published_vote_leader","reporting":{"completed":20,"expected":20,"percent":100},"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.145Z","checkedAt":"2026-11-05T13:52:25.594Z","successfulAt":"2026-11-05T13:52:25.594Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":15366,"source_reported_valid_ballots":15366,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2011,"name":"FS161 - Letsemeng","basis":"source_total","status":"historical","declaration":null,"total":21921,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":16755,"share":76.43355686328178},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":3139,"share":14.319602207928469},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":1232,"share":5.62018156106017},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":508,"share":2.3174125268007844},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":252,"share":1.1495825920350349}],"seats":{"total":11,"majority":6,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":2,"grouped":false},{"id":"499","name":"CONGRESS OF THE PEOPLE","count":1,"grouped":false},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","count":0,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":0,"grouped":true},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":16755,"share":76.43355686328178},"leaderScope":"published_vote_leader","reporting":{"completed":24,"expected":24,"percent":100},"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.097Z","checkedAt":"2026-11-05T13:46:27.572Z","successfulAt":"2026-11-05T13:46:27.572Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":21921,"source_reported_valid_ballots":21921,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2016,"name":"FS161 - Letsemeng","basis":"source_total","status":"historical","declaration":null,"total":22732,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":15574,"share":68.51134963927504},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":2972,"share":13.074080591237022},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":2540,"share":11.173675875417914},{"id":"499","name":"CONGRESS OF THE PEOPLE","votes":781,"share":3.435685377441492},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":751,"share":3.303712827731832},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":114,"share":0.5014956888967095}],"seats":{"total":11,"majority":6,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":2,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":1,"grouped":false},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","count":0,"grouped":false},{"id":"499","name":"CONGRESS OF THE PEOPLE","count":0,"grouped":false},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":15574,"share":68.51134963927504},"leaderScope":"published_vote_leader","reporting":{"completed":22,"expected":22,"percent":100},"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.307Z","checkedAt":"2026-11-05T13:40:38.708Z","successfulAt":"2026-11-05T13:40:38.708Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":22732,"source_reported_valid_ballots":22732,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"FS161 - Letsemeng","basis":"source_total","status":"historical","declaration":null,"total":19228,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":12408,"share":64.53089244851259},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":3093,"share":16.085916371957563},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":2073,"share":10.781152485957977},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":978,"share":5.086332431870189},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":327,"share":1.7006448928645728},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":63,"share":0.3276471811940919}],"seats":{"total":13,"majority":7,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":9,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":2,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":1,"grouped":false},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","count":1,"grouped":false},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","count":0,"grouped":false},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","count":0,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":0,"grouped":true}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":9}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":12408,"share":64.53089244851259},"leaderScope":"published_vote_leader","reporting":{"completed":22,"expected":22,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2202.js","snapshotId":"2021:municipality:2202:v2:62dc40afac0efc42f1143b0f5f6fe8eb6dede6c92f80083a6475f1304a21ff10","reportedAt":"2022-01-15T15:50:14.157Z","checkedAt":"2026-11-05T13:38:08.228Z","successfulAt":"2026-11-05T13:38:08.228Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":19228,"source_reported_valid_ballots":19228,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"FS161 - Letsemeng","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":22869,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":13870,"share":60.649787922515195},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":4843,"share":21.177139358957543},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":1778,"share":7.774716865625956},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":1626,"share":7.1100616555162},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":355,"share":1.552319734137916},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":133,"share":0.5815733088460362},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":51,"share":0.2230093139184048},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":40,"share":0.17490926581835675},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":38,"share":0.1661638025274389}],"seats":{"total":13,"majority":7,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":3,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":1,"grouped":false},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","count":1,"grouped":false},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","count":0,"grouped":false},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","count":0,"grouped":false},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","count":0,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":0,"grouped":true},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","count":0,"grouped":false},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":13870,"share":60.649787922515195},"leaderScope":"published_vote_leader","reporting":{"completed":22,"expected":22,"percent":100},"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:28.948Z","checkedAt":"2026-11-11T00:37:50.732Z","successfulAt":"2026-11-11T00:37:50.732Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":22869,"source_reported_valid_ballots":22869,"difference":0}},"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":76.31418836699928,"votes":12543,"status":"historical","reason":null},{"year":2006,"share":74.18976962124171,"votes":11400,"status":"historical","reason":null},{"year":2011,"share":76.43355686328178,"votes":16755,"status":"historical","reason":null},{"year":2016,"share":68.51134963927504,"votes":15574,"status":"historical","reason":null},{"year":2021,"share":64.53089244851259,"votes":12408,"status":"historical","reason":null},{"year":2026,"share":60.649787922515195,"votes":13870,"status":"declared","reason":null}],"peak":76.43355686328178},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2000,"share":18.751521051350693,"votes":3082,"status":"historical","reason":null},{"year":2006,"share":12.404008850709358,"votes":1906,"status":"historical","reason":null},{"year":2011,"share":14.319602207928469,"votes":3139,"status":"historical","reason":null},{"year":2016,"share":13.074080591237022,"votes":2972,"status":"historical","reason":null},{"year":2021,"share":16.085916371957563,"votes":3093,"status":"historical","reason":null},{"year":2026,"share":21.177139358957543,"votes":4843,"status":"declared","reason":null}],"peak":21.177139358957543},{"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":11.173675875417914,"votes":2540,"status":"historical","reason":null},{"year":2021,"share":10.781152485957977,"votes":2073,"status":"historical","reason":null},{"year":2026,"share":7.1100616555162,"votes":1626,"status":"declared","reason":null}],"peak":11.173675875417914},{"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":2.9350514122087725,"votes":451,"status":"historical","reason":null},{"year":2011,"share":2.3174125268007844,"votes":508,"status":"historical","reason":null},{"year":2016,"share":3.303712827731832,"votes":751,"status":"historical","reason":null},{"year":2021,"share":5.086332431870189,"votes":978,"status":"historical","reason":null},{"year":2026,"share":7.774716865625956,"votes":1778,"status":"declared","reason":null}],"peak":7.774716865625956},{"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":5.62018156106017,"votes":1232,"status":"historical","reason":null},{"year":2016,"share":3.435685377441492,"votes":781,"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":5.62018156106017},{"id":"54","name":"ALLIANCE 2000+","short":"ALLIANCE 2000+","color":"#627875","points":[{"year":2000,"share":4.934290581650036,"votes":811,"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":4.934290581650036},{"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":3.5012364961603537,"votes":538,"status":"historical","reason":null},{"year":2011,"share":1.1495825920350349,"votes":252,"status":"historical","reason":null},{"year":2016,"share":0.5014956888967095,"votes":114,"status":"historical","reason":null},{"year":2021,"share":1.7006448928645728,"votes":327,"status":"historical","reason":null},{"year":2026,"share":0.5815733088460362,"votes":133,"status":"declared","reason":null}],"peak":3.5012364961603537},{"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.1866458414681764,"votes":336,"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.1866458414681764},{"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":1.552319734137916,"votes":355,"status":"declared","reason":null}],"peak":1.552319734137916},{"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.3276471811940919,"votes":63,"status":"historical","reason":null},{"year":2026,"share":0.2230093139184048,"votes":51,"status":"declared","reason":null}],"peak":0.3276471811940919},{"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.17490926581835675,"votes":40,"status":"declared","reason":null}],"peak":0.17490926581835675},{"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.1661638025274389,"votes":38,"status":"declared","reason":null}],"peak":0.1661638025274389}],"defaultPartyIds":["7","52","945","4","499"],"previous":{"year":2021,"name":"FS161 - Letsemeng","basis":"source_total","status":"historical","declaration":null,"total":19228,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":12408,"share":64.53089244851259},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":3093,"share":16.085916371957563},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":2073,"share":10.781152485957977},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":978,"share":5.086332431870189},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":327,"share":1.7006448928645728},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":63,"share":0.3276471811940919}],"seats":{"total":13,"majority":7,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":9,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":2,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":1,"grouped":false},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","count":1,"grouped":false},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","count":0,"grouped":false},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","count":0,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":0,"grouped":true}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":9}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":12408,"share":64.53089244851259},"leaderScope":"published_vote_leader","reporting":{"completed":22,"expected":22,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic2202.js","snapshotId":"2021:municipality:2202:v2:62dc40afac0efc42f1143b0f5f6fe8eb6dede6c92f80083a6475f1304a21ff10","reportedAt":"2022-01-15T15:50:14.157Z","checkedAt":"2026-11-05T13:38:08.228Z","successfulAt":"2026-11-05T13:38:08.228Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":19228,"source_reported_valid_ballots":19228,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},"reportedElections":6,"latest":{"year":2026,"name":"FS161 - Letsemeng","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":22869,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":13870,"share":60.649787922515195},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":4843,"share":21.177139358957543},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","votes":1778,"share":7.774716865625956},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":1626,"share":7.1100616555162},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":355,"share":1.552319734137916},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":133,"share":0.5815733088460362},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":51,"share":0.2230093139184048},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":40,"share":0.17490926581835675},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":38,"share":0.1661638025274389}],"seats":{"total":13,"majority":7,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":3,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":1,"grouped":false},{"id":"4","name":"VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS","count":1,"grouped":false},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","count":0,"grouped":false},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","count":0,"grouped":false},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","count":0,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":0,"grouped":true},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","count":0,"grouped":false},{"id":"1748","name":"UMKHONTO WESIZWE PARTY","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":8}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":13870,"share":60.649787922515195},"leaderScope":"published_vote_leader","reporting":{"completed":22,"expected":22,"percent":100},"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:28.948Z","checkedAt":"2026-11-11T00:37:50.732Z","successfulAt":"2026-11-11T00:37:50.732Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":22869,"source_reported_valid_ballots":22869,"difference":0}},"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."]}