The river starts off as the Groot Marico River in the Marico Oog (Eye of Marico in Afrikaans), near Rustenburg and Swartruggens in the North West Province of South Africa.
The source of the river is a large dolomitic hole in the ground with clear water, which is also a spectacular scuba diving spot.
[6] For a stretch it is named Madikwene River, but after the Sehubyane River (Sandsloot) joins its left bank, it reverts to the name Marico.
[7] It continues flowing northwards, bending northeastwards and forming the border between South Africa and Botswana.
About 5 km short of the confluence the Notwane River joins the Limpopo from the southwest.