Around 25,000 protesters turned out for a fourth week of anti-government demonstrations in Belgrade, piling more pressure on the Serbian president, Aleksandar Vučić.

“This is a citizens’ demonstration against the situation in the country, which has been economically and politically complicated, even critical, for a long time,” protester Vladimir Tošić said at the rally on Saturday.

The demonstrators marched without incident or overt signs of political affiliation in the centre of the capital, with some chanting “Vučić thief”, or waving placards that said “Enough lies”.

Many blew whistles, a symbol of Serb protests since strongman Slobodan Milošević held power in the 1990s.

Vučić, a hardline nationalist-turned-European, is accused by the opposition and civil society of having established autocratic rule and total control over media, using it to campaign against opponents.

About 25,000 are estimated to have rallied in Belgrade. Photograph: Marko Đurica/Reuters

The protests represent the biggest challenge to his rule so far, and were first called by opposition parties after one of their leaders was beaten ahead of a political gathering in central Serbia last month.

The opposition Alliance for Serbia, an umbrella of parties from across the political spectrum, accused the attackers of being supporters of Vučić’s ruling Serbian Progressive party, a claim the authorities have denied.

Commenting this week on the protests, the Serbian president said he was “ready to listen to the citizens who are demonstrating but not to opposition liars”.

In its latest report on Serbia, the European parliament “strongly” encouraged authorities in Belgrade to “improve the situation regarding freedom of expression and freedom of the media”.