Rocky shoals at the edges of Puerto Ángel Bay, especially just off Playa Panteón [1], are fine for casual snorkeling. Playa Estacahuite [2], on the open ocean just beyond the bay’s east headland, is even better. Snorkel rentals are available on the beach, at both Playa Estacahuite and Playa Panteón.
Puerto Ángel [3] divers enjoy a well-equipped, professional Profundo Azul (Deep Blue) scuba diving shop (tel. 958/584-3109, azulprofundomx [at] hotmail [dot] com, www.tomzap.com/azulprofundo.html [4]) at Playa Panteón [1] (958/584-3437 at Zipolite), run by very experienced Juan José de Nova Reyes, known locally as “Chepe.” He offers snorkel trips ($15 per person), scuba dives (two tanks, for certified scuba divers, $80), and scuba instruction, from the basics (beginners, $50) all the way up to a complete open-water advanced certification course (3–5 days, $350).
Links:
[1] http://www.moon.com/destinations/oaxaca/pacific-resorts/puerto-angel/sights-and-beaches/playas-principal-and-panteon
[2] http://www.moon.com/destinations/oaxaca/pacific-resorts/puerto-angel/sights-and-beaches/playa-estacahuite
[3] http://www.moon.com/destinations/oaxaca/pacific-resorts/puerto-angel
[4] http://www.tomzap.com/azulprofundo.html