Philippine president Rodrigo Duterte is warning US Special Forces to clear out of the southern Philippines, fearing Abu Sayyaf, the terrorist group that beheaded two Canadian hostages, could also target Americans.

"Americans, they will really kill them, they will try to kidnap them to get ransom," he said in a speech on Monday.

In April, Abu Sayyaf militants who have pledged allegiance to the Islamic State hiding in the southern Philippines beheaded John Ridsdel, a Canadian who was kidnapped alongside another Canadian, Robert Hall, a Norwegian and a Filipina at a marina resort in September.

Then, following demands for an $8-million ransom that went unpaid, the group dealt the same fate to the second Canadian hostage, Hall.

The deaths of the two Canadians triggered strong words from Prime Minister Justin Trudeau, who doubled-down on Canada's policy against paying ransoms to terrorists — a policy the US also holds publicly.

US troops are currently aiding the Philippine military in the Mindanao region — Abu Sayyaf's stronghold — but Duterte, who was elected on a platform that included eradicating Abu Sayyaf, wants the Americans out.

"The special forces, they have to go," he said. "They have to go in Mindanao. There are many whites there."

"If they see an American, they would kill him. They would demand ransom then kill him. Even if you're a black or white American, as long as you are an American, [they will kill you]," he said, according to local news outlet PhilStar.

"The situation there [in the Mindanao region] will worsen. If [Americans] are seen there, they will be killed."

Duterte's comments come a week after he called US President Barack Obama a "son of a bitch" in Tagalog following a reporter's question about his support for thousands of extrajudicial killings of suspected drug dealers.

Obama responded by cancelling a meeting with Duterte. The Philippine president's office later expressed "regret" for his comments.

Duterte and Obama both attended the Association of Southeast Asian Nations summit in Laos last week, but Duterte waited until the Monday after the summit to deliver his thoughts on the American troops.

"I could not speak then out of respect and I do not want a rift with America, but [the troops] have to go," he said, according to PhilStar.