Thousands of Brazilians took to the streets in the second nationwide protest against President Dilma Rousseff in less than a month.
Chants of "out with Dilma" and "time for change" echoed in the air as 275,000 demonstrators clad in green and yellow of the Brazilian flag marched in Sao Paulo seeking impeachment against the president for corruption scams at state-run oil company Petrobas.
Rousseff has acknowledged the need to clean up Petrobras but denied any knowledge of the bribery and price-fixing scandal, much of which happened when she was chairwoman of the company.
The anti-government demonstration was the second in less than a month.
Rousseff won re-election in October narrowly with just over 50% of the votes cast for her leftist Workers' Party but her rating has plummeted to 13% after protests began last month.
About 500,000 people hit the streets in Sao Paulo in mid-March first, seeking action against the plunging currency and the corruption.
In reply, Rousseff launched an anti-corruption offensive criminalising slush funds widely used by Brazil's political parties to finance their campaigns. She also signed a decree implementing an anti-bribery law passed more than a year ago that stiffens fines for companies.
Compounding her woes, the economy has been facing stagnation for the fifth consecutive year.
Three quarters of Brazilians support the protests, according to a Datafolha poll released last week.
The choice for Brazilians is limited, reports Reuters, with next in line being vice president Michel Temer of the centrist PMDB party, whose leaders have also been involved in the Petrobras scandal.