Las aguas que discurren por este río parten desde las lagunas de Villafro y Huarahuarco, en las alturas de la Cordillera de Vilcanota, a más de 3000 metros sobre el nivel del mar. Este río posee dos zonas bien definidas: el alto Apurímac, torrentoso y de cauce estrecho, y el bajo Apurímac, calmado y de cauce ancho.