The president of South Africa, Jacob Zuma, has survived another vote of no confidence after a secret ballot.

Angry demonstrators held placards saying 'Red Card Zuma' and 'Fire Zuma' as they blocked roads in Cape Town ahead of Tuesday's vote in the South African parliament.

Zuma, who has held power since 2009, has struggled to fend off opposition accusations of corruption and mismanaging the economy.

The 75-year-old has previously survived seven no-confidence votes during his eight years in power thanks to loyal members of the ruling African National Congress (ANC), but these votes were not secret.

Opposition parties lobbied for months for an anonymous no-confidence vote to provide cover to disgruntled members of Zuma's ANC.

The motion, which was introduced by the opposition Democratic Alliance, needed 201 out of 400 votes to succeed.

The ANC holds 246 parliamentary seats, however several members indicated publicly that they would vote against Zuma.

Zuma has been dogged by corruption scandals, which he denies, and waning popularity for months.

He has faced waves of protests by tens of thousands of South Africans and public calls for his resignation by leading members of his own party.

Over the past year, Zuma has upset investors, with his decision to oust finance minister Pravin Gordhan in March proving particularly unpopular.

The country's credit rating has been downgraded by two of the top three credit rating agencies, unemployment is at a 14-year high of 27.7 percent and the economy is back in recession.

Zuma spent 10 years in the same Robben Island prison where Nelson Mandela was held, but his anti-apartheid record has been overshadowed by scandals, including the spending of millions of dollars in state funds on his private home.

He paid back some money after the Constitutional Court ruled against him last year.