It is endemic to the Philippines. Its natural habitats are subtropical or tropical moist lowland forest and subtropical or tropical moist montane forest; on Mount Kitanglad on Mindanao for example it is abundant in any kind of primary forest at least between 500 and 2,250 m ASL.