According to British media reports, the protesters are among thousands of migrants who crossed into Ceuta in large numbers around two weeks ago.
Authorities estimated that more than 72,000 people entered the territory during the influx, although most later returned voluntarily to Morocco. An estimated 5,000 to 8,000 migrants are still in Ceuta.
The migrants are facing difficult conditions as limited facilities in the territory come under increasing pressure. Many are staying at El Tarampolin beach and surrounding areas, sleeping outdoors and waiting for an opportunity to reach mainland Spain.
During the protest, migrants carried Spanish flags and placards reading “We do not want to return to Morocco” and “We are human too.” They also chanted slogans including “We are tired” and “We need a solution.”
Some migrants were seen washing clothes along the rocky shoreline, while others used makeshift bamboo poles to catch fish.
Protesters said they were struggling with cold, poor sanitation and a lack of basic facilities, while police were restricting their movement into central parts of the city.