Spain's coast guard saved 53 migrants "in good condition" near the island of Lanzarote and another 61, including a mother and her baby, near the island of Gran Canaria, local emergency services said in a tweet.
The migrants found near Gran Canaria were all taken to hospital for "mild conditions," it added.
Spain's coast guard intercepted another boat early on Thursday with 54 migrants "in good condition" on board near Lanzarote, emergency services said.
The rescue operations came after a dinghy carrying migrants sank about 160km southeast of Gran Canaria.
The Spanish coast guard found the body of a minor and later than of a man in the area.
A Moroccan patrol boat rescued 24 people, according to Spain's coast guard, which said it did not know how many people were missing.
But Spanish non-profit group Walking Borders - which monitors migrant boats to try to help them and receives calls from people on the boats or their relatives - said 39 people had died, including four women and a baby.
The group's founder, Helena Maleno, said the migrants had waited for over 12 hours for assistance.
Spain is a major gateway for migrants seeking a better life in Europe and the number of boats heading for the Canaries from northwestern African has increased in recent days due to favorable weather conditions.
Over 1,500 migrants arrived in the Canaries during the first two weeks of June, according to interior ministry figures.
The migrant route from West Africa to the Canary Islands across the Atlantic has become more popular in recent years as authorities have cracked down on illegal migration in the Mediterranean Sea.
Over 11,200 people have died or disappeared since 2018 while trying to reach Spain by sea, according to a report published by Walking Borders at the end of 2022.