Rodrigo Duterte
Rodrigo DuterteReuters

Philippine President Rodrigo Duterte has apologized to former US president Barack Obama for calling him a "son of a whore" in 2016, which sparked a new low in their nations' long alliance.

Duterte lobbed the insult in response to steady criticism from the United States over his violent drug crackdown, which has been a target for international condemnation.

However, the Philippine president said his nation's relationship with America has since improved under President Donald Trump, who he described as a "good friend" who "speaks my language."

"It would be appropriate also to say at this time to Mr. Obama that you are now a civilian and I am sorry for uttering those words," Duterte said Sunday in a speech before Filipinos in Israel.

Duterte landed in Israel on Sunday for a four-day stay as the Philippines seeks to develop new sources of military hardware and nail down protections for its overseas workers.

After his election in mid-2016, Duterte quickly earned a reputation for using vulgar language against critics which his aides have tried to minimize or explain away.

He branded Pope Francis and the then US ambassador to Manila "sons of whores". He also fired expletives at the United Nations and during a speech in the Philippines raised his middle finger in defiance to the European parliament.

Duterte often rails at critics of his campaign to rid the Philippines of narcotics, which police say has killed 4,410 alleged drug dealers or users.

Rights groups say the actual number of dead is triple that and could amount to crimes against humanity.

Duterte cursed Obama ahead of a regional summit in Laos two years ago prompting the US to cancel a meeting between the two leaders there.

Obama later described Duterte as "a colourful guy" as he urged him to conduct his anti-narcotics campaign "the right way".