Saint-Gérand-le-Puy est une commune rurale du département Allier, en Auvergne-Rhône-Alpes, avec 963 habitants — les Saint-Gérandais Saint-Gérandaises. Sur 20,0 km² de territoire, la densité atteint 48 habitants au km², à une altitude moyenne de 311 m. La commune fait partie de l'intercommunalité CC Entr'Allier Besbre et Loire.
La population est en recul (-5,9 % en 10 ans). Le revenu médian s'établit à 20 990 € par an et par unité de consommation. Le taux de chômage local est de 8,8 %, dans la moyenne nationale. 63 entreprises actives structurent le tissu économique local.
Côté immobilier, comptez en moyenne 1 357 €/m² pour une maison et 2 688 €/m² pour un appartement (données DVF). Le climat est tempéré frais (moyenne annuelle de 11,7 °C, 1 892 h de soleil par an). Patrimoine local : 1 monument historique. 2 établissements scolaires présents sur la commune.