Thousands of demonstrators marched in Mexico City to protest against violent crime and President Claudia Sheinbaum's government.

The rally was organised by Gen Z youth groups, drawing support from citizens protesting high-profile killings, including the assassination just weeks ago of Uruapan Mayor Carlos Manzo - who had called for tough action against cartels.

President Sheinbaum said the marches, which took place in other cities, had been funded by right-wing politicians who oppose her government.

On Saturday demonstrators dismantled parts of a barrier protecting the National Palace, where Sheinbaum lives. Police protecting the compound used tear gas on the crowds.

Protesters waved banners displaying messages including We are all Carlos Manzo, and others wore cowboy hats in tribute to him. Manzo was shot on November 1 while he attended a Day of the Dead festival and was known for speaking openly about drug-trafficking gangs in his town and cartel violence.

He had been demanding tough action against armed cartel members who terrorise the country. President Sheinbaum has been acting against cartels but resisting calls for another all-out war on drugs, acknowledging the bloody consequences of past initiatives.

Days before the march, the president suggested the demonstration was promoted by online bots, stating, We agree with freedom of expression and freedom of demonstration if there are young people who have demands, but the issue here is who is promoting the demonstration. She highlighted the importance of transparency in the organization of the protests.

Despite Sheinbaum's approval ratings remaining above 70% in her first year, she faces criticism for not effectively curbing the violence gripping Mexico.

The scrutiny extends beyond national borders, as Peruvian Congress recently declared Sheinbaum a persona non grata over diplomatic tensions, particularly after her administration granted asylum to a former Peruvian prime minister involved in a coup attempt.