I 1017 overtok Mahmud av Ghazni byen Rey. De fleste forskere, heriblant al-Biruni, ble tatt med til Ghazna, hovedstaden i det ghaznavidiske dynasti. Biruni ble gjort til astrolog og ledsaget Mahmud på hans invasjoner i India, og bodde der i et par år. Biruni ble godt kjent med India. Han kan kanskje også ha lært seg noe sanskrit. I denne periode skrev han , og ble ferdig med det omkring 1030.