A boat carrying nearly 100 people sank in the waters off North Maluku province of eastern Indonesia on Thursday.

Rescuers recovered four bodies and were searching for missing persons, a local disaster management agency official said.

At least 77 people were rescued and were being treated at a nearby hospital for injuries, the official told Xinhua news agency via phone.

The boat, KM Karamando, was headed for Jailolo sub-district of Halmahera Barat district after departing from a seaport in Ternate town, the official said.

"The boat suffered engine failure when huge waves and strong winds hit the waters," he said.

Ten children were among the people on board, the official added.