Beekprik komt in Europa voor in riviersystemen die op de Noordzee, Baltische Zee en Oostzee afwateren. Ook in het zuiden van Portugal en de westflank van Italië komen populaties voor. Het leefgebied bevindt zich in beken en riviertjes. In Nederland komt de beekprik voor in enkele relatief natuurlijk beken met een goede waterkwaliteit in de provincies Gelderland, Overijssel, Noord-Brabant en Limburg. In Noord-Brabant is de soort op diverse locaties geherintroduceerd.