One officer was injured in the running battles between the about 3 000 people and the police.
Chaos broke out in the morning when the residents gathered near the provincial traffic office and burnt tyres. They were demanding the delivery of basic services.
Police spokesperson FC van Wyk said protestors pelted stones at the Vredenburg police station and damaged vehicles.
He said the 38 people arrested on charges of public violence were between the ages of 20 and 59.