While fish use continuous and flexible bodies to propel themselves, fish robots are often made from interconnected segments. How many segments do robots need to represent fish movements accurately? We propose a new method to automatically determine parsimonious robot models from actual fish data. We first identify key bending points (i.e., joint positions) along the body and then study the concerted movement of the segments so that the difference between actual fish and modelled bending kinematics is minimized. To demonstrate the utility of our method, we analyse the steady swimming kinematics of 10 morphologically distinct fish species. Broadly classified as sub-carangiform (e.g., rainbow trout) and carangiform (e.g., crevalle jack) swimmers, these species exhibit variations in the way they undulate when traditional parameters (including head and tail beat amplitudes, body wavelength and maximum curvature along the body) are considered. We show that five segments are sufficient to describe the kinematics with at least 99% accuracy. For optimal performance, segments should progressively get shorter towards the tail. We also show that locations where bending moments are applied vary among species, possibly because of differences in morphology. More specifically, we find that wider fish have shorter head segments. We discover that once bending points are factored in, the kinematics differences observed in these species collapse into a single undulatory pattern. The amplitude and timing of how body segments move entirely depend on their respective joint positions along the body. Head and body segments are also coupled in a timely manner, which depends on the position of the most anterior joint. Our findings provide a mechanistic understanding of how morphology relates to kinematics and highlight the importance of head control, which is often overlooked in current robot designs.