Perception is the main key in enabling robots to react to and interact with their environment. Particularly, for multi-floor operations, the robot must robustly detect and localize stairs to allow for safe climbing. In this paper, we develop a graph-based stairway detection method for point cloud data, that can detect a large variety of stairways. Our approach first segments planar regions and extracts the stair tread- and stair riser-shaped segments. With these segments, a dynamic graph model is initialized that is used to detect stairs including the railing system in the surroundings. We show that our system can accurately detect and localize different stairways from a variety of different positions, including descending stairs. Our system's accuracy is higher than those of most state-oftheart stairway detection methods even in case of sparse point cloud data.