Some 27 bodies were found washed up on the shores of Steccato di Cutro, a seaside resort in the province of Crotone, ANSA said, adding that more bodies were spotted in the water.
The current provisional death toll of 33 will "certainly" rise, the news agency said.
"Several dead are reported among the migrants, (and) about 40 survivors," the national firefighters' department wrote on the Telegram messaging app, adding the migrants' ship had run aground by the coast.
The Adnkronos news agency said that more than 100 people were aboard the ship, while AGI, another Italian news agency, said a baby and several children were among the dead.
The vessel, bringing migrants from Iran, Pakistan and Afghanistan, crashed against rocks during rough sea weather, Adnkronos said.
The Italian coast guard, reported to be on the scene with firefighters and other police forces, was not immediately reachable for comment.
Italy is one of the main landing points for migrants trying to enter Europe by sea. The so-called central Mediterranean route is known as one of the world's most dangerous.
According to the International Organization for Migration's Missing Migrants Project, 20,333 people have died or gone missing in the central Mediterranean since 2014.