The Ministry of the Interior said the bodies were found in the bus, the Pacific Ocean and on the rocky beach.
Six people were hospitalized with injuries.
The accident occurred when a tractor-trailer collided with the bus, Peru transport chief Dino Escudero told state television agency Andina.
The back of the bus was hit by the truck, which caused the bus to fall off a cliff, Escudero said.
The preliminary investigation indicated that GPS showed both vehicles were going too fast, a tweet from the Ministry of Transportation and Communications said.iPhone transfer software
More than 100 firefighters were involved in rescue efforts at the crash scene, a fire official told Andina.
The crash occurred on the coastal road of Serpentin Pasamayo, Andina reported.
President Pedro Pablo Kuczynski tweeted his