While Cyprus is not one of the main routes for migrants to reach Europe, thousands do enter the island each year and Amnesty accused the government of using detention as a way of discouraging the flow.
"By detaining scores of people for months at a time, Cyprus is displaying a chilling lack of compassion and a complete disregard for its international obligations," said Sherif Elsayed-Ali, head of refugee and migrants' rights at Amnesty.
Cypriot authorities were not immediately available for comment, but have in past said they fully comply with international requirements on refugees.
The rights group highlighted the plight of Syrians fleeing civil war.
"It is incomprehensible that the Cypriot authorities are detaining Syrian nationals ... when it is Cyprus' official policy not to return Syrians to Syria," Elsayed-Ali said. "We can only conclude that the detention of Syrian nationals is intended to send a message to other Syrians that they are not welcome in Cyprus."