According to media reports, one gunman and his co-passenger, from black Alfa Romeo 147 car, sprayed a lot of bullets in various places at about 11 am (local time).
The Italian police gave a chase to the car and later caught the gunman while the passenger has fled and the police were trying to trace him.
Police authorities said the attack appears to be "racially motivated". The suspect had an Italian flag wrapped around his neck when he was apprehended by the police.
Some local media reports said at least six migrants were injured. However, this has not yet been confirmed. The injured were being treated at a local hospital.
"Shots fired in Macerata. People injured. Police operation underway. Stay out of the way and avoid open places," the Italian police wrote on Twitter and Facebook respectively.
The incident comes days after an 18-year-old girl's body was found cut up and hidden in two suitcases on Wednesday. A Nigerian man had been detained over the girl's murder. (ANI)