Le canton n° 2 (Argentat) comprend les communes suivantes : Albussac, Altillac, Argentat, Auriac, Bassignac-le-Bas, Bassignac-le-Haut, Camps-Saint-Mathurin-Léobazel, La Chapelle-Saint-Géraud, Darazac, Forgès, Goulles, Hautefage, Mercœur, Monceaux-sur-Dordogne, Neuville, Reygade, Rilhac-Xaintrie, Saint-Bonnet-Elvert, Saint-Bonnet-les-Tours-de-Merle, Saint-Chamant, Saint-Cirgues-la-Loutre, Saint-Geniez-ô-Merle, Saint-Hilaire-Taurieux, Saint-Julien-aux-Bois, Saint-Julien-le-Pèlerin, Saint-Martial-Entraygues, Saint-Privat, Saint-Sylvain, Servières-le-Château, Sexcles.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune d'Argentat.