Spanish rescue services said at least seven people died after a boat hit rocks near the Canary Island of Lanzarote.
The migrant boat was carrying more than 30 people, and was one of 12 intercepted in waters of the islands overnight on Tuesday.
The Canary Islands emergency service said some 300 people were rescued from the other boats, but one died later.
Video images show rescue workers pulling men from the water in the dark, after the boat crashed into pier rocks and overturned in the Orzola area on the north of Lanzarote.
The emergency service said seven bodies from the boat were found overnight. It said search operations continued.
In the other incidents, the national rescue service and Civil Guard rescued some 300 people, including women and children, arriving to the islands in 11 boats. One person died.
The services said many of the migrants were from northwest African countries and had set sail from Morocco several days ago.
Many of the rescued were taken to the Arguineguín dock on the southwestern coast of Gran Canaria island, where several thousand people of different origin are being kept, some in tents.
Spain has promised to set up more tents to accommodate the people arriving.
More than 18,000 people fleeing poverty, violence or other circumstances at home have arrived in Spain’s Canary Islands this year, a 1,000% increase from the same period in 2019.
More than 500 have died in the attempt. Around half of those arrivals — and most of the deaths — have been in the past 30 days, a spike that has strained resources on the archipelago.