We present an algorithm to compute the eigenvalues of the Broer–Kaup (BK) system. The BK system is a system of non-linear partial differential equations that can be used as a model for weakly non-linear wave phenomena in 1+1 dimensions, such as shallow water waves in a flume. It can be seen as the natural generalization of the more familiar Korteweg–de Vries (KdV) equation. Whereas the KdV equation is only valid for waves propagating in one direction, the BK system covers waves moving simultaneously in both directions. This makes the BK system the natural candidate model for reflection analysis in shallow water conditions. Analogous to the KdV equation, the eigenvalues of the BK system each characterize a soliton, which can be moving forward or backward. In this paper, we show how the eigenvalues can be computed numerically from free surface data. Under mild and verifiable conditions, we can apply quasi Sturm–Liouville oscillation theory to guarantee that every soliton is found.