At least six people were dead and 31 missing after a tourist boat sank in a reservoir in northwestern Colombia on Sunday, the country's president said.

Authorities did not yet say what caused the four-deck Almirante to go down in the El Penol reservoir in the tourist town of Guatape, where Colombian and foreign tourists take leisure cruises.

There are "six people deceased so far and 31 reported missing," Santos told reporters in Guatape, after the regional government earlier gave a death toll of at least nine.

An official in the National Risk Management Unit, Carlos Ivan Marquez, confirmed the toll of six separately to AFP. He said they were "all Colombians, and no minors."

Regional authorities said the boat was carrying 170 people, most of whom were rescued by other boats or escaped by themselves.

'Not enough life jackets for everyone on board'

"It sank extremely quickly. It all happened in a few minutes," said a fire service captain involved in the rescue effort, Luis Bernardo Morales.

One helicopter from the air force and two from the army went to help in rescue operations, the military said.

The reservoir is 68 kilometers (40 miles) from the city of Medellin and is one of Antioquia department's main tourist draws.

'Crowded' decks

One woman who survived, Laura Baquero, said on television that the two lower decks were "too crowded" and the passengers were not wearing lifejackets.

"We started to feel like the boat was going to capsize," she said.

She said there were "lots of children" on board.

Santos said he had been told "the boat had a capacity greater than the number of people on board, so that it was not due to overloading" that it sank.

He said naval experts had come to investigate the cause and divers would continue searching for people all night.

The Antioquia regional government said on Twitter that 24 people caught in the wreck were being treated in hospital.

Video circulating on social media showed the ship going down and dozens of other vessels approaching it to try to rescue people.

"What we have seen in the videos is that the boat was very close to the port... and we do not know whether it was a mechanical failure, an overloading or something to do with the currents that caused it to sink," said Morales, the fire captain.

He said rescuers were having difficulty reaching the reservoir by road due to heavy traffic on the major Medellin-Bogota highway.

Holiday weekend

Guatape fills with tourists on long weekends like this one, since Monday is a holiday in Colombia.

Visitors come for one- or two-hour cruises on the reservoir and to fish and jet-ski.

The national fire service said it was dispatching firefighters from six towns to help.

Medellin's mayor Federico Gutierrez said he was sending a team led by a firefighting crew captain and five scuba divers.

"The area is a bit difficult to reach and various rescue and emergency teams have started joining in," he said on Blu Radio.