The official MAP news agency said that there were numerous attempts to reach Spain early Friday and late Thursday. Those rescued were taken to the coastal cities of Nador and Ksar Sghir. A military official said that women and unaccompanied minors were among the 330 rescued. The official wasn't authorized to speak publicly, asking to remain anonymous.
With the route across the Mediterranean from Libya to Italy increasingly choked off, Morocco has become the major passage point for African migrants trying to get to Europe. Morocco has stopped about 25,000 migrants trying to reach Spain so far this year, mainly via the Strait of Gibraltar. There are no official death figures.
German humanitarian group Sea-Eye says one of its rescue ships has picked up 65 people who were found in a large dinghy about 34 miles (55 kms) off the coast of Libya.
Sea-Eye said on its Facebook page that the crew of the Alan Kurdi brought the African migrants on board their vessel early Friday. It says Libyan authorities failed to respond to communication for more than three hours.
The Alan Kurdi is a German-flagged vessel, unlike the Dutch-flagged Sea-Watch 3 that became embroiled in an international incident with Italy last week.
The captain of the Sea-Watch 3, a German, forced her way into the Italian port of Lampedusa last week in defiance of Italy's anti-migrant interior minister.
It was unclear whether the Alan Kurdi will try to dock in Italy, too.
The Council of Europe is urging European governments to rescue migrants at sea instead of leaving the job to aid groups and Libyan authorities.
The continent's human rights watchdog released 35 recommendations to governments to balance the need to protect borders and prevent torture or other rights violations.
Council of Europe commissioner Dunja Mijatovic says member states "must assume more responsibility for rescuing migrants at sea, protect migrants' rights and must avoid punishing NGOs. Saving lives is not a crime."
Mijatovic assailed increasingly strict European migration policies and European countries' failure to share responsibility for migrants.
The statement came amid a new standoff between Italy's populist government and a humanitarian rescue ship. Italy's government argues it has been unfairly stuck with the burden of managing arrivals from Africa to Europe.
Earlier this week, more than 100 migrants were killed in a drowning off Tunisia and an airstrike on a migrant detention center in Libya.
An Italian humanitarian group is refusing to bring 54 migrants rescued at sea to Malta because of the distance and psychological conditions of those on board one of its ships, which is being barred from docking in Italy.
Mediterranea Saving Humans tweeted Friday that its ship was off Lampedusa, just outside Italian territorial waters, and that it has been banned from entering Italian jurisdiction by ministerial decree. The migrants were rescued from a rubber dinghy Thursday off Libya.
The NGO said the decree is unlawful because it can't be applied to a ship carrying people rescued at sea, and because Italy can't ban an Italian-flagged ship from entering its waters.
Malta says it will take the migrants in a deal with Italy to take an equal number already in Malta.