{"level":"municipality","id":"4415","through":2026,"basis":"source_total","ballotLabel":"Ward + municipal PR votes","years":[2000,2006,2011,2016,2021,2026],"elections":[{"year":2000,"name":"KZ227 - KZ227","basis":"source_total","status":"historical","declaration":null,"total":21421,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":14486,"share":67.62522758041175},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":2494,"share":11.642780449092012},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","votes":2156,"share":10.064889594323327},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":2022,"share":9.439335231781897}],"seats":null,"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":14486,"share":67.62522758041175},"leaderScope":"published_vote_leader","reporting":{"completed":25,"expected":25,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2000/EEID2Munic4415.js","snapshotId":"2000:municipality:4415:v2:b72f17c47a072887a37d81bc111438d6b6adcab2a4a1331023ac723fb2ad250a","reportedAt":"2021-10-25T12:56:15.691Z","checkedAt":"2026-11-05T13:58:46.900Z","successfulAt":"2026-11-05T13:58:46.900Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":21421,"source_reported_valid_ballots":21421,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2006,"name":"KZ227 - Richmond","basis":"source_total","status":"historical","declaration":null,"total":25152,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":18465,"share":73.41364503816794},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","votes":2457,"share":9.768606870229007},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":2377,"share":9.450540712468193},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":1461,"share":5.8086832061068705},{"id":"284","name":"NATIONAL DEMOCRATIC CONVENTION","votes":178,"share":0.7076972010178118}],"seats":{"total":13,"majority":7,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":10,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":1,"grouped":false},{"id":"3","name":"INKATHA FREEDOM PARTY","count":1,"grouped":false},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","count":1,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":0,"grouped":true},{"id":"284","name":"NATIONAL DEMOCRATIC CONVENTION","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":10}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":18465,"share":73.41364503816794},"leaderScope":"published_vote_leader","reporting":{"completed":36,"expected":36,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2006/EEID95Munic4415.js","snapshotId":"2006:municipality:4415:v2:70ff6014cf40c3a00dd8e044902b6fc75c73975695a9a38b8cef7338cfdcb7c5","reportedAt":"2016-07-29T07:33:54.339Z","checkedAt":"2026-11-05T13:53:32.478Z","successfulAt":"2026-11-05T13:53:32.478Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":25152,"source_reported_valid_ballots":25152,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2011,"name":"KZN227 - Richmond","basis":"source_total","status":"historical","declaration":null,"total":32971,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":24952,"share":75.67862667192381},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":2105,"share":6.384398410724576},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","votes":1572,"share":4.7678262715719875},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":1070,"share":3.245276151769737},{"id":"591","name":"NATIONAL FREEDOM PARTY","votes":826,"share":2.5052318704315915},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","votes":73,"share":0.22140669072821573}],"seats":{"total":14,"majority":8,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":11,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":1,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":1,"grouped":true},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","count":1,"grouped":false},{"id":"18","name":"AFRICAN CHRISTIAN DEMOCRATIC PARTY","count":0,"grouped":false},{"id":"3","name":"INKATHA FREEDOM PARTY","count":0,"grouped":false},{"id":"591","name":"NATIONAL FREEDOM PARTY","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":11}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":24952,"share":75.67862667192381},"leaderScope":"published_vote_leader","reporting":{"completed":38,"expected":38,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2011/EEID197Munic4415.js","snapshotId":"2011:municipality:4415:v2:9163e1ef88d68d869b4109208e9bd82a342f7a95ace57864baa8f5d78df901ea","reportedAt":"2021-10-25T13:03:45.137Z","checkedAt":"2026-11-05T13:47:42.117Z","successfulAt":"2026-11-05T13:47:42.117Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":32971,"source_reported_valid_ballots":32971,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2016,"name":"KZN227 - Richmond","basis":"source_total","status":"historical","declaration":null,"total":37840,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":28772,"share":76.03594080338266},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":4166,"share":11.009513742071881},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":2259,"share":5.969873150105708},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","votes":1244,"share":3.287526427061311},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":1188,"share":3.1395348837209305},{"id":"1013","name":"PEOPLE'S REVOLUTIONARY MOVEMENT","votes":150,"share":0.3964059196617336}],"seats":{"total":14,"majority":8,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":11,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":2,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":1,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":0,"grouped":true},{"id":"3","name":"INKATHA FREEDOM PARTY","count":0,"grouped":false},{"id":"1013","name":"PEOPLE'S REVOLUTIONARY MOVEMENT","count":0,"grouped":false},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":11}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":28772,"share":76.03594080338266},"leaderScope":"published_vote_leader","reporting":{"completed":41,"expected":41,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2016/EEID402Munic4415.js","snapshotId":"2016:municipality:4415:v2:a83fbcd1352ad3cb05873cd4f826dc2e2de2e7ceb4b27153971ff414ddf464c3","reportedAt":"2017-04-06T09:45:02.708Z","checkedAt":"2026-11-05T13:41:42.235Z","successfulAt":"2026-11-05T13:41:42.235Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":37840,"source_reported_valid_ballots":37840,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2021,"name":"KZN227 - Richmond","basis":"source_total","status":"historical","declaration":null,"total":31924,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":22271,"share":69.76256108257111},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":3850,"share":12.05989224407969},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":2171,"share":6.800526249843378},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":1067,"share":3.3423129933592284},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":358,"share":1.1214133567222153},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","votes":270,"share":0.8457586768575366},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":267,"share":0.8363613582257863},{"id":"1377","name":"PEOPLE'S FREEDOM PARTY","votes":237,"share":0.7423881719082821},{"id":"1488","name":"ABANTU BATHO CONGRESS","votes":182,"share":0.5701039969928581}],"seats":{"total":14,"majority":8,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":9,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":2,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":1,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":1,"grouped":true},{"id":"3","name":"INKATHA FREEDOM PARTY","count":1,"grouped":false},{"id":"1488","name":"ABANTU BATHO CONGRESS","count":0,"grouped":false},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","count":0,"grouped":false},{"id":"957","name":"PATRIOTIC ALLIANCE","count":0,"grouped":false},{"id":"1377","name":"PEOPLE'S FREEDOM PARTY","count":0,"grouped":false},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":9}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":22271,"share":69.76256108257111},"leaderScope":"published_vote_leader","reporting":{"completed":42,"expected":42,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic4415.js","snapshotId":"2021:municipality:4415:v2:1babb1200dcba40a39a8ecd3bc061ae41bf41d7b822a4af4cc5273dc110611fb","reportedAt":"2022-01-15T15:50:28.160Z","checkedAt":"2026-11-05T13:38:29.243Z","successfulAt":"2026-11-05T13:38:29.243Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":31924,"source_reported_valid_ballots":31924,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},{"year":2026,"name":"KZN227 - Richmond","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":43295,"parties":[{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":24362,"share":56.26977711052085},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":13054,"share":30.151287677560916},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":3837,"share":8.862455248874005},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":1048,"share":2.4206028409747082},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":429,"share":0.9908765446356392},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":161,"share":0.3718674211802748},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":149,"share":0.34415059475690035},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":77,"share":0.17784963621665317},{"id":"2006","name":"INDEPENDENT COUNCILLORS","votes":76,"share":0.17553990068137199},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":67,"share":0.1547522808638411},{"id":"2134","name":"BUMBANA MZANSI","votes":35,"share":0.08084074373484236}],"seats":{"total":17,"majority":9,"correction":null,"parties":[{"id":"1748","name":"UMKHONTO WESIZWE PARTY","count":10,"grouped":false},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":5,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":2,"grouped":false},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","count":0,"grouped":false},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","count":0,"grouped":false},{"id":"2134","name":"BUMBANA MZANSI","count":0,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":0,"grouped":false},{"id":"2006","name":"INDEPENDENT COUNCILLORS","count":0,"grouped":false},{"id":"3","name":"INKATHA FREEDOM PARTY","count":0,"grouped":false},{"id":"957","name":"PATRIOTIC ALLIANCE","count":0,"grouped":false},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","count":0,"grouped":false}],"winner":{"id":"1748","name":"UMKHONTO WESIZWE PARTY","count":10}},"leader":{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":24362,"share":56.26977711052085},"leaderScope":"published_vote_leader","reporting":{"completed":45,"expected":45,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic4415.js","snapshotId":"2026:municipality:4415:v2:pack1:31afc0a14c57c89eb5232ab7cec26cb7cfd5cfa0c6313b21ec89e83bc314e31a:de73cc997e2a4477a3ffd6991b1b3f667f37640a3690df60d74e9a025eab1cec","reportedAt":"2026-11-05T17:27:02.235Z","checkedAt":"2026-11-11T03:46:07.321Z","successfulAt":"2026-11-11T03:46:07.321Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":43295,"source_reported_valid_ballots":43295,"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":67.62522758041175,"votes":14486,"status":"historical","reason":null},{"year":2006,"share":73.41364503816794,"votes":18465,"status":"historical","reason":null},{"year":2011,"share":75.67862667192381,"votes":24952,"status":"historical","reason":null},{"year":2016,"share":76.03594080338266,"votes":28772,"status":"historical","reason":null},{"year":2021,"share":69.76256108257111,"votes":22271,"status":"historical","reason":null},{"year":2026,"share":30.151287677560916,"votes":13054,"status":"declared","reason":null}],"peak":76.03594080338266},{"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":56.26977711052085,"votes":24362,"status":"declared","reason":null}],"peak":56.26977711052085},{"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":5.969873150105708,"votes":2259,"status":"historical","reason":null},{"year":2021,"share":12.05989224407969,"votes":3850,"status":"historical","reason":null},{"year":2026,"share":0.9908765446356392,"votes":429,"status":"declared","reason":null}],"peak":12.05989224407969},{"id":"3","name":"INKATHA FREEDOM PARTY","short":"IFP","color":"#b44b69","points":[{"year":2000,"share":11.642780449092012,"votes":2494,"status":"historical","reason":null},{"year":2006,"share":9.450540712468193,"votes":2377,"status":"historical","reason":null},{"year":2011,"share":3.245276151769737,"votes":1070,"status":"historical","reason":null},{"year":2016,"share":3.1395348837209305,"votes":1188,"status":"historical","reason":null},{"year":2021,"share":3.3423129933592284,"votes":1067,"status":"historical","reason":null},{"year":2026,"share":2.4206028409747082,"votes":1048,"status":"declared","reason":null}],"peak":11.642780449092012},{"id":"52","name":"DEMOCRATIC ALLIANCE","short":"DA","color":"#2872ba","points":[{"year":2000,"share":9.439335231781897,"votes":2022,"status":"historical","reason":null},{"year":2006,"share":5.8086832061068705,"votes":1461,"status":"historical","reason":null},{"year":2011,"share":6.384398410724576,"votes":2105,"status":"historical","reason":null},{"year":2016,"share":11.009513742071881,"votes":4166,"status":"historical","reason":null},{"year":2021,"share":6.800526249843378,"votes":2171,"status":"historical","reason":null},{"year":2026,"share":8.862455248874005,"votes":3837,"status":"declared","reason":null}],"peak":11.009513742071881},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","short":"UDM","color":"#b36c29","points":[{"year":2000,"share":10.064889594323327,"votes":2156,"status":"historical","reason":null},{"year":2006,"share":9.768606870229007,"votes":2457,"status":"historical","reason":null},{"year":2011,"share":4.7678262715719875,"votes":1572,"status":"historical","reason":null},{"year":2016,"share":3.287526427061311,"votes":1244,"status":"historical","reason":null},{"year":2021,"share":0.8457586768575366,"votes":270,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":10.064889594323327},{"id":"591","name":"NATIONAL FREEDOM PARTY","short":"NFP","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":2.5052318704315915,"votes":826,"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":2.5052318704315915},{"id":"957","name":"PATRIOTIC ALLIANCE","short":"PA","color":"#287b57","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":1.1214133567222153,"votes":358,"status":"historical","reason":null},{"year":2026,"share":0.1547522808638411,"votes":67,"status":"declared","reason":null}],"peak":1.1214133567222153},{"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.8363613582257863,"votes":267,"status":"historical","reason":null},{"year":2026,"share":0.17784963621665317,"votes":77,"status":"declared","reason":null}],"peak":0.8363613582257863},{"id":"1377","name":"PEOPLE'S FREEDOM PARTY","short":"PFP","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.7423881719082821,"votes":237,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0.7423881719082821},{"id":"284","name":"NATIONAL DEMOCRATIC CONVENTION","short":"NATIONAL DEMOCRATIC CONVENTION","color":"#627875","points":[{"year":2000,"share":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2006,"share":0.7076972010178118,"votes":178,"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":0.7076972010178118},{"id":"1488","name":"ABANTU BATHO CONGRESS","short":"ABC","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.5701039969928581,"votes":182,"status":"historical","reason":null},{"year":2026,"share":0,"votes":0,"status":"declared","reason":"No votes recorded in the complete party list."}],"peak":0.5701039969928581},{"id":"1013","name":"PEOPLE'S REVOLUTIONARY MOVEMENT","short":"PRM","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.3964059196617336,"votes":150,"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.3964059196617336},{"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.3718674211802748,"votes":161,"status":"declared","reason":null}],"peak":0.3718674211802748},{"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.34415059475690035,"votes":149,"status":"declared","reason":null}],"peak":0.34415059475690035},{"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":0,"votes":0,"status":"historical","reason":"No votes recorded in the complete party list."},{"year":2011,"share":0.22140669072821573,"votes":73,"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.22140669072821573},{"id":"2006","name":"INDEPENDENT COUNCILLORS","short":"INDEPENDENT COUNCILLORS","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.17553990068137199,"votes":76,"status":"declared","reason":null}],"peak":0.17553990068137199},{"id":"2134","name":"BUMBANA MZANSI","short":"BUMBANA MZANSI","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.08084074373484236,"votes":35,"status":"declared","reason":null}],"peak":0.08084074373484236}],"defaultPartyIds":["7","1748","945","3","52"],"previous":{"year":2021,"name":"KZN227 - Richmond","basis":"source_total","status":"historical","declaration":null,"total":31924,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":22271,"share":69.76256108257111},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":3850,"share":12.05989224407969},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":2171,"share":6.800526249843378},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":1067,"share":3.3423129933592284},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":358,"share":1.1214133567222153},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","votes":270,"share":0.8457586768575366},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":267,"share":0.8363613582257863},{"id":"1377","name":"PEOPLE'S FREEDOM PARTY","votes":237,"share":0.7423881719082821},{"id":"1488","name":"ABANTU BATHO CONGRESS","votes":182,"share":0.5701039969928581}],"seats":{"total":14,"majority":8,"correction":null,"parties":[{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":9,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":2,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":1,"grouped":false},{"id":"0","name":"INDEPENDENTS","count":1,"grouped":true},{"id":"3","name":"INKATHA FREEDOM PARTY","count":1,"grouped":false},{"id":"1488","name":"ABANTU BATHO CONGRESS","count":0,"grouped":false},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","count":0,"grouped":false},{"id":"957","name":"PATRIOTIC ALLIANCE","count":0,"grouped":false},{"id":"1377","name":"PEOPLE'S FREEDOM PARTY","count":0,"grouped":false},{"id":"6","name":"UNITED DEMOCRATIC MOVEMENT","count":0,"grouped":false}],"winner":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":9}},"leader":{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":22271,"share":69.76256108257111},"leaderScope":"published_vote_leader","reporting":{"completed":42,"expected":42,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2021/EEID1091Munic4415.js","snapshotId":"2021:municipality:4415:v2:1babb1200dcba40a39a8ecd3bc061ae41bf41d7b822a4af4cc5273dc110611fb","reportedAt":"2022-01-15T15:50:28.160Z","checkedAt":"2026-11-05T13:38:29.243Z","successfulAt":"2026-11-05T13:38:29.243Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":31924,"source_reported_valid_ballots":31924,"difference":0}},"partyListScope":"all_rows_in_source","notes":[],"zeroForAbsent":true,"reason":null},"reportedElections":6,"latest":{"year":2026,"name":"KZN227 - Richmond","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":43295,"parties":[{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":24362,"share":56.26977711052085},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","votes":13054,"share":30.151287677560916},{"id":"52","name":"DEMOCRATIC ALLIANCE","votes":3837,"share":8.862455248874005},{"id":"3","name":"INKATHA FREEDOM PARTY","votes":1048,"share":2.4206028409747082},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","votes":429,"share":0.9908765446356392},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","votes":161,"share":0.3718674211802748},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","votes":149,"share":0.34415059475690035},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","votes":77,"share":0.17784963621665317},{"id":"2006","name":"INDEPENDENT COUNCILLORS","votes":76,"share":0.17553990068137199},{"id":"957","name":"PATRIOTIC ALLIANCE","votes":67,"share":0.1547522808638411},{"id":"2134","name":"BUMBANA MZANSI","votes":35,"share":0.08084074373484236}],"seats":{"total":17,"majority":9,"correction":null,"parties":[{"id":"1748","name":"UMKHONTO WESIZWE PARTY","count":10,"grouped":false},{"id":"7","name":"AFRICAN NATIONAL CONGRESS","count":5,"grouped":false},{"id":"52","name":"DEMOCRATIC ALLIANCE","count":2,"grouped":false},{"id":"1318","name":"AFRICAN TRANSFORMATION MOVEMENT","count":0,"grouped":false},{"id":"1909","name":"AFRIKA MAYIBUYE MOVEMENT","count":0,"grouped":false},{"id":"2134","name":"BUMBANA MZANSI","count":0,"grouped":false},{"id":"945","name":"ECONOMIC FREEDOM FIGHTERS","count":0,"grouped":false},{"id":"2006","name":"INDEPENDENT COUNCILLORS","count":0,"grouped":false},{"id":"3","name":"INKATHA FREEDOM PARTY","count":0,"grouped":false},{"id":"957","name":"PATRIOTIC ALLIANCE","count":0,"grouped":false},{"id":"445","name":"SOUTH AFRICAN COMMUNIST PARTY","count":0,"grouped":false}],"winner":{"id":"1748","name":"UMKHONTO WESIZWE PARTY","count":10}},"leader":{"id":"1748","name":"UMKHONTO WESIZWE PARTY","votes":24362,"share":56.26977711052085},"leaderScope":"published_vote_leader","reporting":{"completed":45,"expected":45,"percent":100},"source":{"url":"https://results.elections.org.za/dashboards/lge/MapsJason/2026/EEID1887Munic4415.js","snapshotId":"2026:municipality:4415:v2:pack1:31afc0a14c57c89eb5232ab7cec26cb7cfd5cfa0c6313b21ec89e83bc314e31a:de73cc997e2a4477a3ffd6991b1b3f667f37640a3690df60d74e9a025eab1cec","reportedAt":"2026-11-05T17:27:02.235Z","checkedAt":"2026-11-11T03:46:07.321Z","successfulAt":"2026-11-11T03:46:07.321Z","error":null},"quality":{"source_anomalies":[],"vote_total_reconciliation":{"status":"matches_reported_total","sum_of_published_rows":43295,"source_reported_valid_ballots":43295,"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."]}