The purpose of this study is to create a bi-level programming model for the optimal bus stop spacing of a bus rapid transit (BRT) system, to ensure simultaneous coordination and consider the interests of bus companies and passengers. The top-level model attempts to optimize and determine optimal bus stop spacing to minimize the equivalent costs, including wait, in-vehicle, walk, and operator costs, while the bottom-level model reveals the relation between the locations of stops and spatial service coverage to attract an increasing number of passengers. A case study of Chengdu, by making use of a genetic algorithm, is presented to highlight the validity and practicability of the proposed model and analyze the sensitivity of the coverage coefficient, headway, and speed with different spacing between bus stops.