The river's headwaters are at the Caraballo Mountains of the Central Luzon at an elevation of approximately . The river flows north for some to its mouth at the Babuyan Channel near the town of Aparri, Cagayan. The river drops rapidly to above sea level some from the river mouth. Its principal tributaries are the Pinacanauan, Chico, Siffu, Mallig, Magat and Ilagan Rivers.