The bus careered into a 150-metre (500-foot) ravine in South Sumatra province just before midnight (1600 GMT) on Monday and ended up in a river, according to police.
Head of the local search and rescue team Berty Kowaas said divers were searching near the bus, which was half submerged.
Rescuers were also scouring nearby slopes for the missing.
"The current in the river is quite strong so there's a possibility some victims were carried away," Kowaas told Kompas TV Tuesday.
The accident happened in a remote and steep area near the town of Pagar Alam, hampering search efforts.
Footage shared by the rescue team showed bodies being retrieved out of the river and placed on stretchers.
Local police chief Dolly Gumara earlier said the bus was carrying more people than initially believed and several passengers could still be missing. No other vehicle was involved in the accident, she added.
According to a passenger manifest, the regional bus left Bengkulu province for Pagar Alam with 27 on board but some survivors told police there were around 50 people inside when the accident happened.
"Some passengers were probably added along the way so there's a possibility some more people are still missing in the river," Gumara said, adding the cause was being investigated.
Injured survivors have been taken to hospital for treatment and the cause of the accident is being investigated.
Traffic accidents are common in the Southeast Asian archipelago, where vehicles are often old and poorly maintained and road rules regularly flouted.
In September, at least 21 people died when a bus plunged into a ravine in West Java's Sukabumi region.
Several months earlier, 12 people were killed and dozens more injured when a passenger tried to wrest control of a bus steering wheel following an argument with the driver on the same toll road in West Java as Thursday's accident. The bus smashed into two cars, causing a truck to roll.