President Otto Perez declared three days of official mourning for the tragedy, one of the deadliest in the Central American nation in years.
The bus fell 100 meters (330 feet) down the canyon, crashing next to a river in the municipality of San Martin Jilotepeque, 64 kilometers (40 miles) west of the capital, Guatemala City.
Rescue workers installed cables between the banks of the river to move the bodies on stretchers above the water, their grim task becoming more difficult as it started raining.
Local residents who rushed to the scene volunteered to help rescuers pull victims stuck in the wreckage.
The government said in a statement the cause of the accident was not immediately known and an investigation was underway following initial reports of a brake malfunction.
Survivors said the bus was overloaded when it crashed, according to local media.
The bus, owned by a company named San Martineca, had a valid license to operate, as well as insurance coverage for victims, the communication ministry said.
“Forty people were confirmed dead at the site of the accident and three more at the hospital,” Cecilio Chacaj, a fire department spokesman, told reporters.
Some victims were taken to hospitals in Guatemala City while others were treated at local hospitals.
The bus was headed to San Martin Jilotepeque from the western province of Chimaltenango.
Lawmakers said they would discuss whether legislation was needed to tighten oversight of bus companies.
Guatemala ranks fifth worst in Latin America in terms of road accidents, with 20 in 100,000 inhabitants dying in crashes in the impoverished Central American nation.