The coach plunged around 100 meters (330 feet) over a seaside cliff on Tuesday after a collision with a truck on a precarious stretch known as the "devil's curve."
It had been travelling from Huacho, 130 kilometers (80 miles) north of the capital, to Lima with 55 passengers registered and two crew on board. The vehicle landed upside down on rocks at the edge of the sea.
"We have finished the painful task of recovering the bodies. Fifty bodies have been recovered from the accident," the regional head of Lima's health service, Felic Palomo, told radio station RPP.
"They have been identified by their next of kin," he said.
Efforts to get at the bodies were suspended Tuesday night because the tide had risen and reached the bus, the police said.
More than 200 workers from the police, army and navy took part in the rescue and recovery effort. A police helicopter had to winch some rescue workers to the wreck of the blue bus while others made the precarious journey down on foot with the assistance of ropes.
Crews were still at the scene to ascertain whether any more bodies remained in the crushed bus.
There were six survivors, all injured. But most on board perished.
One passenger, Maximo Jimenez, 24, saved himself by jumping through a window on the bus just as he saw it careen off the road.
He suffered a broken arm and took himself to hospital in a taxi, according to doctors who treated him.
Dino Escudero, head of the traffic police, told reporters that a crane was being brought in to haul up the wrecked bus.
"Hopefully there will be no other bodies," said a police commander, Victor Rucoba.
President Pedro Pablo Kuczynski wrote on Twitter that "it is very painful to suffer an accident of this magnitude." He expressed his sympathies with the relatives of those killed.
Pope Francis, who is scheduled to visit Peru later this month, sent his condolences. He asked for "eternal rest for the deceased," said Cardinal Pietro Parolin, the Vatican secretary of state.
The accident took place on a coastal highway about 45 kilometers north of Lima, said Colonel Dino Escudero, head of the police highway patrol division.
The Pasamayo highway on which the tragedy occurred is only used by trucks and buses, as cars travel a different route.
It is a dangerous sea-hugging road where fog is frequent and high humidity can make the roadway slippery.
The bus driver had a lot of experience and was working with an assistant, said Luis Martinez, a representative of Transportes San Martin de Porres, which owned the bus.
Martinez could not confirm whether the driver had been killed or injured, but added that the bus underwent a mechanical check before leaving Huacho.
More than 2,600 people died in traffic accidents in Peru in 2016, according to the latest available official figures.
(This story has not been edited by NDTV staff and is auto-generated from a syndicated feed.)
Get Breaking news, live coverage, and Latest News from India and around the world on NDTV.com. Catch all the Live TV action on NDTV 24x7 and NDTV India. Like us on Facebook or follow us on Twitter and Instagram for latest news and live news updates.