Hundreds of people have protested against high prices in Iran's second largest city, shouting slogans denouncing President Hassan Rouhani.
Videos posted online showed a crowd in Mashhad chanting "death to Rouhani" and "death to the dictator", and police using water cannon to disperse it.
Mashhad Governor Mohammad Norouzian told local media that police confronted the "illegal" protest "with tolerance".
A number of people were held for trying to damage public property, he said.
Mr Norouzian was quoted by the official Irna news agency as saying the protest was organised via social media by "counter-revolutionary elements".
Relatively large protests in the #Iranian city of Mashhad, against corruption and inflation, after months of scattered protests in mainly #Tehran. The IMF had warned Iran about serious problems in the banking system, some of which are on the verge of collapse. pic.twitter.com/SlhBFpRMhW— Rana Rahimpour (@ranarahimpour) December 28, 2017
The editor-in-chief of the reformist news network Nazar, Payam Parhiz, wrote on Twitter that it was not clear what person or group organised the protest in Mashhad.
However, he noted that a call for "No to high prices" protests had been circulated on the messaging app Telegram.
Nazar and the semi-official Ilna news agency reported that there were also smaller protests on Thursday in Neyshabour, Kashmar, Yazd and Shahroud.
President Rouhani promised that the deal he signed with world powers in 2015, which saw Iran limit its nuclear activities in return for the lifting of international sanctions, would boost economic growth.
The economy has risen out of recession and inflation has been reduced, but businesses are still struggling from a lack of investment and the official unemployment rate is 12.4%, up 1.4% from the previous year.